# 功能测试报告:M1-班线包车(MidCalc 企业+个体取数)与 7 月回归(2026-09-08) ## 一、功能说明 汇总大表数据驱动改造 M1 第五块:把“班线包车页”的数据库取数固化为可复用 Java 计算服务 `MidCalc`(`traffic-audit-server/.../reportexport/calc/MidCalc.java`),输出 “月 → 市州/全省 → [客运量(含个体), 周转量(含个体), 个体客运量, 个体周转量](万人/万人公里)”。 它是中口径明细/排名/分析/道路运输周转量等派生页在数据库中唯一的公路班线数据源。 ## 二、测试环境 - 库:`traffic_audit`(127.0.0.1:3308),数据 = 2026-01~07 已导入现状; - 母版基线:`docs/生成汇总大表/_备份_2026年7月道路运输量汇总表_清理前_20260904.xlsx`(班线包车页,2026 月度数值列 C/E/G/I/K/M/O 均已缓存); - 工具:mysql CLI 取数 + Python 逐格比对(`_m1_mid_regress.py`,结果 `_m1_mid_regress.txt`);后端 `mvn -q -DskipTests compile` 通过(exit=0)。 ## 三、取数口径(经母版逐格反推确认,2026-07 与 1-7 月全部命中) | 母版行 | 口径 | 来源 | |---|---|---| | 客运量 / 旅客周转量(万人 / 万人公里) | **企业总计 + 个体并入** | `h2031_enterprise_monthly.passenger_total / turnover_total`(人/人公里)÷10000,叠加 `passenger_individual_monthly.passenger_count / turnover` ÷10000 | | 其中:个体客运量 / 个体旅客周转量 | 个体数 ÷10000 | 仅黄石/襄阳/荆门/孝感/黄冈/随州 6 市有数 | | 湖北省(全省)行 | 17 市州之和 | 与母版“全省行=Σ城市行”公式一致 | | 同比 | 不计算 | Q1:以母版缓存 2025 参照组为基准,由写回层填表时计算 | ## 四、用例表 | # | 用例 | 输入 | 预期 | 实际 | 结论 | |---|---|---|---|---|---| | 1 | 企业客运量/周转量(含个体并入) | 库 2026-01~07 | 与母版班线包车城市行“客运量/周转量”列逐格一致 | 350 格 diff=0 | 通过 | | 2 | 其中个体客运量/周转量 | 库 2026-01~07 | 与母版“其中个体”行逐格一致(6 市) | 含于上述 350 格,diff=0 | 通过 | | 3 | 湖北省行 = Σ 17 市州 | 库汇总 | 与母版公式口径一致 | 一致 | 通过 | | 4 | 中口径分析“公路班线”锚点 | 库 2026-07 / 1-7 累计 | 当月 1631.2013、累计 11204.5406(母版缓存值) | 1612.2015+18.9998=1631.2013;11062.7993+141.7413=11204.5406 | 通过 | | 5 | 城际城乡公交/出租/网约派生页锚点 | 母版源页 O 列/累计列 | 与中口径分析缓存一致 | 公交当月 1466.66、出租 509、网约 421.46 全中(累计公交见问题 2) | 部分命中 | | 6 | Java 编译 | `mvn -q -DskipTests compile` | 无错误 | exit=0 | 通过 | ## 五、发现的问题与处置 1. 初版回归误把“客运量”行当作纯企业数,比对发现黄石等 6 市母版值 = 企业+个体(差量恰为该市个体值); 经逐格反推确认**班线包车“客运量/周转量”口径含个体**,“其中个体”行为其子集 → 已按含个体口径实现并复跑 0 差异。 2. 母版内部不一致(非本次代码问题,记入待办):中口径分析页“累计城际城乡公交=10194.09”, 与母版公交台账页 1-7 月城际城乡逐月求和 8676.57 不符(差 1517.52),疑为该页旧计算残值; 当月各派生页锚点与源页一致。处置:M2 以源页(本服务+已验收的 Pax/Wyc 服务)数值重算成品页后复验。 3. 中口径排名页当月/累计数值无法用母版源页当前数值解释(部分市州差量恒定),判定同为旧计算残值, 随 M2 成品页重算一并核对,不在 M1 取数层处理。 ## 六、结论与下一步 - 结论:班线包车页可从库完整复算(350 格 0 差异),口径锁定;`MidCalc` 已入库并通过编译。 - 下一步:① M1 剩余派生页口径核对(排名/分析/道路运输周转量,建议随 M2 重算实现);② M2 SummaryFiller 写回台账+成品页并逐格 diff(含本报告问题 2/3 的修复验证);③ 8 月实弹。