Files
msgexchange-v2/deploy/integration/seed-flight.sql
T

180 lines
11 KiB
PL/PgSQL
Raw Normal View History

-- =====================================================================
-- deploy/integration/seed-flight.sqlACM2-76
-- 联调栈航班当前态种子:手动执行,前置条件是应用以 MSGX_FLYWAY_ENABLED=true
-- 启动过一次(V1 基线已应用)。双流 T2 语境人造数据,运营日 2026-09-20。
--
-- 幂等:主表 FLIGHT_SCHD 用 ON CONFLICT (FLID) DO UPDATEOPERATION_DAY 按
-- INV-12 非空后不可改变,只补空不覆盖);明细表主键是 (FLID, ORDINAL)
-- (路线点含 ROUTE_KIND),FLID 上无唯一约束,故按 FLID 先删后插(INV-14
-- 的完整合并口径)。CREATED_AT/UPDATED_AT 为 NOT NULL,显式给值。
-- 只写决策层(FLIGHT_SCHD + 明细),不碰管道层(PROC_STATE/MSG_EVENT/
-- INBOX_CURSOR/PIPELINE_LOCK/REQ_TRACK/SCHD_SNAP_LOG)。
-- 执行:psql -h 127.0.0.1 -p 15432 -U msgx_dev -d msgx -f 本文件
-- =====================================================================
BEGIN;
DELETE FROM FLIGHT_GATE WHERE FLID IN ('90001','90002','90003','90004','90005','90006','90007','90008');
DELETE FROM FLIGHT_CHECKIN WHERE FLID IN ('90001','90002','90003','90004','90005','90006','90007','90008');
DELETE FROM FLIGHT_BELT WHERE FLID IN ('90001','90002','90003','90004','90005','90006','90007','90008');
DELETE FROM FLIGHT_STAND_PLAN WHERE FLID IN ('90001','90002','90003','90004','90005','90006','90007','90008');
DELETE FROM FLIGHT_CHUTE WHERE FLID IN ('90001','90002','90003','90004','90005','90006','90007','90008');
DELETE FROM FLIGHT_DELAY WHERE FLID IN ('90001','90002','90003','90004','90005','90006','90007','90008');
DELETE FROM FLIGHT_ROUTE_POINT WHERE FLID IN ('90001','90002','90003','90004','90005','90006','90007','90008');
-- 主行 upsert。OPERATION_DAY 只补空不覆盖(INV-12);STATE_VERSION 重置为 1
-- 仅是测试种子语义,真实链路由处理写入推进。
INSERT INTO FLIGHT_SCHD (
FLID, OPERATION_DAY, STATE, STATE_VERSION, LAST_MSG_ID,
ALCD, FLNO, MVIN, SODT, FLTY, FLIN, ACFT, RENO, TRML, MAXP,
CSOP, CSFT, MAID, TAOP, TAFL, TAID,
ESTT, ACTT, STND, PHAG, CNCL, REMC,
CREATED_AT, UPDATED_AT
) VALUES
-- ① 进港:CA4418 CAN→CTU,已落地,转盘 3、机位 108
('90001', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'CA', 'CA4418', 'A', '20SEP261400', 'S', 'D', '77W', 'B-2006', 'T2', '294',
NULL, NULL, NULL, NULL, NULL, NULL,
NULL, '20SEP261412', '108', '10002', NULL, NULL,
now(), now()),
-- ② 离港:3U8881 CTU→PEK,柜台 C01/C02、登机门 D05、滑槽 CH03、机位 101
('90002', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'3U', '3U8881', 'D', '20SEP261630', 'S', 'D', '320', 'B-8690', 'T2', '158',
NULL, NULL, NULL, NULL, NULL, NULL,
'20SEP261630', NULL, '101', '10001', NULL, NULL,
now(), now()),
-- ③ 主/共享对·主航班:CA1858 CTU→SZX
('90003', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'CA', 'CA1858', 'D', '20SEP261830', 'S', 'D', '321', 'B-8691', 'T2', '199',
NULL, NULL, NULL, NULL, NULL, NULL,
'20SEP261830', NULL, '102', '10002', NULL, NULL,
now(), now()),
-- ③ 主/共享对·共享航班:3U1858 挂主航班 CA1858MAID/CSOP/CSFT
('90004', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'3U', '1858', 'D', '20SEP261830', 'S', 'D', '321', NULL, 'T2', '199',
'CA', 'CA1858', '90003', NULL, NULL, NULL,
'20SEP261830', NULL, '102', NULL, NULL, NULL,
now(), now()),
-- ④ 延误进港:SQ8351 SIN→CTU,预计延后 2 小时并带 DELY
('90005', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'SQ', 'SQ8351', 'A', '20SEP260930', 'S', 'I', '359', 'B-306N', 'T2', '288',
NULL, NULL, NULL, NULL, NULL, NULL,
'20SEP261130', NULL, '107', '10002', NULL, 'Catering Delay',
now(), now()),
-- ⑤ 取消离港:EU2230 CTU→KMGCNCL 记取消时间,STATE 仍 ACTIVE
('90006', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'EU', 'EU2230', 'D', '20SEP260800', 'S', 'D', 'ARJ', 'B-1115', 'T2', '78',
NULL, NULL, NULL, NULL, NULL, NULL,
'20SEP260800', NULL, NULL, '10002', '20SEP260730', NULL,
now(), now()),
-- ⑥ 过站进港:3U3210 KMG→CTU,连线后续航班 3U3211
('90007', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'3U', '3U3210', 'A', '20SEP261000', 'S', 'D', '320', 'B-2345', 'T2', '162',
NULL, NULL, NULL, '3U', '3U3211', '90008',
'20SEP261000', '20SEP261007', '103', '10001', NULL, NULL,
now(), now()),
-- ⑥ 过站后续离港:3U3211 CTU→HGH
('90008', DATE '2026-09-20', 'ACTIVE', 1, NULL,
'3U', '3U3211', 'D', '20SEP261155', 'S', 'D', '320', 'B-2345', 'T2', '162',
NULL, NULL, NULL, NULL, NULL, NULL,
'20SEP261155', NULL, '103', '10001', NULL, NULL,
now(), now())
ON CONFLICT (FLID) DO UPDATE SET
STATE = EXCLUDED.STATE,
STATE_VERSION = EXCLUDED.STATE_VERSION,
LAST_MSG_ID = EXCLUDED.LAST_MSG_ID,
ALCD = EXCLUDED.ALCD,
FLNO = EXCLUDED.FLNO,
MVIN = EXCLUDED.MVIN,
SODT = EXCLUDED.SODT,
FLTY = EXCLUDED.FLTY,
FLIN = EXCLUDED.FLIN,
ACFT = EXCLUDED.ACFT,
RENO = EXCLUDED.RENO,
TRML = EXCLUDED.TRML,
MAXP = EXCLUDED.MAXP,
CSOP = EXCLUDED.CSOP,
CSFT = EXCLUDED.CSFT,
MAID = EXCLUDED.MAID,
TAOP = EXCLUDED.TAOP,
TAFL = EXCLUDED.TAFL,
TAID = EXCLUDED.TAID,
ESTT = EXCLUDED.ESTT,
ACTT = EXCLUDED.ACTT,
STND = EXCLUDED.STND,
PHAG = EXCLUDED.PHAG,
CNCL = EXCLUDED.CNCL,
REMC = EXCLUDED.REMC,
UPDATED_AT = now(),
-- OPERATION_DAY 非空后不可改变(INV-12):只补空
OPERATION_DAY = COALESCE(FLIGHT_SCHD.OPERATION_DAY, EXCLUDED.OPERATION_DAY);
-- ① 90001 进港明细:转盘、计划机位、航线
INSERT INTO FLIGHT_BELT (FLID, ORDINAL, SOURCE_SEQ, BELT, BCLS, PCOT, PCCT, FBAG, LBAG, BTYP, CREATED_AT, UPDATED_AT) VALUES
('90001', 1, '1', '3', 'X', '20SEP261405', '20SEP261455', '20SEP261418', '20SEP261450', 'D', now(), now());
INSERT INTO FLIGHT_STAND_PLAN (FLID, ORDINAL, SOURCE_SEQ, PSST, STST, STET, CREATED_AT, UPDATED_AT) VALUES
('90001', 1, '1', '108', '20SEP261355', '20SEP261510', now(), now());
INSERT INTO FLIGHT_ROUTE_POINT (FLID, ORDINAL, SOURCE_SEQ, ROUTE_KIND, APCD, SCAT, SCDT, CREATED_AT, UPDATED_AT) VALUES
('90001', 1, '1', 'ROUT', 'CAN', NULL, '20SEP261155', now(), now()),
('90001', 2, '2', 'ROUT', 'CTU', '20SEP261400', NULL, now(), now()),
('90001', 1, '1', 'ERUT', 'CTU', NULL, '20SEP261400', now(), now()),
('90001', 2, '2', 'ERUT', 'CAN', NULL, '20SEP261155', now(), now());
-- ② 90002 离港明细:柜台×2、登机门、滑槽、计划机位、航线
INSERT INTO FLIGHT_CHECKIN (FLID, ORDINAL, SOURCE_SEQ, CHKC, CCLS, PCOT, PCCT, CTYP, CREATED_AT, UPDATED_AT) VALUES
('90002', 1, '1', 'C01', 'Y', '20SEP261430', '20SEP261600', 'D', now(), now()),
('90002', 2, '2', 'C02', 'X', '20SEP261430', '20SEP261600', 'D', now(), now());
INSERT INTO FLIGHT_GATE (FLID, ORDINAL, SOURCE_SEQ, GATE, PGOT, PGCT, GTYP, CREATED_AT, UPDATED_AT) VALUES
('90002', 1, '1', 'D05', '20SEP261530', '20SEP261620', 'D', now(), now());
INSERT INTO FLIGHT_CHUTE (FLID, ORDINAL, SOURCE_SEQ, CHUT, CHCLS, PCBT, PCET, CHTYP, CREATED_AT, UPDATED_AT) VALUES
('90002', 1, '1', 'CH03', 'X', '20SEP261330', '20SEP261600', 'D', now(), now());
INSERT INTO FLIGHT_STAND_PLAN (FLID, ORDINAL, SOURCE_SEQ, PSST, STST, STET, CREATED_AT, UPDATED_AT) VALUES
('90002', 1, '1', '101', '20SEP261445', '20SEP261645', now(), now());
INSERT INTO FLIGHT_ROUTE_POINT (FLID, ORDINAL, SOURCE_SEQ, ROUTE_KIND, APCD, SCAT, SCDT, CREATED_AT, UPDATED_AT) VALUES
('90002', 1, '1', 'ROUT', 'CTU', NULL, '20SEP261630', now(), now()),
('90002', 2, '2', 'ROUT', 'PEK', '20SEP261935', NULL, now(), now()),
('90002', 1, '1', 'ERUT', 'CTU', NULL, '20SEP261630', now(), now()),
('90002', 2, '2', 'ERUT', 'PEK', '20SEP261935', NULL, now(), now());
-- ③ 主/共享对明细:同一物理航班、各自独立行(禁止按资源号去重)
INSERT INTO FLIGHT_STAND_PLAN (FLID, ORDINAL, SOURCE_SEQ, PSST, STST, STET, CREATED_AT, UPDATED_AT) VALUES
('90003', 1, '1', '102', '20SEP261645', '20SEP261945', now(), now()),
('90004', 1, '1', '102', '20SEP261645', '20SEP261945', now(), now());
INSERT INTO FLIGHT_ROUTE_POINT (FLID, ORDINAL, SOURCE_SEQ, ROUTE_KIND, APCD, SCAT, SCDT, CREATED_AT, UPDATED_AT) VALUES
('90003', 1, '1', 'ROUT', 'CTU', NULL, '20SEP261830', now(), now()),
('90003', 2, '2', 'ROUT', 'SZX', '20SEP262105', NULL, now(), now()),
('90003', 1, '1', 'ERUT', 'CTU', NULL, '20SEP261830', now(), now()),
('90003', 2, '2', 'ERUT', 'SZX', '20SEP262105', NULL, now(), now()),
('90004', 1, '1', 'ROUT', 'CTU', NULL, '20SEP261830', now(), now()),
('90004', 2, '2', 'ROUT', 'SZX', '20SEP262105', NULL, now(), now());
-- ④ 90005 延误进港明细:延误、转盘、计划机位、航线
INSERT INTO FLIGHT_DELAY (FLID, ORDINAL, SOURCE_SEQ, CODE, STRT, DURA, CREATED_AT, UPDATED_AT) VALUES
('90005', 1, '1', '23', '20SEP260930', '0120', now(), now());
INSERT INTO FLIGHT_BELT (FLID, ORDINAL, SOURCE_SEQ, BELT, BCLS, PCOT, PCCT, BTYP, CREATED_AT, UPDATED_AT) VALUES
('90005', 1, '1', '5', 'X', '20SEP261135', '20SEP261225', 'I', now(), now());
INSERT INTO FLIGHT_STAND_PLAN (FLID, ORDINAL, SOURCE_SEQ, PSST, STST, STET, CREATED_AT, UPDATED_AT) VALUES
('90005', 1, '1', '107', '20SEP261050', '20SEP261240', now(), now());
INSERT INTO FLIGHT_ROUTE_POINT (FLID, ORDINAL, SOURCE_SEQ, ROUTE_KIND, APCD, SCAT, SCDT, CREATED_AT, UPDATED_AT) VALUES
('90005', 1, '1', 'ROUT', 'SIN', NULL, '20SEP260745', now(), now()),
('90005', 2, '2', 'ROUT', 'CTU', '20SEP260930', NULL, now(), now()),
('90005', 1, '1', 'ERUT', 'CTU', NULL, '20SEP260930', now(), now()),
('90005', 2, '2', 'ERUT', 'SIN', NULL, '20SEP260745', now(), now());
-- ⑥ 过站对明细:90007 计划机位 + 航线;90008 登机门 + 航线
INSERT INTO FLIGHT_STAND_PLAN (FLID, ORDINAL, SOURCE_SEQ, PSST, STST, STET, CREATED_AT, UPDATED_AT) VALUES
('90007', 1, '1', '103', '20SEP260955', '20SEP261140', now(), now());
INSERT INTO FLIGHT_ROUTE_POINT (FLID, ORDINAL, SOURCE_SEQ, ROUTE_KIND, APCD, SCAT, SCDT, CREATED_AT, UPDATED_AT) VALUES
('90007', 1, '1', 'ROUT', 'KMG', NULL, '20SEP260845', now(), now()),
('90007', 2, '2', 'ROUT', 'CTU', '20SEP261000', NULL, now(), now()),
('90007', 1, '1', 'ERUT', 'CTU', NULL, '20SEP261000', now(), now()),
('90007', 2, '2', 'ERUT', 'KMG', NULL, '20SEP260845', now(), now()),
('90008', 1, '1', 'ROUT', 'CTU', NULL, '20SEP261155', now(), now()),
('90008', 2, '2', 'ROUT', 'HGH', '20SEP261425', NULL, now(), now()),
('90008', 1, '1', 'ERUT', 'CTU', NULL, '20SEP261155', now(), now()),
('90008', 2, '2', 'ERUT', 'HGH', '20SEP261425', NULL, now(), now());
INSERT INTO FLIGHT_GATE (FLID, ORDINAL, SOURCE_SEQ, GATE, PGOT, PGCT, GTYP, CREATED_AT, UPDATED_AT) VALUES
('90008', 1, '1', 'D04', '20SEP261055', '20SEP261145', 'D', now(), now());
COMMIT;