未知报表类型:investPassengerDetail / investLogisticsDetail,无法预览/导出。ReportExportService.checkExportReady() 的 switch (t) 兜底分支(ReportExportService.java:231)。exportSelected switch、REPORT_FILE_NAMES、ReportExportController 两个接口、ReportExport.vue 两项),isInvestType() 也没收录这两个类型。checkExportReady() 新增两个 case:按类别统计 investment_monthly 该期行数 + 校验 docs/投资/模板/ 母版是否存在(缺母版给提示);isInvestType() 收录两个类型(纳入投资分支的月度覆盖与问题清单);investPreview() 增加按类别过滤重载 (period, mode, category, summary, problems),原无参重载保留;Started TrafficAuditApplication 10:49:51)。=Q4/AJ4-1 实际是「8月值 ÷ 2025年1-7月累计」;累计同比分母又把 1-6 月重复计、8 月漏计。colIndexOf() 返回 1 基列号,而 POI 列号是 0 基 → 月份列查表全落空、退化成「+2 列」,=O5/AH5-1 被算成 =R5/AK5-1(自引用)→ 货运/网约车/中口径明细 共 360 格循环引用。setCellFormula 不接受带 = 前缀的公式串,异常又被 catch (Exception ignore) 吞掉,isCellDateFormatted 判定会漏判。W4 → =V4/AW4-1),再把删列产生的 36 处 #REF! 累计同比公式还原为 AJ;_bak_202608母版删除AJ列前_20260920.xlsx;删列后母版与版式参照件《生成_道路运输量汇总表.xlsx》列结构一致。colIndexOf 改 0 基;setCellFormula 去掉 = 前缀并把 catch 改成 WARN 日志;yearMonthOf 支持裸日期序列;repairCumulativeYoyFormulas() 保留作母版兜底。ReportExport.vue 预览补齐货运量/城市客运/中口径共 8 项同比映射,修正「当月货物周转量(万吨)」单位。D:\桌面\生成数据\生成_全省预安排计划进度情况汇总 (2).xls 发现武汉物流段多出 27 个项目(高桥货运站…越海华中供应链总部基地,开工年 2006-2016)。investPlan 是「母版原位替换 + 动态插行」——母版武汉物流只预留 7 行,库里多出的项目按「市州+类别」自动补插到小节末尾ReportExportService.java 动态插行段)。所以库里有多少项目,生成表就出多少行。docs/投资/输出/清理残留_十堰汇总表带出的非十堰项目_2026-09-20.tsv(31 个项目 + 39 条月度数)后删除;docs/投资/输入/物流(物流园区)/8月 里没有武汉文件),6 个新项目在库里没有 2026-08 月度数,ReportExportService.investPlan() 新增 addProjectsWithoutMonthly(...),在**市州小节/块合计/全省合计**三处累加后,$alert(MessageBox)承载导入结果 HTML,内容一长就把「确认」挤出屏幕,且不能拖动。el-dialog:v-dialog-drag 标题栏拖动、custom-class="import-result-dialog"(全局样式,圆角 + 内容区 max-height 滚动 + 底部按钮固定),《功能测试报告_投资明细表就绪与预览类型补齐_2026-09-20.md》:**7 条用例通过,1 条未实测**(缺母版提示,未临时移动用户母版文件)。
| 校验项 | 结果 |
|---|---|
/api/report/ready(两新类型) |
ready=true,rows=39 / 128,note 为空 |
/api/report/preview(两新类型) |
覆盖 [8],problems 为空 |
| 摘要 vs SQL 逐项对齐 | 客运 2048.1 / 38648.16 / 550929.76、物流 90185.9 / 704107.7 / 2656354.31,**一致** |
| 分类别过滤 | 客运 39 + 物流 128 = 167,全类别类型仍 167(未串类) |
| 导出回归 | 两张明细表仍可导出(29462 / 134144 字节) |
| 原有投资类型回归 | investPlan / investBillion / investCounty / investFiveYearLogistics 均 ready=true,rows=167 |
| 未知类型负向 | foo → ready=false、note=未知报表类型:foo(兜底仍有效) |
《功能测试报告_城市客运月度与累计同比_2026-09-20.md》:**15 条用例通过**。
| 校验项 | 结果 |
|---|---|
| 城市客运 R4 / T4 公式 | =Q4/AJ4-1、=S4/(V4+X4+Z4+AB4+AD4+AF4+AH4+AJ4)-1(不再是 #REF!) |
| 全省客运量 8 月同比 / 累计同比 | +4.44% / +0.117%(修复前 −86.5% / −43.5%) |
| 辅助列 | 生成表与母版均无「2025年1-7月累计」,城市客运页 BV→BU |
| 循环引用 | 全表 0 处(修复前 360 处,含货运/网约车/中口径明细 R 列) |
| 其它 18 个页签回归 | 除上述 R 列修复外逐格一致 |
| 预览接口 | 24 项指标含 8 项同比,1.03 秒 |
| 导出耗时 | 14 秒(母版读取+回填 6.5s、公式重算 4.1s、写盘传输 3.4s) |
《功能测试报告_投资预安排汇总补计与导入弹窗_2026-09-20.md》:**14 条用例通过(1 条为静态/编译级验证,点击级验收待用户实测)**。
| 校验项 | 结果 |
|---|---|
| 残留出库 | 物流项目 135→104、月度数 167→136;备份 TSV 77 行 |
| 生成表武汉物流段 | 33 行 → 6 行(航发/中通/阳逻港/极兔/华中化学品/迈睿达) |
| 武汉物流小计(补计) | c8=272476(6 个项目总投资和),其余列空 |
| 黄石物流小计 | 729375.69 → 614991.69 |
| 块合计/全省合计 | 物流 5889737.36、客运 763632.2、全省 6653369.56,与 SQL 一致 |
| 1-8月累计(c23) | 744262.86 → 733956.06,差额 = 被删项目 year_cum 之和,补计未污染该列 |
| 伪项目清除 | 咸宁客运小计 27454 → 13727 |
| 生成表行数 | 313 → 281 |
| 其它投资报表回归 | investBillion/County/FiveYearLogistics 各 136 行、两张明细表 39/97 行,ready=true,均可导出 |
| 负向 | types=foo → ready=false,note「未知报表类型:foo」 |
deploy/traffic-audit-deploy-20260913/backend/docs/生成汇总大表/ 与 _deploytest/ 下仍是**带 AJ 列的旧母版**,#DIV/0!(不可比),如需改空白需用户确认口径。8 月版十堰汇总表未清理:用户只清了 7 月版(108032→90112 字节),8 月版(mtime 2026-08-20)仍含武汉 27 + 黄石 4 段;
若重导 8 月物流,已删除的 31 个项目会重新建档 → 重导前需同样清理(或由我代做,待用户确认)。