# 功能测试报告_汇总大表数据驱动回填(M2 台账层)_2026-09-09 ## 功能说明 汇总表整本(道路运输量汇总表)导出此前是“复制当月人工母版+备份还原”,当月没有人工母版就报错,用户每月需手工制作母版。 本轮落地 M2 第一步:新增 `SummaryWorkbookFiller`,生成整本时把 2026 年 1..M 月“台账页市州明细行”的当月值从库现算写入母版对应格 (m 月值列 = 第 2+2*(m-1) 列,C 起),全省行与跨页合成为公式、打开自动重算,2025 参照列保留母版缓存。 本轮覆盖 4 张台账页:班线包车(含个体)、公交、出租、轨道轮渡;网约车(依赖拆分输入)、货运页(M3)及 9 月以后扩列待下一轮。 ## 测试环境 - 后端:Spring Boot 8090(mvn spring-boot:run,2026-09-09 16:28 重启含新代码);数据库为本地业务库。 - 基准:人工备份母版 `docs/生成汇总大表/_备份_2026年7月道路运输量汇总表_清理前_20260904.xlsx`(2026-07 口径 0 差异基准)。 ## 用例表 | 用例 | 输入 | 预期 | 实际 | 结论 | |---|---|---|---|---| | 7 月整本正向回归 | GET /api/report/export/summaryWorkbook?period=2026-07 | 班线包车/公交/出租/轨道轮渡 4 页月度值列 C..Q 与备份母版逐格一致 | 比较 1323 格,差异 0,maxAbs=0 | 通过 | | 7 月备份母版个别格为文本数字 | 公交 3/6 月等格存为 '4970.63' 文本 | 数值/文本同值视为一致 | 文本转数值后 0 差异 | 通过 | | 8 月整本(无备份母版、母版版式含 8 月列但数据只到 7 月) | period=2026-08 | 8 月当月值(Q 列)由库现算填入,已有 1-7 月值不回退 | 公交/出租 476+476 格 0 差异;班线包车/轨道轮渡多出 Q 列 8 月库值(武汉班线客运量 329.906 等),属预期“读库填新月份” | 通过(8 月真值无人工对照,以 MidCalc 7 月 0 差异口径同源推算) | | 编译 | mvn -o compile | 无错误 | 通过 | 通过 | ## 发现的问题与处置 1. 备份母版(清理前)里公交部分月份格是“文本型数字”(如 '4970.63'),Excel 公式可正常参与运算;生成文件一律写数值,属优化而非差异,比对脚本已按“文本数字→数值”处理。 2. 8 月输出目录中多本“8 月整本”其实只填到 7 月(Q 列空),印证用户“每月手工填数/母版”痛点;本引擎已能把 8 月台账页新月份数据从库算入。 3. 遗留:9 月及以上无对应版式列,需要“自动扩列”(在累计列前插入当月值+同比两列并同步公式/样式);网约车/货运/城市客运等其余页取数待 M2/M3 后续接入;缺数提示当前进日志,页面提示接入在整链完成后补。 ## 结论 M2 台账层(班线包车/公交/出租/轨道轮渡)数据驱动回填可用:2026-07 与人工备份母版逐格 0 差异,2026-08 可把 8 月新月份数据从库填入,未破坏既有 1-7 月值。可进入下一轮(自动扩列 + 网约车/货运/合成页 M3)开发。