# 功能测试报告_汇总大表8月数据回填与版式对齐_2026-09-11
## 一、功能说明
针对用户反馈的 4 个问题,对《道路运输量汇总表》导出链路做数据驱动回填与版式对齐:
1. **8 月数据已入库但汇总表没有 8 月数据** → 汇总工作簿填充器识别「当月值列」(8 月为 Q 列)并回填;
2. **同比一律以汇总表 2025 年 8 月数据为准** → 当月同比列(R 列)公式统一为 `=Q../AJ..-1`,AJ 列即 2025 年 8 月;
3. **公交、出租数据是日期形式** → 回填数值时按同行 1 月列样式套用,避免数值被套上日期格式(显示成 1902/1910 年);
4. **班线包车、轨道轮渡只有分市州没有全省数据** → 为全省行补齐合计公式(母版原本只对 1 月写死公式);
5. **版式完全按《生成_道路运输量汇总表.xlsx》** → 逐列套用参照件列宽/隐藏标记,**后续扩列(8 月 Q/R 列)也按参照件宽度**。
改动范围:
- `SummaryWorkbookFiller`:`fillFreightSheet` / `fillWycSheet` 重写(只回填目标期当月,派生行保持公式);新增 `ensureMonthFormulas`、`ensureMonthYoyFormulas`、`monthColumnCapacity`;
- `ReportExportService`:导出时调用 `ensureMonthFormulas` + 新增 `applySummaryReferenceLayout`(按参照件对齐列宽);
- `WycSplitCalc`:汇总表网约车取数优先读库。
关键口径:当月值列(0 基)= `2 + 2*(m-1)`,同比列 = 值列 + 1;同比分母固定为 AJ 列(2025 年 8 月)。
## 二、测试环境
- 后端 `http://localhost:8090`,导出接口 `GET /api/report/export/summaryWorkbook?period=YYYY-MM`。
- 母版:`docs/生成汇总大表/2026年8月道路运输量汇总表.xlsx`;版式参照:`docs/生成汇总大表/生成_道路运输量汇总表.xlsx`。
- 测试时间:2026-09-11。
## 三、用例表
### 3.1 正向:2026-08 生成与当月取值
| 编号 | 检查项 | 预期 | 实际 | 结论 |
| --- | --- | --- | --- | --- |
| TC-1 | 导出 2026-08 | HTTP 200,正常产出文件 | 4.6 秒返回,948,735 字节 | 通过 |
| TC-2 | 后端回填日志 | 有写入格数统计、无缺数提示 | 写入当月值格数=1659,补写当月同比公式格数=600,补写当月合计公式格数=43,对齐列宽列数=422,缺数提示=[] | 通过 |
| TC-3 | 货运页全省块(行5-10)Q 列 | 规上/规下货运量与周转量有值,合计行为公式 | 规上货运量 3666.1401、规下 13222.6214、规上周转 570004.4355、规下周转 1700006.166;Q5=`=Q7+Q9`、Q6=`=Q8+Q10` | 通过 |
| TC-4 | 货运页 Σ17市州 = 全省 | 相等 | Σ17市州货运量 = 16888.7615;全省 Q5 = 3666.1401 + 13222.6214 = 16888.7615 | 通过 |
| TC-5 | 货运页市州派生行 | 不写死值,保持公式 | 武汉 Q14(规上+规下周转量)=`=Q15+Q16`;规上/规下分项为数值 | 通过 |
| TC-6 | 网约车页 | 17 市州当月有值,全省行为公式 | 武汉 Q9=1879.9049…、Q10=13407.6982…;全省 Q5=`=Q9+Q13+…+Q73`;Σ17市州客运量=4997.74、周转量=29166.7 | 通过 |
| TC-7 | 公交页 | 市州当月有值且**不是日期显示** | Q9=3856.83(武汉客运量),单元格格式 `0.00`;全省 Q5 为求和公式 | 通过 |
| TC-8 | 出租页 | 同上 | Q9=1058.95(武汉客运量),格式 `0.00`;全省 Q5 为求和公式 | 通过 |
| TC-9 | 班线包车页全省行 | 有全省合计(原缺失) | Q4=`=Q8+Q10+Q14+…+Q56`、Q5=`=Q9+Q11+…+Q57`、Q6/Q7 个体合计亦为公式 | 通过 |
| TC-10 | 轨道、轮渡页全省行 | 有全省合计(原缺失) | 轨道 全省 Q4=`=SUM(Q6,Q8)`、Q5=`=Q7+Q9`;轮渡 全省 Q13=`=Q15`、Q14=`=Q16` | 通过 |
| TC-11 | 同比公式指向 2025 年 8 月 | R 列分母为 AJ 列 | 各页表头 AJ 列 = `2025年8月`;R 列公式形如 `=Q9/AJ9-1`;AJ 列确有 2025 年 8 月母版数值(如货运 AJ7=3716.1158) | 通过 |
| TC-12 | 打开即重算 | 文件带全量重算标记 | `xl/workbook.xml` 内 `