编辑 | blame | 历史 | 原始文档

功能测试报告_网约车订单报告导入_2026-09-11

一、功能说明

支持直接上传部级《网约车行业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月」,取不到时用页面所选报表期;两者都取不到则报错。

二、测试环境

  • 后端:Spring Boot,http://localhost:8090(8090 已监听);前端:http://localhost:8080。
  • 数据库:MySQL 5.7 127.0.0.1:3308 / traffic_audit。
  • 登录:admin;测试时间:2026-09-11。

三、用例表

编号 类型 输入 预期 实际 结论
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》)

四、发现的问题与处置

  1. 问题(已修复):把 Excel/PDF 误传到「网约车订单报告」类型时,接口返回的是 xmlbeans 的英文技术异常(org.apache.xmlbeans.XmlException: ... is not a valid document),页面用户无法理解。
    处置:DataImportService.importWycOrderReport() 的解析段统一捕获异常,改写为用户可读提示,并把原始错误以"(原始错误:…)"附在末尾便于排查。修复后 TC-4 复测通过。
  2. 需要用户操作的事项:当前库中 2026-08 的**市州订单数**是用 7 月报告改标题的临时副本(_t_wyc_aug.docx)导入的,其市州值与 7 月相同;pin(B-E,即客运量/周转量口径)取自 wyc_total_monthly 的 2026-08 行,是正确的。**请把真实的《网约车行业2026年8月运行监测情况分析报告》重新上传一次**(类型选「网约车订单报告」,报表期选 2026-08),即可覆盖为真实 8 月市州订单数。

五、结论

网约车订单运行监测报告(docx)导入功能可用:正向解析 17 市州订单数准确入库并与源文件逐项一致;文件类型错误、内容不符两类负向场景均能给出明确提示;重复导入幂等;导入后汇总大表可自动取到当月数据。建议将真实 8 月报告重传后再次导出核对。