界面显示号改为来源自报,并给出无歧义的来源定位
现场对照发现:甲方软件按 01–30 编号,而它库里的表名 Ws<N>_IV_0 比它小 1,
所以我们的通道号比甲方软件小 1;四组记录互证(软件通道号 ↔ 它库名 ↔ 我们表名
+ 电流/容量):02↔Ws1、03↔Ws2、25↔Ws24、28↔Ws27。按 ADR-0065 补记实现
"来源自己报它的叫法",身份键不动、不迁移任何数据:
- 观测契约的发现结果新增可选 sourceDisplayNo(来源没报就为空,界面回退到
「单元-通道」,既有来源零改动);候选与 Redis 序列化宽容读取;
- 候选、登记与适配器通道列表都用它写 display_no;
- 已登记的通道会跟着刷新:发现路径同步已登记事实时只在来源报了叫法时覆盖
display_no,所以不用重新登记、不用补数据;
- 落地表新增 vendor_channel_no(迁移 V25,只加可空列);接收端点解析拓扑行里
可选的 channelNo;
- 拓扑行是声明不是设备事实,改为按来源通道 upsert(刷新叫法/载荷/接收时间,
不追加新行)——否则"来源后来才补上的叫法"永远写不进已声明过的通道;
设备数据行仍然只追加、不改写;
- 取数程序在拓扑上报里带 channelNo(表名号 + -ChannelNoOffset,默认 1,可现场
改值而不改代码),注释里写明依据。
实测:重拷脚本跑一轮后,我们通道 23 显示为 24、25 显示为 26,与甲方软件一致。
后端全量测试 373 项通过(新增 2 项:显示号规则、V25 迁移契约)。