自动生成《道路运输量汇总表》落地方案(v0.1,2026-09-03)
表名阅读约定:本文《……》均为**业务中文名**(可直接看懂);程序数据库里的英文表名(如 scale_split_transport)只给开发对照,业务人员不用记。完整对照见《输入输出与逻辑关系总表》第 5 节。
1 目标与交付物
- 系统按报表期自动生成一本汇总工作簿(2026-07 样例已由用户手工制作,位于 docs/生成汇总大表/2026年7月道路运输量汇总表.xlsx)。
- 交付物形态:一个 .xlsx 工作簿,内含 15 个可见页签(版式、公式、样式与人工母版一致),隐藏页(公路总客运、2025年城市客运量、中口径客运量、中口径计算过程)保留但隐藏,本次不纳入数据加工。
- 不再单独生成各小表文件;原各小表导出功能保留不变(供单表场景使用)。
2 总体策略:模板驱动 + 三层流水线
- 以用户人工工作簿为母版:复制其版式/样式/合并/公式,系统只清空数据区并回填,保留页内累计、同比、排名、占比公式并重算。与现有 ReportExportService 的模板替换模式一致,风险最小、与人工最接近。
- 流水线分三层,与《页签逻辑关系说明》一致:
1)台账页填充:班线包车、公交、出租、网约车、轨道轮渡(分方式、分市州、逐月)。
2)口径合成页:城市客运(城市内口径)、中口径明细(城际城乡口径)。
3)成品页:城市汇总、城市分市州、货运、货运量排名、货运周转量排名、中口径排名、中口径分析、道路运输周转量。
- 校验层:页内公式随 recalc 重算;生成后用库内 SQL 聚合与成品逐格对照(阈值:月值 0.005 以内)。
3 页签清单与数据源映射
| 页签 |
层 |
口径与内容 |
数据源(库表/导入类型) |
复用现有逻辑 |
| 班线包车 |
1 |
公路班线+包车,客运量行含个体,其中个体单独行 |
《公路旅客运输月度生产情况表》(H203-1)、《个体客运月报表》 |
生成_公路旅客分市州 改造(个体并入总行已实现,2026-09-03) |
| 公交 |
1 |
全省+市州 总量与其中城市内 |
《城市公共交通月度运营情况表》(公交月报) |
城市客运导出模板逻辑扩展 |
| 出租 |
1 |
巡游出租,总量=城市内 |
《巡游出租汽车运营服务情况月报》(出租导入表) |
同上 |
| 网约车 |
1 |
总量=城市内(拆分来源待定) |
网约车导入表 |
同上 |
| 轨道轮渡 |
1 |
轨道:武汉、黄石;轮渡:仅武汉 |
轨道/轮渡导入数据 |
城市客运导出扩展 |
| 城市客运 |
2 |
公交城市内+出租+网约车+轨道轮渡 |
由第 1 层合成 |
新合成逻辑 |
| 中口径明细 |
2 |
班线+公交城乡差+出租城乡差+网约车城乡差 |
由第 1 层合成 |
现中口径导出改版式为页内填充 |
| 中口径排名 |
3 |
中口径口径市州排名 |
第 2 层 |
现中口径排名导出 |
| 中口径分析 |
3 |
中口径口径全省结构占比 |
第 2 层 |
现中口径分析导出 |
| 城市汇总 |
3 |
分方式城市客运累计/当月 |
第 2 层 |
现城市客运汇总导出 |
| 城市分市州 |
3 |
各市州城市客运明细与排名 |
第 2 层 |
现城市客运分市州导出 |
| 货运 |
3 |
货运量/周转量 规上+规下 |
模板_货运量周转量、拆分表 |
现货运导出 |
| 货运量排名 |
3 |
货运量口径排名 |
同上 |
现货运量排名导出 |
| 货运周转量排名 |
3 |
周转量口径排名 |
同上 |
现周转量排名导出 |
| 道路运输周转量 |
3 |
B=G+L/2+Q/10 |
货运页+城市客运页+中口径明细页 |
新合成页 |
4 关键规则清单(与说明文档第 2、4 节一致)
- 月份列:2026 年 1-7 月值列 C/E/G/I/K/M/O,偶数列为同比;Q 列=1-7 月累计(已确认正确加至 7 月)。
- 同比:本期/2025 年同月-1;2025 同期块在右侧 T 起;无去年数据留空。
- 城乡差=全量-城市内(公交);出租、网约车 全量=城市内(城乡差 0)。
- 班线包车客运量行含个体(其中个体为子集)。
- 轨道轮渡:轨道 武汉+黄石;轮渡 仅武汉。
- 全省行=17 市州求和(公式保留)。
- 道路运输周转量:B=G(货运规上+规下周转量,万吨公里)+L(城市客运量,万人次)/2+Q(中口径总旅客周转量,万人公里)/10;系数 2 与 10 按用户公式原样实现,业务折算依据另行备注。
- 排名用 RANK、占比用 分项/总行 公式,随 recalc 重算。
5 实施步骤与验收
- P0 母版定稿:确认 #REF! 清除方式;固定每页数据区边界(行、列、月份上限 12 月扩展规则);确认 2025 列与 2024 列的填充策略。验收:母版无 #REF!、行列映射清单评审通过。
- P1 骨架生成:新增 workbook 级模板复制与页签管理工具类,生成器入口 exportSummaryWorkbook(period, mode),输出整本工作簿(隐藏页隐藏)。验收:空表可导出、样式保留、页签齐全。
- P2 台账页填充:班线包车、公交、出租、网约车、轨道轮渡。验收:以 2026-07 数据与人工母版同页逐格比对通过。
- P3 合成页填充:城市客运、中口径明细(城乡差公式)。验收:中口径明细校验行 Q1 约等于 0;城市客运=分方式城市内求和。
- P4 成品页填充:城市汇总、城市分市州、中口径排名、中口径分析、货运及两张排名。验收:各页与人工母版逐格比对。
- P5 总周转量合成:道路运输周转量 B=G+L/2+Q/10 与去年对照列。验收:B 列全省=各市州求和、与人工母版一致。
- P6 前端接入:报表生成页新增 汇总工作簿 类型(含 ready 数据就绪检查、生成、下载、导入记录/操作日志)。验收:页面上可一键生成 2026-07 并下载。
- P7 回归与报告:全量对照 2026-07 人工母版;输出《功能测试报告_汇总工作簿生成_<日期>.md》(正向逐格对照、负向缺数据提示、入库抽查)。
6 数据缺口与风险
- 2025 基期:《公路旅客运输月度生产情况表》(H203-1) 目前库内仅 2026-03/07、城市客运仅 2026-06/07,无 2025 数据;2025 同期列只能 留空 或 保留母版缓存值,需拍板。
- 网约车拆分数据源未定:按母版现状先实现 总量=城市内(城乡差 0),等拆分说明后再改。
- 轨道轮渡月度数据是否已入库、字段口径(武汉/黄石)待核对。
- 城市分市州、城市汇总 版式细节需对照官方样张逐格确认。
- 货运规上规下拆分表与周转量模板每月是否有对应月份数据待确认(缺月时该页留空并提示)。
- 母版文件可能被 Excel 占用:生成时一律另存新文件,不改母版。
- 月份>7 时(8-12 月)需先解决模板扩列问题(现中口径明细 7 月后空白问题,另立任务)。
7 待用户拍板清单
REF! 清除:由我程序清除这 9 处单元格(置空),还是保留人工处理?
- 2025 同期列:留空 或 保留母版缓存值?(涉及同比列是否显示)
- 轨道轮渡数据是否已导入系统、是否本月先人工补导测试。
- 汇总工作簿输出目录与命名(建议 docs/生成汇总大表/输出/生成_道路运输量汇总表_YYYY-MM.xlsx)。
- 是否本月就以 2026-07 母版为底稿,先做 P0-P1 试跑第一版骨架。