# 报表生成输入输出与逻辑关系总表(2026-09-03 版,2026-09-04 增补) > 口径汇总入口:把“报表生成(城市客运/汇总工作簿)”相关功能的输入表、页签关系、逻辑运算汇总如下。 > 详细展开见两篇专题:`docs/生成汇总大表/页签逻辑关系说明.md`(19 页三层结构与勾稽)、`docs/生成汇总大表/自动生成汇总工作簿落地方案.md`(P0-P7 落地方案)。 > 2026-09-04 增补:第 5 节《程序相关库表总览与相互关系》、第 6 节《单位与数值换算规范》、第 7 节《货运规上/规下口径与 scale_split_transport 说明》;落地 SQL 见 docs/生成汇总大表/规下货运量口径_2026-09-04.sql。 ## 1 关系总表 | 功能/报表项 | 输入(文件/库表) | 参与页签 | 关键运算 | 输出 | 口径备注 | |---|---|---|---|---|---| | 网约车客运量拆分表(wycSplit,月度) | 《网约车订单及全省总量.xlsx》当月行:B-E=网约车全省客运量/城市内客运量/周转量/城市内周转量(源自《网约车总数.xlsx》),F=订单合计,G-W=17 市州订单(源自《湖北网络预约出租汽车…分析报告》附件1);city_taxi_monthly 巡游出租月报(客运量/城市内/平均运距/城市内平均运距) | 无(独立页 `yyyy-MM拆分`,客运量块+周转量块) | 客运量=订单占比×全省 pin;城市内 H:武汉=自身、其余按巡游城市内占比剩余分摊至 pinCK;城际城乡=总量−城市内;周转量 G=客运量×巡游平均运距占比分摊 pinZ,城市内同法(用城市内平均运距) | 生成_网约车客运量拆分表_{期}.xlsx | 供《道路运输量汇总表》网约车台账页引用;2026-07 与人工口径四指标最大偏差 0 | | 道路运输量汇总表(summaryWorkbook,整本) | 母版 docs/生成汇总大表/{年}年{月}月道路运输量汇总表.xlsx(P0-P1 整本复制;P2 起逐步改为 台账/口径合成/成品 三层回填) | 19 页:班线包车、公交、出租、网约车、轨道轮渡(台账);城市客运、中口径明细(口径合成);城市汇总、城市分市州、货运、两张排名、中口径排名/分析、道路运输周转量(成品)等 | 目标年=2026 零改动;跨年只替换文本 `2026年`→目标年;数据填充/月份扩展 P2 待定 | 生成_道路运输量汇总表_{期}.xlsx | 母版必须逐月存在(缺月明确报错,不跨月回退);2025/2024 列保留母版缓存值;#REF! 待处理 | | 城市客运既有 9 张(公交/出租/轨道轮渡/汇总/累计等) | 城市公交/巡游出租等月报库表 + docs/城市客运 新版式模板 | 各自单页/双页 | 按各表口径聚合、同比、累计 | 生成_xxx.xlsx | 与本次新增项同列表,统一走两位小数显示规则 | ## 2 网约车拆分算法(与《网约车拆分.xlsx》月页一致) 设 17 市州 i(0=武汉),全省 pin:客运量 K=4852.3、城市内 CK=4430.84、周转量 Z=28348.02、城市内 CZ=22705.61(2026-07)。 - C_i = 订单_i ÷ Σ订单 × K(网约车客运量)。 - 巡游占比 F_i = 出租城市内客运量_i ÷ 出租客运量_i。 - 城市内客运量 H_i:武汉 H_0 = C_0×F_0;其余 H_i = (C_i×F_i) ÷ (ΣC_jF_j − C_0F_0) × (CK − C_0F_0)。城际城乡 I_i = C_i − H_i。 - 周转量 G_i = (C_i×平均运距_i) ÷ Σ(C_j×平均运距_j) × Z;城市内周转量 Hl_i:武汉 = G_0;其余 = (H_i×城市内平均运距_i) ÷ (ΣH_j×城市内平均运距_j − H_0×城市内平均运距_0) × (CZ − G_0);城际城乡周转量 Il_i = G_i − Hl_i。 - 平均运距缺省兜底 = 周转量 ÷ 客运量(城市内同理);武汉无城际城乡(H=K、I=0)。 ## 3 汇总工作簿三层口径(摘要,详见页签逻辑关系说明.md) - 第 1 层台账页(分方式明细):班线包车(含个体)、公交、出租、网约车、轨道轮渡;全省+17 市州逐月,行结构 4 行/市州(客运量/周转量/其中客运量/其中周转量)。 - 第 2 层口径合成:城市客运(=公交城市内+出租城市内+网约车城市内+轨道轮渡);中口径明细(=班线全量+公交城乡差+出租城乡差+网约车城乡差)。城乡差=台账页“总量行−其中城市内行”(2026-07:出租全省 509.00、网约车 421.46;武汉城乡差=0)。 - 第 3 层成品:城市汇总、城市分市州、货运/排名、中口径排名/分析、道路运输周转量(B=G+L/2+Q/10:货运周转量+城市客运量/2+中口径总旅客周转量/10)。 - 轨道轮渡:轨道=武汉+黄石;轮渡仅武汉;黄石无轮渡。 ## 4 共性规则 1. 数值“显示两位小数、保留全精度”:所有生成工作簿出口统一执行 applyTwoDecimalFormat(`0.00` 显示;整数/%/日期/科学计数/已含 0.00 样式不动)。 2. 缺数据不静默:wycSplit 缺输入行、summaryWorkbook 缺当月母版、ready 前置校验缺库表数据时,列表置“缺数据”并给出原因,导出明确报错。 3. 状态查询:/api/report/ready(数据就绪)、/api/report/preview、/api/report/export/{key}(单个)、/api/report/export/selected(多选 zip)均已覆盖新类型。 ## 5 程序相关库表总览与相互关系(2026-09-04 增补) 链路总览:**导入台账层**(业务月报/季报/年报入库)→ **审核层**(规则校验)→ **报表生成层**(单表导出 / 汇总工作簿 / 网约车拆分)→ 输出文件。全部业务导入统一挂 `import_batch_id` 可回溯到批次与原始文件。 | 库表 | 环节 | 周期 | 数据来源(导入类型/模板) | 关键字段(含单位) | 用途与相互关系 | |---|---|---|---|---|---| | import_batch | 导入 | - | 所有导入共用 | id/batch_no | 批次总表;各业务表.import_batch_id → import_batch.id | | h2032_enterprise_monthly | 导入台账 | 月 | H203-2 道路货物运输月度生产情况(模板_交企统H203-2表…xlsx) | region_code(6位区划)、freight_total(**吨**)、turnover_total(**吨公里**) | 规上企业明细;÷10000 汇总为规上货运量/周转量(分市州),供货运报表与汇总表“ 货运”页 | | transport_auth_vehicle | 导入台账 | 月 | 运政车辆(模板_运政车辆.xlsx;H203-2 第二 sheet) | 企业/车辆/吨位 | 规上企业车辆数核对 | | h2031_enterprise_monthly | 导入台账 | 月 | H203-1 公路旅客运输月度生产情况 | region_code、passenger_total/turnover_total 等 | 班线包车台账(企业部分);分市州公路旅客报表 | | passenger_individual_monthly | 导入台账 | 月 | 个体客运月报(独立模板) | 市州、客运量/周转量 | 班线包车“其中个体”行;公路旅客个体并入总行口径 | | passenger_auth_vehicle | 导入台账 | 月 | 旅客运政车辆数(模板;H203-1 第二 sheet) | 企业/车辆数/载客位数 | 旅客车辆核对 | | h204_vehicle_quarterly | 导入台账 | 季 | H204 道路货运车辆能源消耗情况(官方能耗格式,固定列位解析) | 车牌/车型/燃料/能耗 | 能耗季报;h204 明细与运政信息同报表期互斥防重导 | | h204_auth_vehicle | 导入台账 | 季 | 能耗车辆运政信息(模板_能耗车辆运政信息.xlsx) | 车牌/车辆类型/燃料类型/标记吨位/准牵引质量 | 能耗车辆档案 | | vehicle_track_mileage | 导入台账 | 月 | 轨迹里程(模板_轨迹里程.xlsx) | 车辆/里程 | 运政口径里程轨迹数据 | | city_bus_monthly | 导入台账 | 月 | 城市公交月报(城市公共交通月度运营情况,企业级) | region_code、city、passenger_volume/passenger_city/…、rail_*、ferry_* | 公交台账页(总量/城市内/城乡差);轨道轮渡扩展列存轨道/轮渡月度数(武汉/黄石) | | city_taxi_monthly | 导入台账 | 月 | 巡游出租汽车运营服务情况月报(U402,市州级) | city、passenger_volume/passenger_city、avg_distance 等 | 出租台账页(总量行+其中城市内行);网约车拆分的巡游占比/平均运距输入 | | city_taxi_auth | 导入台账 | 月 | 出租车运政车辆(车辆级明细) | 车牌/档案/道路运输证字号 | 运营车数对比;市州归属按证号提取 6 位区划 | | freight_turnover_import | 导入台账 | 月 | 货运量周转量表(模板_货运量周转量.xlsx) | region_name、freight_m01..12(**万吨**)、turnover_m01..12(**万吨公里**)、last_freight/last_turnover_m01..12 | **全口径(规上+规下)总量**+2025 去年同月(合计口径);含“湖北省”行用于校验;17 市州行求和=全省行 | | scale_split_transport | 导入台账/派生 | 月 | 规上规下拆分表(模板_规上规下拆分运输量.xlsx,当月/累计两个 sheet) | region_name、above/below/total_turnover(**万吨公里**,含排名/同比)、above/below/total_freight | 周转量的规上/规下/合计拆分入库;模板没有货运量列,故三个 freight 列为空(详见第 7 节) | | investment_monthly / investment_project / investment_system | 导入台账 | 月 | 投资月报(客运站场/物流园区等类型)/项目库/投资系统导出 | 市州、项目、金额、进度 | 投资模块审核比对(按月与投资系统导出对账 I004 等规则) | | audit_rule / audit_run / audit_result / audit_explanation | 审核 | - | 审核引擎 | 规则编码、批号、命中/通过、解释 | audit_run 一次执行;audit_result 命中明细挂业务表与行号;audit_explanation 汇总说明 | | llm_desensitize_map | 辅助 | - | AI 分析 | 原文→脱敏映射 | 导出 AI 分析时脱敏 | | sys_user / sys_role / sys_dept | 系统 | - | - | - | 登录与数据权限(省/市/县) | 报表生成层不直接产生库表,按“报表项→模板→库表聚合→输出 xlsx”,见第 1 节关系总表与 `docs/生成汇总大表/自动生成汇总工作簿落地方案.md`。 ## 6 单位与数值换算规范(2026-09-04 增补,均用 2026-07 库值与母版逐格验证) | 库表字段 | 库内单位 | 报表单位 | 换算 | 2026-07 验证样例 | |---|---|---|---|---| | h2032.freight_total | 吨 | 万吨 | ÷10000 | 武汉合计 12275499 吨 → 1227.55 万吨 = 母版“规上货运量”7月 | | h2032.turnover_total | 吨公里 | 万吨公里 | ÷10000 | 武汉合计 2048095633 吨公里 → 204809.56 万吨公里 = 母版“规上货物周转量”7月 | | freight_turnover_import.freight_mXX | 万吨 | 万吨 | 直接使用 | 全省 O5 = 16285.71 与“湖北省”行、17 市州求和一致 | | freight_turnover_import.turnover_mXX | 万吨公里 | 万吨公里 | 直接使用 | 武汉 O14 = 667561.37 | | scale_split_transport.*_turnover | 万吨公里 | 万吨公里 | 直接使用(拆分模板数值) | 武汉 above 累计 1440570.29=母版 Q15 | | 汇总表母版值列 C/E/G/I/K/M/O 与 2025 列 T..AP | 与指标同(万吨/万吨公里…) | 同左 | 直接使用;2025 列为人工缓存值 | 全省规下 O9=12530.93、AF9=12187.25(25年7月) | 注意:**freight_turnover_import(万吨/万吨公里)与 h2032(吨/吨公里)单位不同**,跨表相减前必须先对 h2032 ÷10000,否则会差 4 个数量级。 ## 7 货运规上/规下口径与 scale_split_transport 说明(2026-09-04 新增,业务口径已确认) **口径公式(分市州,逐月同式)** - 规上货运量(万吨)= SUM(h2032.freight_total) ÷ 10000 - 全口径货运量(万吨)= freight_turnover_import.freight_m{MM} - **规下货运量(万吨)= 全口径 − 规上** - 规上/规下货物周转量同式:规上=SUM(h2032.turnover_total)÷10000;全口径=freight_turnover_import.turnover_m{MM};规下=全口径−规上 - 全省校验:17 市州求和 = “湖北省”行 = 母版 O5(货运量)/O6(周转量);规下全省 = O9/O10 **2026-07 验证结果(对母版 docs/生成汇总大表/2026年7月道路运输量汇总表.xlsx“ 货运”页)** - 规上合计 3754.78(母版 O7)、全口径 16285.71(O5)、规下合计 12530.93(O9)——三者全等。 - 17 市州规上逐市州与母版“规上货运量”列一致(武汉 1227.55、黄石 133.08、荆州 145.22、林区 7.90…)。 - 规下分市州示例:武汉 3713.42、襄阳 2578.93、荆州 869.60、鄂州 108.68、林区 25.67;各市州规下求和=12530.93。 - 周转量同式也成立:武汉 规下周转量 462751.81(=667561.37−204809.56)= 母版 O16。 **scale_split_transport 大白话说明** - 它对应“规上规下拆分表”的导入结果:一张表存“规上企业运输量、规下运输量、运输量合计”三块(各带排名、同比),供报表生成直接用拆分结果、不用现算。 - 目前导入的拆分模板(`模板_规上规下拆分运输量.xlsx`)**只有周转量**,所以表里 above/below/total_turnover 有数(2026-07 已入库 126 行,period_type=CUMULATIVE),而 above/below/total_freight 三个货运量列模板里没有、一直是 NULL——**不是程序 bug,是输入模板不含货运量**。 - 若以后希望该表也装货运量拆分:程序/脚本可按本节公式回填(SQL 已给示例),报表取数既可“实时算”也可“落表取数”,二选一即可,避免两处都算不一致。 **落地 SQL**:`docs/生成汇总大表/规下货运量口径_2026-09-04.sql`(Q1 分市州口径、Q2 全省校验、Q3 可选的 scale_split_transport.freight 回填示例,回填默认注释不执行)。 **2025 基准说明(与 Q2 拍板一致)** - 全口径 2025 基准:freight_turnover_import.last_freight/last_turnover_mXX 有值。 - 规上 2025 拆分与规下 2025 拆分:库内 h2032 未导入 2025,只能取汇总表母版 2025 缓存列(T..AP,含规上/规下),已核实 12 个月均有值 → “保留母版缓存值”方案可行。 ## 8 相关文档索引(持续同步) - `docs/生成汇总大表/页签逻辑关系说明.md`:19 页三层结构与勾稽关系(台账/口径合成/成品)。 - `docs/生成汇总大表/自动生成汇总工作簿落地方案.md`:P0-P7 实施步骤与验收。 - `docs/生成汇总大表/汇总表母版数据体检与待决策清单_2026-09-04.md`:5 个成品页“当月块错用累计值”问题与 A/B 方案。 - `docs/报表生成_关系逻辑与每日进度总表.xlsx`:Sheet1 报表关系、Sheet2 页签口径、Sheet3 待确认、Sheet4 每日进度(唯一进度总表)。 - `docs/生成汇总大表/规下货运量口径_2026-09-04.sql`:货运规下口径落地 SQL。