-- ===================================================================== -- 空运提单:镜像表 + 每日 02:00 同步任务(生产库执行) -- 来源:Oracle WEISHI_USER.TAB_BILL_AIR,按 guid / bill_code 1:1 拆分 -- 相关脚本(可选执行): -- sql/price/air_bill_type_dict.sql -- sql/price/air_bill_menu.sql -- ===================================================================== SET NAMES utf8mb4; CREATE TABLE IF NOT EXISTS `srv_bill_air` ( `guid` varchar(64) NOT NULL COMMENT '主键', `bill_code` varchar(64) NOT NULL COMMENT '提单号', `bill_type` int(11) DEFAULT NULL COMMENT '提单类型', `bl_status` int(11) DEFAULT NULL COMMENT '状态', `warning_status` tinyint(4) DEFAULT NULL COMMENT '预警状态', `warning_count` int(11) DEFAULT NULL COMMENT '预警次数', `start_airport` varchar(64) DEFAULT NULL COMMENT '始发机场', `end_airport` varchar(64) DEFAULT NULL COMMENT '目的机场', `des_port` varchar(64) DEFAULT NULL COMMENT '目的港', `route_name` varchar(64) DEFAULT NULL COMMENT '航线名称', `air_type` varchar(64) DEFAULT NULL COMMENT '空运类型', `piece_number` int(11) DEFAULT NULL COMMENT '总件数', `volume` decimal(20,3) DEFAULT NULL COMMENT '总体积', `actual_weight` decimal(20,2) DEFAULT NULL COMMENT '实际重量', `actual_volume` decimal(20,3) DEFAULT NULL COMMENT '实际体积', `volume_weight` decimal(20,3) DEFAULT NULL COMMENT '体积重', `air_company` varchar(64) DEFAULT NULL COMMENT '航空公司', `send_man_code` varchar(64) DEFAULT NULL COMMENT '发货人编码', `accept_man_code` varchar(64) DEFAULT NULL COMMENT '收货人编码', `data_from` varchar(64) DEFAULT NULL COMMENT '数据来源', `create_man_code` varchar(64) DEFAULT NULL COMMENT '创建人工号', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `modifier_code` varchar(64) DEFAULT NULL COMMENT '修改人工号', `modify_time` datetime DEFAULT NULL COMMENT '修改时间', `remark` varchar(500) DEFAULT NULL COMMENT '总备注', PRIMARY KEY (`guid`), UNIQUE KEY `uk_bill_code` (`bill_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='空运提单主表'; CREATE TABLE IF NOT EXISTS `srv_bill_air_finance` ( `guid` varchar(64) NOT NULL COMMENT '主键', `bill_code` varchar(64) NOT NULL COMMENT '提单号', `bl_check` tinyint(4) DEFAULT NULL COMMENT '是否核对', `check_remark` varchar(64) DEFAULT NULL COMMENT '核对备注', `bl_confirm` int(11) DEFAULT NULL COMMENT '是否确认', `confirm_man_code` varchar(64) DEFAULT NULL COMMENT '确认人工号', `confirm_time` datetime DEFAULT NULL COMMENT '确认时间', `price` decimal(20,2) DEFAULT NULL COMMENT '单价', `amount` decimal(20,2) DEFAULT NULL COMMENT '金额', `calc_exp` varchar(64) DEFAULT NULL COMMENT '应付计算', `calc_re` varchar(64) DEFAULT NULL COMMENT '应收计算', `price_remark` varchar(128) DEFAULT NULL COMMENT '价格备注', `baoguan_fee` decimal(20,4) DEFAULT NULL COMMENT '报关费', `baoguan_other_fee` decimal(20,4) DEFAULT NULL COMMENT '报关其他费用', `stock_fee` decimal(20,4) DEFAULT NULL COMMENT '仓储费', `des_port_agent_fee` decimal(20,4) DEFAULT NULL COMMENT '目的港代理费', `air_other_fee` decimal(20,4) DEFAULT NULL COMMENT '空运其他费用', `other_fee` decimal(20,4) DEFAULT NULL COMMENT '其他费用', `compensate_remark` varchar(64) DEFAULT NULL COMMENT '索赔备注', `charge_man_code` varchar(64) DEFAULT NULL COMMENT '计费人工号', PRIMARY KEY (`guid`), UNIQUE KEY `uk_bill_code` (`bill_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='空运提单财务费用表'; CREATE TABLE IF NOT EXISTS `srv_bill_air_flight` ( `guid` varchar(64) NOT NULL COMMENT '主键', `bill_code` varchar(64) NOT NULL COMMENT '提单号', `air_no` varchar(64) DEFAULT NULL COMMENT '航班号', `actual_air_no` varchar(64) DEFAULT NULL COMMENT '实际航班号', `air_ompany_agent` varchar(128) DEFAULT NULL COMMENT '航空公司代理', `des_port_agent_code` varchar(64) DEFAULT NULL COMMENT '目的港代理编码', `board_no` varchar(64) DEFAULT NULL COMMENT '板号', `band_box_count` int(11) DEFAULT NULL COMMENT '打板箱数', `band_volume` decimal(20,2) DEFAULT NULL COMMENT '打板体积', `band_box_weight` decimal(20,2) DEFAULT NULL COMMENT '打板重量', `divisor_value` decimal(20,3) DEFAULT NULL COMMENT '体积系数', `first_landing_time` datetime DEFAULT NULL COMMENT '首程落地时间', `second_takeoff_time` datetime DEFAULT NULL COMMENT '二程起飞时间', `air_delay_time` datetime DEFAULT NULL COMMENT '航班延误时间', `trunk_destinations` varchar(64) DEFAULT NULL COMMENT '干线目的地', PRIMARY KEY (`guid`), UNIQUE KEY `uk_bill_code` (`bill_code`), KEY `idx_air_no` (`air_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='空运航班干线表'; CREATE TABLE IF NOT EXISTS `srv_bill_air_op` ( `guid` varchar(64) NOT NULL COMMENT '主键', `bill_code` varchar(64) NOT NULL COMMENT '提单号', `bl_retrieval` tinyint(4) DEFAULT NULL COMMENT '是否提货', `retrieval_date` datetime DEFAULT NULL COMMENT '提货日期', `retrieval_man_code` varchar(64) DEFAULT NULL COMMENT '提货人工号', `pick_box_count` int(11) DEFAULT NULL COMMENT '提货箱数', `pick_count_real` int(11) DEFAULT NULL COMMENT '实际提货件数', `declare_code` varchar(64) DEFAULT NULL COMMENT '报关公司编码', `clearance_code` varchar(64) DEFAULT NULL COMMENT '清关编码', `qingguan_agent` varchar(64) DEFAULT NULL COMMENT '清关代理', `clearance_op_code` varchar(64) DEFAULT NULL COMMENT '清关操作人工号', `stock_addr` varchar(64) DEFAULT NULL COMMENT '出仓仓库地址', `stock_out_remark` varchar(500) DEFAULT NULL COMMENT '出库备注', `deliver_count` int(11) DEFAULT NULL COMMENT '派送件数', `first_deliver_count` int(11) DEFAULT NULL COMMENT '首批派送件数', `last_deliver_count` int(11) DEFAULT NULL COMMENT '末批派送件数', `ac_deliver_diff` varchar(64) DEFAULT NULL COMMENT '派送差异', `deliver_end_diff` varchar(64) DEFAULT NULL COMMENT '派送完成差异', `check_order_count` int(11) DEFAULT NULL COMMENT '查验订单数', `check_leave_count` int(11) DEFAULT NULL COMMENT '查验放行数', `internal_check_time` datetime DEFAULT NULL COMMENT '内部查验时间', PRIMARY KEY (`guid`), UNIQUE KEY `uk_bill_code` (`bill_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='空运提单操作派送表'; CREATE TABLE IF NOT EXISTS `srv_bill_air_track` ( `guid` varchar(64) NOT NULL COMMENT '主键', `bill_code` varchar(64) NOT NULL COMMENT '提单号', `start_time_plan` datetime DEFAULT NULL COMMENT '计划起飞时间', `arrive_time_plan` datetime DEFAULT NULL COMMENT '计划到达时间', `shipping_date` datetime DEFAULT NULL COMMENT '发货日期', `start_time` datetime DEFAULT NULL COMMENT '起飞时间', `arrive_time` datetime DEFAULT NULL COMMENT '到达时间', `arrive_stock_time` datetime DEFAULT NULL COMMENT '到仓时间', `clearance_time` datetime DEFAULT NULL COMMENT '清关时间', `end_oprate_time` datetime DEFAULT NULL COMMENT '结束操作时间', `bl_bgfx` tinyint(4) DEFAULT NULL, `bgfx_time` datetime DEFAULT NULL, `update_time_bgfx` datetime DEFAULT NULL, `bl_sjqf` tinyint(4) DEFAULT NULL, `sjqf_time` datetime DEFAULT NULL, `update_time_sjqf` datetime DEFAULT NULL, `bl_sjdd` tinyint(4) DEFAULT NULL, `sjdd_time` datetime DEFAULT NULL, `update_time_sjdd` datetime DEFAULT NULL, `bl_tzdc` tinyint(4) DEFAULT NULL, `tzdc_time` datetime DEFAULT NULL, `update_time_tzdc` varchar(64) DEFAULT NULL, `bl_thdc` tinyint(4) DEFAULT NULL, `thdc_time` datetime DEFAULT NULL, `update_time_thdc` datetime DEFAULT NULL, `bl_qgwc` tinyint(4) DEFAULT NULL, `qgwc_time` datetime DEFAULT NULL, `update_time_qgwc` datetime DEFAULT NULL, `bl_gxfc` tinyint(4) DEFAULT NULL, `gxfc_time` datetime DEFAULT NULL, `update_time_gxfc` varchar(64) DEFAULT NULL, `bl_fjh` tinyint(4) DEFAULT NULL, `fjh_time` datetime DEFAULT NULL, `update_time_fjh` varchar(64) DEFAULT NULL, `bl_track_gen_bg` tinyint(4) DEFAULT NULL, `bl_track_gen_bgfx` tinyint(4) DEFAULT NULL, `bl_track_gen_qf` tinyint(4) DEFAULT NULL, `bl_track_gen_dd` tinyint(4) DEFAULT NULL, `bl_track_gen_qg` tinyint(4) DEFAULT NULL, `bl_track_gen_dc` tinyint(4) DEFAULT NULL, PRIMARY KEY (`guid`), UNIQUE KEY `uk_bill_code` (`bill_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='空运提单时效轨迹表'; -- ---------------------------- -- 定时任务:老系统 Oracle TAB_BILL_AIR -> srv_bill_air* 提单每日同步 -- 调用目标:billAirSyncTask.syncFromOracle() -- cron 0 0 2 * * ? = 每天 02:00:00;concurrent=1 禁止并发;misfire=3 放弃错过的执行 -- 幂等:按 guid upsert,可重复执行 -- ---------------------------- INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark) SELECT N'老系统空运提单每日同步', 'DEFAULT', 'billAirSyncTask.syncFromOracle()', '0 0 2 * * ?', '3', '1', '0', 'admin', NOW(), N'每天02:00从Oracle(WEISHI_USER.TAB_BILL_AIR,只读账号)全量同步到srv_bill_air/finance/flight/op/track;按guid upsert,可重复执行' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_job WHERE invoke_target = 'billAirSyncTask.syncFromOracle()');