Files
BMS/bms-back/sql/price/srv_bill_air_tables.sql
2026-11-03 17:50:35 +08:00

170 lines
9.3 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =====================================================================
-- 空运提单:镜像表 + 每日 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()');