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

功能测试报告:M1-城市客运 公交/出租/轨道轮渡 取数核对与 7 月回归(2026-09-08)

一、功能说明

M1 第二块:新增城市客运计算服务 PaxCalc(traffic-audit-server/.../reportexport/calc/PaxCalc.java),对 公交/巡游出租/轨道/轮渡 提供“月 → 市州 → [客运量,周转量,城市内客运量,城市内周转量](轨道轮渡=轨道客运量,轨道周转量,轮渡客运量,轮渡周转量)”矩阵,与既有 exportCityBusDetail / exportCityTaxiDetail / exportCityRailFerryDetail 的取数逻辑同构,供汇总大表与小表共用。

二、测试环境

  • 库:traffic_audit(127.0.0.1:3308),数据 = 2026-07 现状;
  • 对账母版:docs/生成汇总大表/_备份_2026年7月道路运输量汇总表_清理前_20260904.xlsx(含 5-7 月数据的已修正母版;2026年7月道路运输量汇总表.xlsx 为 1-4 月空骨架,不含 7 月台账列);
  • 工具:mysql CLI + Python 重算 vs 母版 O 列(2026-07);后端 mvn -q -DskipTests compile 通过。

三、取数口径(与既有导出一致)

台账页 来源 行结构(O 列 2026-07)
公交 city_bus_monthly 按 city 汇总 [passenger_volume,turnover,passenger_city,turnover_city] 全省 r5-8;市州 r(9+4i)..r(12+4i)(客运量/周转量/城市内客运量/城市内周转量)
出租 city_taxi_monthly 同字段 同 公交
轨道、轮渡 city_bus_monthly 的 rail_*/ferry_*(轨道=武汉/黄石,轮渡=武汉) 轨道 r6/7=武汉、r8/9=黄石;轮渡 r15/16=武汉;全省=合计公式
全省 17 市州之和(含跨区县多行累加) 母版全省行公式

四、用例表

# 用例 输入 预期 实际 结论
1 公交台账页 2026-07 DB 2026-07 按 city 汇总 与母版 O 列 18 行块(全省+17 市州×4 指标)一致 diff=0 通过
2 出租台账页 2026-07 DB 2026-07 按 city 汇总 同上 diff=0 通过
3 轨道台账页 2026-07 city_bus rail 字段(武汉/黄石) 武汉 11701.74/96240.86、黄石 30.09/404.37、全省 11731.83 一致(0 diff) 通过
4 轮渡台账页 2026-07 city_bus ferry 字段(武汉) 全省=武汉=46.05(客运量) 一致(0 diff) 通过
5 Java 编译 mvn -q -DskipTests compile 无错误 exit=0 通过

五、发现的问题与处置

  1. 注释内出现 rail_*/ferry_*,其中 */ 提前终止 Javadoc 块注释导致编译失败 → 改为“rail 与 ferry 字段”,编译通过(本问题仅影响注释写法,与口径无关)。
  2. 对账母版选择:2026年7月…汇总表.xlsx 是 1-4 月空骨架(台账页无 5-7 月列),7 月台账数值须以 _备份_…_清理前_20260904.xlsx 为基线——已在测试环境注明,M2 回归时统一用该备份文件。
  3. 数据侧口径复核(无需改动):市州存在多个区县代码行,须按 city 汇总累加(与 Java 既有实现一致)。

六、结论与下一步

  • 结论:公交/出租/轨道/轮渡 7 月台账可从库完整复算(0 差异),PaxCalc 已入库并通过编译。
  • 下一步:M1-网约车(WyCSplitCalc:订单×全省 pin×巡游出租拆分)→ 城市客运台账/城市汇总/城市分市州 7 月回归 → M1-MidCalc → M2 SummaryFiller 写回与逐格 diff。