# 功能测试报告_投资预安排汇总补计与导入弹窗_2026-09-20 ## 一、功能说明 1. **清除残留数据**:删除《湖北省十堰交通物流基础设施投资统计汇总表(月报)》(5/7/8 月版)按市州块带进库的**非十堰项目 31 个**(武汉 27 + 黄石 4), 以及解析时把「合计」行误建成项目的**伪项目 1 个**(咸宁市客运站场,13727 万元)。删除前全量备份。 2. **预安排汇总表小计补计**:`investPlan`(生成_全省预安排计划进度情况汇总.xls)的**市州小节行 / 块合计行 / 全省合计行**, 在按 `investment_monthly` 累加之外,新增「**本期无月度数、但项目主档有总投资**」的项目,只补计「总投资」一列 (其余三列无主档数据源,留空)。 3. **导入结果弹窗改造**:数据导入页的导入结果/失败/不一致提示,由 Element `$alert` 换成自定义 `el-dialog`—— 标题栏可拖动、内容区滚动(底部按钮固定可见)、圆角,并支持「导出明细」下载 CSV。 ## 二、测试环境 - 后端:`mvn -q compile` 通过;`start-dev.ps1` 重启,backend.log `14:47:45 Started TrafficAuditApplication`、`Tomcat started on port(s): 8090`。 - 前端:frontend.log `14:47:45 DONE Compiled successfully in 4986ms`,App running at http://localhost:8080。 - 数据库:MySQL `127.0.0.1:3308` 库 `traffic_audit`。 - 验证接口:`/api/report/ready`、`/api/report/export/{type}`(自签 JWT)。 ## 三、用例表 | 编号 | 用例 | 输入/操作 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | --- | | T01 | 残留项目出库 | `investment_project` 物流园区计数 | 135 − 31 = 104 | 104 | 通过 | | T02 | 残留月度数出库 | 被删 31 个项目的 `investment_monthly` | 0 | 0 | 通过 | | T03 | 备份可追溯 | `docs/投资/输出/清理残留_十堰汇总表带出的非十堰项目_2026-09-20.tsv` | 含 31 个项目 + 39 条月度数 + 1 条伪项目 | 77 行(含分节标题/表头) | 通过 | | T04 | 武汉物流段行数 | 导出 investPlan(2026-08 当月) | 33 → 6 | 6(航发智慧物流园/中通/阳逻港铁水联运/极兔/华中化学品/迈睿达) | 通过 | | T05 | 武汉物流小计(补计新逻辑) | 同上,武汉小节行 c8 | = 6 个项目总投资 69876+38400+12200+65000+22000+65000 = 272476 | c8=272476,c9/c10/c23 空(该市未报送 8 月) | 通过 | | T06 | 黄石物流小计 | 同上 | 729375.69 → 614991.69(= 自报 8 个项目) | 614991.69 | 通过 | | T07 | 块合计 = 主档总投资合计 | 物流块合计行 c8 | `SUM(total_investment)=5889737.36` | 5889737.36 | 通过 | | T08 | 全省合计 | 合计行 c8 | 客运 763632.2 + 物流 5889737.36 = 6653369.56 | 6653369.56 | 通过 | | T09 | 补计不影响累计完成投资 | 合计行 c23 | 744262.86 − 10306.8(被删 31 个项目 year_cum 之和)= 733956.06 | 733956.06 | 通过 | | T10 | 伪项目影响 | 咸宁(客运)小节行 c8 | 27454 → 13727 | 13727 | 通过 | | T11 | 生成表总行数 | 导出文件行数 | 313 → 281(删 31 + 1 行) | 281 | 通过 | | T12 | 其它投资报表回归 | `/ready` + 逐个导出 | 全部 ready、可导出 | rows:investPlan 136 / investBillion 136 / investCounty 136 / investFiveYearLogistics 136 / investPassengerDetail 39 / investLogisticsDetail 97;导出字节 162304 / 47104 / 55808 / 82944 / 29462 / 134144 | 通过 | | T13 | 负向:未知类型 | `types=foo` | ready=false,note=未知报表类型:foo | 一致(兜底未削弱) | 通过 | | T14 | 弹窗交互 | 前端代码 + 编译 | 可拖动 / 内容滚动 / 底部按钮固定 / 导出 CSV | 代码静态核对通过、前端编译通过;**点击级验收未做**(需触发真实导入才会弹) | 部分通过 | ## 四、发现的问题与处置 1. **伪项目「合   计」**(id=229,咸宁市客运站场,13727 万元,无月度数):来自 2026-09-16 15:07 的 8 月客运导入批次。 解析端的「合计/小计」判定此后已修为去空白匹配,此条属旧批次遗留,本次一并清除(备份同一 TSV 文件)。 2. **8 月版十堰汇总表未清理**:用户已把《湖北省十堰…(2026年7月).xls》里非十堰内容删掉(108032 → 90112 字节,mtime 2026-09-20 14:34), 但**8 月版(mtime 2026-08-20)里仍含武汉 27 + 黄石 4 段**。若再次导入该文件,删除的 31 个项目会重新建档 → 重导前需同样清理。 3. **根因**:这类「一份文件含全省各市州」的省汇总表被当作「市州单表」按块入库(申报单位写十堰、实际收全省)。 程序侧兜底方案(导入时识别多市州块并提示)待用户确认是否要做。 4. **补计口径**:只补「总投资」,不补自开始建设累计/本年计划/本月完成——这三列没有项目主档数据源,符合用户确认的口径。 ## 五、结论 除 T14 的点击级验收外全部通过:残留数据已清除并留档备份;预安排汇总表小计/合计口径已按用户确认调整; 其它投资报表(亿元/经济强县/十五五物流/两张明细表)回归正常。