170 lines
9.3 KiB
SQL
170 lines
9.3 KiB
SQL
-- =====================================================================
|
||
-- 空运提单:镜像表 + 每日 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()');
|