docs(acm2-100): 备降返航卡点在分派放行非补解码

This commit is contained in:
windyboy
2026-09-23 17:32:25 +08:00
parent ef99d3038e
commit 9ea74ea092
5 changed files with 9 additions and 10 deletions
+4 -5
View File
@@ -379,6 +379,7 @@ PG 是航班数据源(`INV-5`);Redis 从 PG 同步,处理完成前写入
### 12.2 动态运行事件(FLOP
只改报文带的字段/集合(见「字段与集合」)。`STYP` 须命中白名单;未知 → `SKIPPED``US-03` AC2)。逐类规则见 `G-FLOP-IDEMPOTENT`
备降(`FDIV`)与返航(`FRET`)的解码件(wire DTO、未映射路径)已存在,但真实子类型报文在分派层即判不支持并跳过,按 11.3.1 不留证据;只有白名单报文里顺带的同名段才能写入未映射表。卡点是分派放行(`Q3`),不是补解码。
**现行白名单 7 类**`US-05` AC1):`ABTM``DELY``PSDT``CKDT``CLDT``CHDT``GTDT`。下表其余行是闭合目标(`Q3`),不是现行白名单。
@@ -396,11 +397,9 @@ PG 是航班数据源(`INV-5`);Redis 从 PG 同步,处理完成前写入
| `SIS:3.26` | `CHDT` | `CHDT` 集合 | 空 `<CHDT CHNO="0">` = 现无滑槽分配;AODB 实际会发,照常接收处理(`US-05` AC3 |
| `SIS:3.27` | `CNCL` | `CNCL` 标量 | 空 = **撤销**上一次取消(不是清空时间) |
| `SIS:3.28` | `ESTT` | `ESTT` 标量 | 空 = 删除预计时间 |
| `SIS:3.29` | `FDEL` | 走删除路径(「删除与重建」) | 恒为空标签 |
| `SIS:3.30` | `FDIV` | `FDIV``DDES`/`DDIR`),当前未映射(`G-FLOP-UNMAPPED` | 空 `DDES=""` = 清除转场标志 |
| `SIS:3.30` | `FDIV` | `FDIV``DDES`/`DDIR`)写未映射表(`G-FLOP-UNMAPPED`);真实子类型报文现行在分派层判不支持并跳过,不留证据,待 `Q3` 放行 | 空 `DDES=""` = 清除转场标志 |
| `SIS:3.31` | `FINT` | `FINT` 标量 | 空 = 删除最终时间 |
| `SIS:3.32` | `FLIN` | `FLIN` 标量 | 字段为 M,未写明空语义 |
| `SIS:3.33` | `FRET` | `FRET``REID`),当前未映射(`G-FLOP-UNMAPPED` | 空 = 清除返航标志 |
| `SIS:3.33` | `FRET` | `FRET``REID`)写未映射表(`G-FLOP-UNMAPPED`);真实子类型报文现行在分派层判不支持并跳过,不留证据,待 `Q3` 放行 | 空 = 清除返航标志 |
| `SIS:3.34` | `GTDT` | `GTDT` 集合 | 空 `<GTDT GTNO="0">` = 现无登机门分配;`GOTM`/`GCTM` 缺失 = 未分配开放/关闭时间;AODB 实际会发,照常接收处理(`US-05` AC3 |
| `SIS:3.35` | `LACL` | `LACL` 标量;非空时设置最后通知状态 | 空 = 清除最后通知时间并重置最后通知状态 |
| `SIS:3.36` | `MAXP` | `MAXP` 标量 | 空 = 删除最大载客数 |
@@ -428,7 +427,7 @@ ADFTSet-only`US-04` AC2),未带字段不清。有 `SODT` 则算 `OPERA
### 12.5 生命周期
运营日过去 ≠ 航班结束。历史清理候选按 `US-14` AC2 的五类已结束条件选取(共享求值器 `HistoryRules.isEnded``SODT`/`CNCL`/`NAAT`/`NEAT` 解析不出一律不命中,宁漏删不误删);先写 ES 再删,失败删 0 行(`D1`)。备降条件依赖 `FDIV` 段(`DDES`/`DDIR`,该段落地(`Q3`ACM2-100)前恒不命中。
运营日过去 ≠ 航班结束。历史清理候选按 `US-14` AC2 的五类已结束条件选取(共享求值器 `HistoryRules.isEnded``SODT`/`CNCL`/`NAAT`/`NEAT` 解析不出一律不命中,宁漏删不误删);先写 ES 再删,失败删 0 行(`D1`)。备降条件依赖 `FDIV` 段(`DDES`/`DDIR`落未映射表后的读取路径,该路径待 `Q3` 放行(ACM2-100)前恒不命中。
## 13. 静态参考数据
+1 -1
View File
@@ -63,7 +63,7 @@
| `msgx.outbound.routing-rqrd` | `OMMSRQRD` | `RQRD` 写入 `COUTMSGS` 使用的路由标识 | 当前实现 |
| `msgx.history.planned-age-days` | `3` 天 | `US-14` AC2 条件 1:计划时间早于当前超过该天数视为已结束 | `US-14` AC2 |
| `msgx.history.cancelled-hours` | `1` 小时 | `US-14` AC2 条件 2:取消时间早于当前超过该窗口视为已结束 | `US-14` AC2 |
| `msgx.history.diverted-hours` | `1` 小时 | `US-14` AC2 条件 3:备降且计划时间早于当前超过该窗口;备降依据 `FDIV``DDES`/`DDIR`)落地前不参与判定(`Q3`ACM2-100 | `US-14` AC2 |
| `msgx.history.diverted-hours` | `1` 小时 | `US-14` AC2 条件 3:备降且计划时间早于当前超过该窗口;备降依据 `FDIV``DDES`/`DDIR`)落未映射表后的读取路径待 `Q3` 放行(ACM2-100,落地前不参与判定 | `US-14` AC2 |
| `msgx.history.arrived-hours` | `1` 小时 | `US-14` AC2 条件 5:实际到港时间早于当前超过该窗口视为已结束(条件 4 离港不设窗口) | `US-14` AC2 |
| `msgx.history.snap-log-retention-days` | `90` 天 | 日计划处理记录保存多久 | 暂定 |
@@ -13,7 +13,7 @@ class HistoryProps {
/**
* `US-14` AC2 条件 3 的窗口:备降(应降本场、实际降其他机场)且计划时间早于当前超过这么多小时。
* 备降依据是 `FDIV` 段(`DDES`/`DDIR`,该段尚未解码落库(`Q3`、ACM2-100);
* 备降依据是 `FDIV` 段(`DDES`/`DDIR`落未映射表后的读取路径,该路径待 `Q3` 放行(ACM2-100);
* 落地前本条件不参与候选判定,参数先行登记。
*/
var divertedHours: Long = 1
@@ -69,8 +69,8 @@ data class FlightSnapshot(
* 1. 计划时间(SODT)早于当前超过 [plannedAgeDays] 天;
* 2. 取消时间(CNCL)早于当前超过 [cancelledHours] 小时;
* 3. 备降(应降本场、实际降其他机场)且计划时间早于当前超过 [divertedHours] 小时
* ——**当前不可判**:备降依据是 `FDIV` 段的 `DDES`/`DDIR`,该段不在现行 FLOP 白名单、
* 也无 DTO 与存储列(`Q3`、ACM2-100,落地前本条件恒不命中(漏删优于误删);
* ——**当前不可判**:备降依据是 `FDIV` 段的 `DDES`/`DDIR` 落未映射表后的读取路径,
* 该路径待 `Q3` 放行(ACM2-100恒不命中(漏删优于误删);
* 4. 离港:计划日期早于当日、有实际离港时间(NEAT)且不晚于当前;
* 5. 到港:计划日期早于当日、有实际到港时间(NAAT)且早于当前超过 [arrivedHours] 小时。
*/
+1 -1
View File
@@ -32,7 +32,7 @@ msgx:
history: # 历史清理判据窗口(US-14 AC2 五类已结束条件)与留痕保留期
planned-age-days: 3 # 条件 1:计划时间早于当前超过 3 天
cancelled-hours: 1 # 条件 2:取消时间早于当前超过 1 小时
diverted-hours: 1 # 条件 3:备降窗口;FDIVDDES/DDIR落地前不参与判定(Q3、ACM2-100)
diverted-hours: 1 # 条件 3:备降窗口;FDIV 落未映射表后的读取路径落地前不参与判定(Q3、ACM2-100)
arrived-hours: 1 # 条件 5:实际到港早于当前超过 1 小时
snap-log-retention-days: 90
history-store-enabled: false # 未接通历史存储时 HISTORY_SWEEP 删 0 条