# 功能测试报告:数据查看「按市州汇总 + 导出 Excel」(2026-09-22) > 日期:2026-09-22 模块:数据查看(后端 CityRollupService/DataViewController + 前端 DataView.vue) 测试人:Codex > 口径依据:2026-09-22 用户确认——起止月任意选、累计同比带上年同期、排名字段可选(留空/按累计值重排)、不放时点列。 ## 一、功能说明 1. **入口**:数据查看工具栏加「视图:明细 / 按市州汇总」切换(仅对有市州维度的类型出现)。 2. **汇总条件**:起止月(任意区间,年初至 N 月即 01~N)、排名口径(留空 / 按累计值重排)、汇总、导出 Excel。 3. **结果**:17 个市州(RegionUtil 规范名与顺序)+「全省合计」行。 4. **口径规则**: - 流量类(客运量/周转量/货运量/订单数)→ 跨期求和; - **时点类(车辆数、企业数、站点数)不参与汇总,不出现在结果中**; - 比率类按累计口径重算:累计同比 = 本期累计 ÷ 上年同期累计 − 1;平均运距 = 累计周转量 ÷ 累计客运量; - 排名默认留空;选「按累计值重排」时按累计值降序给名次,全省合计行不排名; - 合计行由 17 市州相加("湖北省"等合计行不计入,避免重复)。 5. **接口**:`GET /api/data/rollupTypes`(支持汇总的类型)、`GET /api/data/summary`、`GET /api/data/export`(xlsx,数值全精度、显示 2 位小数 / 百分比)。 6. **支持类型(7 类)**:`cityBus`、`cityTaxi`、`h2032`、`h2031`、`passengerIndividual`、`wycOrder`(拆分口径)、`freightTurnover`。 ## 二、测试环境 后端 `mvn spring-boot:run`(8090,`Started TrafficAuditApplication`);前端 8080;MySQL `localhost:3308/traffic_audit`;账号 admin/123456;浏览器:Codex 内置浏览器真机。 ## 三、用例表 ### 3.1 接口用例 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-1 | `rollupTypes` | 返回 7 个类型 | cityBus/cityTaxi/h2032/h2031/passengerIndividual/wycOrder/freightTurnover | 通过 | | TC-2 | 公交 2026-01~08 | 与手工核算一致 | 全省合计客运量 110776.34 万人次、周转量 738254.64 万人公里、平均运距 6.66 公里、累计同比 −3.07%;武汉客运量 36935.38(与 SQL 逐月相加一致) | 通过 | | TC-3 | 公交 2026-03~06 | 区间累计 | 全省合计 59060.71 万人次(= 3~6 月逐月相加) | 通过 | | TC-4 | 货运企业 h2032 2026-01~08 | 与 SQL 一致 | 全省合计货运量 313,998,248 吨、周转量 49,271,617,743 吨公里、平均运距 156.92 公里、同比 −17.37% | 通过 | | TC-5 | 货运量周转量 2026-01~08 | 17 市州之和(排除"湖北省"行) | 130,311.89 万吨,与 SQL 直查 17 市州之和完全一致(修复前误把"湖北省"行与区间重复叠加,曾得到 1,149,579) | 通过 | | TC-6 | 同上 `to=2026-09`(该月无数据) | 自动回退到最新有数月份 | 结果与 01~08 一致;期间标签仍显示请求区间 | 通过 | | TC-7 | 排名 `rankMode=blank` | 排名列为空 | 空(显示 `-`) | 通过 | | TC-8 | 排名 `rankMode=recompute` | 按累计值降序 | 货运量:武汉 1、宜昌 3、黄石 9、十堰 12;全省合计行留空 | 通过 | | TC-9 | 网约车 2026-01~08 | 拆分口径合计 | 全省合计订单 208,229,132 单、客运量 33864.94 万人次 | 通过 | | TC-10 | `export`(公交 2026-01~08) | 生成 xlsx | 5,773 字节,可正常打开、含表头与合计行 | 通过 | ### 3.2 真机用例 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-11 | 数据查看选"道路货物运输月度生产情况" | 出现「视图」切换 | 工具栏:报表期 / 数据类型 / 视图 | 通过 | | TC-12 | 切到"按市州汇总" | 出现起止月、排名、汇总、导出 | 工具栏:数据类型 / 视图 / 起止月 / 排名;按钮:汇总、导出 Excel | 通过 | | TC-13 | 执行汇总 | 18 行、市州冻结、口径提示 | 18 行;冻结列=市州;提示"共 18 条记录 | 道路货物运输企业(按市州汇总) 2026-01 ~ 2026-09 累计;同比基数 2025-01 ~ 2025-09;排名口径:留空";全省合计 313,998,248 吨 / 49,271,617,743 吨公里 | 通过 | | TC-14 | 数值显示 | 千分位 + 2 位小数 + 同比百分比 | 100,729,811 / 16,328,908,098 / 162.11 / −24.39% | 通过 | ## 四、发现的问题与处置 1. **货运量周转量表口径坑**:该表每行是"年初至当期"的行内累计(行内含各月列),跨期再叠加会重复计算;且表内"湖北省"行等于 17 市州之和。已改为只取区间内最新一期那一行、对区间月份求和,并显式排除非市州行 → 由 1,149,579 修正为 130,311.89 万吨(与直查一致)。 2. 结束月无数据(如 2026-09)时自动回退到最新有数月份,避免出现全 0 行。 3. 汇总模式下"报表期/关键字"输入框隐藏(由起止月承担期间条件),避免两套期间条件并存。 4. 排名口径默认"留空";开启重排后按累计值降序,全省合计行不参与排名。 ## 五、结论 「按市州汇总 + 导出 Excel」按用户确认的口径完成并通过 10 条接口用例 + 4 条真机用例;与手工/SQL 核算逐项一致。时点列不参与汇总、比率按累计重算、排名可选,导出保留全精度。