支持直接上传部级《网约车行业YYYY年M月运行监测情况分析报告》(.docx),系统自动解析报告正文附件表中的 17 市州订单数并写入数据库 wyc_order_monthly(F 列订单合计 + G-W 17 市州订单列);
汇总大表「网约车」页取数改为**优先读库**,实现"上传报告 → 汇总表当月网约车数据自动出现"。
改动范围:
- 后端 DataImportService.importWycOrderReport() / parseWycOrderReportTables() / periodOfDocx():解析报告、定位报表期、落库 wyc_order_monthly,并在缺失时从 wyc_total_monthly 补齐全省 pin(B-E)。
- 后端 DataImportController:新增 POST /api/import/wycOrderReport(参数 file + period)。
- 后端 WycSplitCalc.loadMonthlyInputFromDb():汇总表取数优先读 wyc_order_monthly(库里该期订单全空时回退读 docs/城市客运/模板_网约车订单及全省总量.xlsx)。
- 前端 DataImport.vue:导入类型新增「网约车订单报告」,模板提示为 城市客运/模板_网约车订单.docx,接口 /import/wycOrderReport,文件类型限 .docx/.doc。
- 清空映射:wycOrderReport 关联清空 WYC_ORDER 批次;wycOrder 与 wycOrderReport 互为关联清除。
报表期取值规则:优先取报告标题中的「网约车行业YYYY年M月」,取不到时用页面所选报表期;两者都取不到则报错。
http://localhost:8090(8090 已监听);前端:http://localhost:8080。127.0.0.1:3308 / traffic_audit。| 编号 | 类型 | 输入 | 预期 | 实际 | 结论 |
|---|---|---|---|---|---|
| TC-1 | 正向 | 上传 docs/城市客运/模板_网约车订单.docx(《网约车行业2026年7月运行监测情况分析报告》),period=2026-07 |
解析成功,报表期取标题的 2026-07,17 市州全部命中 | 返回"报表期 2026-07,订单合计 29,730,791 单,已写入 17 个市州" | 通过 |
| TC-2 | 正向 | 同上,检查后端日志 | 记录 period/sum/cities/missing | WycOrderReport imported: period=2026-07 sum=2.9730791E7 cities=17 missing=[] |
通过 |
| TC-3 | 入库抽查 | docx 附件表「地市名称 / 订单数总数」17 行,逐项与 wyc_order_monthly 比对 |
17 市州逐一相等,合计相等 | 武汉 11,183,267;黄石 983,296;十堰 2,155,144;宜昌 3,024,336;襄阳 2,390,572;鄂州 321,348;荆门 942,124;孝感 1,220,812;荆州 1,573,514;黄冈 1,125,829;咸宁 928,460;随州 528,210;恩施 2,166,015;仙桃 528,557;潜江 267,879;天门 387,894;林区 3,534;合计 29,730,791 —— 与 DB 完全一致 | 通过 |
| TC-4 | 负向(文件类型错) | 把 模板_网约车订单及全省总量.xlsx 传给报告导入接口 |
给出可读提示,不落库 | 返回"导入失败: 无法读取 Word 文档,请上传 .docx 格式的《网约车行业YYYY年M月运行监测情况分析报告》;若上传的其实是 Excel/PDF,请改用对应模板导入。(原始错误:…)" | 通过(含修复,见第四节) |
| TC-5 | 负向(内容不符) | 上传 城市客运数据优化.docx(非网约车监测报告) |
明确提示未解析到市州订单数 | 返回"导入失败: 未解析到任何市州订单数,请确认上传的是《网约车行业YYYY年M月运行监测情况分析报告》" | 通过 |
| TC-6 | 正向(重复导入幂等) | 同一份 7 月报告连续导入两次 | 第二次覆盖同报表期行,不产生重复行 | 仍返回 17 市州;wyc_order_monthly 中 2026-07 仅 1 行 |
通过 |
| TC-7 | 联调 | 报告导入后重新导出 period=2026-08 汇总大表 |
网约车页当月列(Q 列)出现数值,全省行为求和公式 | Q 列 17 市州全部有值,Q5 起 4 个全省行为 =Q9+Q13+… 求和公式,R 列同比公式 =Q../AJ..-1(AJ=2025年8月) |
通过(详见《功能测试报告_汇总大表8月数据回填与版式对齐_2026-09-11.md》) |
org.apache.xmlbeans.XmlException: ... is not a valid document),页面用户无法理解。DataImportService.importWycOrderReport() 的解析段统一捕获异常,改写为用户可读提示,并把原始错误以"(原始错误:…)"附在末尾便于排查。修复后 TC-4 复测通过。2026-08 的**市州订单数**是用 7 月报告改标题的临时副本(_t_wyc_aug.docx)导入的,其市州值与 7 月相同;pin(B-E,即客运量/周转量口径)取自 wyc_total_monthly 的 2026-08 行,是正确的。**请把真实的《网约车行业2026年8月运行监测情况分析报告》重新上传一次**(类型选「网约车订单报告」,报表期选 2026-08),即可覆盖为真实 8 月市州订单数。网约车订单运行监测报告(docx)导入功能可用:正向解析 17 市州订单数准确入库并与源文件逐项一致;文件类型错误、内容不符两类负向场景均能给出明确提示;重复导入幂等;导入后汇总大表可自动取到当月数据。建议将真实 8 月报告重传后再次导出核对。