fix(codec): CHDT 类字段统一为 SIS 口径 CCLS/CTYP(ACM2-90)

- ChdtXml wire 绑定与 SisWireMapper 映射键改为 CCLS/CTYP(implementation.md「动态运行事件」)
- 新增 V2 迁移将自有 PG FLIGHT_CHUTE 列 chcls/chtyp 更名为 ccls/ctyp,不动已发布的 V1
- FlywayMigrationTest 更新迁移链断言并校验更名后列;补 CHDT 解码→合并往返用例
This commit is contained in:
windyboy
2026-09-21 12:20:50 +08:00
parent 29465e2131
commit 0e09365cf6
6 changed files with 72 additions and 10 deletions
@@ -187,12 +187,13 @@ data class PsdtXml(
data class ChdtXml(
@param:JacksonXmlProperty(isAttribute = true, localName = "CHNO") val chno: String? = null,
@param:JacksonXmlProperty(localName = "CHUT") val chut: String? = null,
@param:JacksonXmlProperty(localName = "CHCLS") val chcls: String? = null,
// SIS 的 CHDT 类字段固定为 CCLS/CTYPimplementation.md「动态运行事件」);曾误绑 CHCLS/CHTYP
@param:JacksonXmlProperty(localName = "CCLS") val ccls: String? = null,
@param:JacksonXmlProperty(localName = "PCBT") val pcbt: String? = null,
@param:JacksonXmlProperty(localName = "PCET") val pcet: String? = null,
@param:JacksonXmlProperty(localName = "CBTM") val cbtm: String? = null,
@param:JacksonXmlProperty(localName = "CETM") val cetm: String? = null,
@param:JacksonXmlProperty(localName = "CHTYP") val chtyp: String? = null,
@param:JacksonXmlProperty(localName = "CTYP") val ctyp: String? = null,
)
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -46,7 +46,7 @@ internal object SisWireMapper {
"CKDT" to ckdt.map { it.toMap("CKNO" to it.ckno, "CHKC" to it.chkc, "CCLS" to it.ccls, "PCOT" to it.pcot, "PCCT" to it.pcct, "COTM" to it.cotm, "CCTM" to it.cctm, "CTYP" to it.ctyp) },
"CLDT" to cldt.map { it.toMap("CLNO" to it.clno, "BELT" to it.belt, "BCLS" to it.bcls, "PCOT" to it.pcot, "PCCT" to it.pcct, "FBAG" to it.fbag, "LBAG" to it.lbag, "BTYP" to it.btyp) },
"PSDT" to psdt.map { it.toMap("PSNO" to it.psno, "PSST" to it.psst, "STST" to it.stst, "STET" to it.stet) },
"CHDT" to chdt.map { it.toMap("CHNO" to it.chno, "CHUT" to it.chut, "CHCLS" to it.chcls, "PCBT" to it.pcbt, "PCET" to it.pcet, "CBTM" to it.cbtm, "CETM" to it.cetm, "CHTYP" to it.chtyp) },
"CHDT" to chdt.map { it.toMap("CHNO" to it.chno, "CHUT" to it.chut, "CCLS" to it.ccls, "PCBT" to it.pcbt, "PCET" to it.pcet, "CBTM" to it.cbtm, "CETM" to it.cetm, "CTYP" to it.ctyp) },
"DELY" to dely.map { it.toMap("CODE" to it.code, "STRT" to it.strt, "DURA" to it.dura, "REMC" to it.text) },
"ABTM" to abtm.map { it.toMap("ASNO" to it.asno, "ABDG" to it.abdg, "ABOP" to it.abop, "AOTM" to it.aotm) },
"CHOT" to chot.map { it.toMap("CSNO" to it.csno, "CHID" to it.chid, "CHST" to it.chst, "CHTM" to it.chtm) },
@@ -872,7 +872,7 @@ class JdbcFlightStateRepository(
"CKDT" to DetailSpec("flight_checkin", listOf("chkc", "ccls", "pcot", "pcct", "cotm", "cctm", "ctyp"), "CKNO"),
"CLDT" to DetailSpec("flight_belt", listOf("belt", "bcls", "pcot", "pcct", "fbag", "lbag", "btyp"), "CLNO"),
"PSDT" to DetailSpec("flight_stand_plan", listOf("psst", "stst", "stet"), "PSNO"),
"CHDT" to DetailSpec("flight_chute", listOf("chut", "chcls", "pcbt", "pcet", "cbtm", "cetm", "chtyp"), "CHNO"),
"CHDT" to DetailSpec("flight_chute", listOf("chut", "ccls", "pcbt", "pcet", "cbtm", "cetm", "ctyp"), "CHNO"),
"DELY" to DetailSpec("flight_delay", listOf("code", "strt", "dura", "remc"), null),
"ABTM" to DetailSpec("flight_bridge_op", listOf("abdg", "abop", "aotm"), "ASNO"),
"CHOT" to DetailSpec("flight_chock_op", listOf("chid", "chst", "chtm"), "CSNO"),