yeg
4 天以前 6b99cc391064cb38c706979fafcecb9f50ea1587
refs
用户 yeg <1347747024@qq.com>
星期日, 十月 11, 2026 02:06 +0800
提交者 yeg <1347747024@qq.com>
星期日, 十月 11, 2026 02:07 +0800
提交6b99cc391064cb38c706979fafcecb9f50ea1587
目录 5641086f8a6f005f3ee6d0049328eefdf97c7f69 目录 | zip | gz
parent 99fd4ccdf5d410e78a3785375036c34a2132ee04 查看 | 对比
新威直连补上工步层与循环汇总(downloadStepLayer 实机验证后落地)

ADR-0070 未决 1 说"downloadStepLayer 未验证,验证通过后本形态可交出工步层与循环汇总"。
2026-10-11 在四台机器上量过:C/E/F 可用(21 / 15 / 4 步),D 那台缓冲里没有测试、如实为空。

- 新增 downloadStepLayer 请求构造与解析;工步记录按既有契约交出。
- 循环号减一:这条命令的 cycleid 是 1 起,而逐点与厂商库是 0 起,实测同一测试两处对照确认。
- 开始时间 = endatime − steptime(应答只给结束时间,steptime 是工步运行时长),
两个独立样本与该测试首行 atime 核对一致。
- 工步身份用 stepindex:stepid 在循环里会重复(实测同一 stepid 在相邻两个循环各出现一次)。
- 未结束的那一步连它所在的循环一起按住:这条命令会把正在跑的那一步交出来,且它的 endseqid
恰好等于 inquiredf 的已落盘行数(四个测试全部相等),行数比不出结束没有,判据是通道工作状态。
交出未结束的段会让结束时间每轮都变,同一条记录反复以不同内容到达。
判断工作状态的读取失败不吞,让它传出去:调用方本来就有"来源读不到就本轮放弃、下一轮重试"
的约定,这样一次传输抖动不会变成"把一个还在跑的工步交出去",也不会被当成结论缓存。
- 循环汇总为聚合值(sourceKind=AGGREGATED),口径与库路线一致:方向未确认的容量能量不进任何一侧。
工步与循环来自同一次读取(5 秒窗口内复用),避免工步边界落在两次读取之间时两者对不上。
- 接口这一侧交不出的只剩辅助测量与计划方案两类,如实为空。

battery-device-bts 70 项通过;后端全量通过、BUILD SUCCESS。
4个文件已修改
501 ■■■■■ 已修改文件
battery-device-bts/src/main/java/com/battery/device/bts/BtsXmlCodec.java 107 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
battery-device-bts/src/main/java/com/battery/device/bts/NewareBtsAdapter.java 141 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
battery-device-bts/src/test/java/com/battery/device/bts/NewareBtsAdapterContractTest.java 147 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
battery-device-bts/src/test/java/com/battery/device/bts/NewareBtsXmlCodecTest.java 106 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史