# 功能测试报告:数据查看补齐网约车与个体客运类型(2026-09-22) > 日期:2026-09-22 模块:数据查看(前端 DataView + 后端 DataViewController) 测试人:Codex > 诉求来源:数据查看的数据类型应做到"能导入什么数据就能看到什么数据",用于核对导入是否完整。 ## 一、功能说明 数据查看页原先只有 15 个数据类型,网约车与个体客运虽然已有导入接口和模板,但**没有查看入口**,导入后只能查数据库。本次补齐 3 个类型: | 新增类型 | 页面名称 | 数据表 | 列数 | | --- | --- | --- | --- | | `wycTotal` | 网约车总数 | `wyc_total_monthly` | 5 | | `wycOrder` | 网约车订单及全省总量 | `wyc_order_monthly` | 23(含 17 市州订单列) | | `passengerIndividual` | 个体客运量/周转量 | `passenger_individual_monthly` | 7(含由区划代码派生的"市州"列) | 改动点: - 后端 `traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java`:新增 3 个 `switch` 分支、3 组列定义、3 个 Mapper 注入;`passengerIndividual` 用 `RegionUtil.cityByCode` 把 6 位区划代码派生为市州名。 - 前端 `traffic-audit-web/src/views/DataView.vue`:公路旅客模块加"个体客运量/周转量",城市客运模块加"网约车总数""网约车订单及全省总量"。 ## 二、测试环境 - 后端:`mvn spring-boot:run -f traffic-audit-server/pom.xml`,8090,日志出现 `Started TrafficAuditApplication`、`Tomcat started on port(s): 8090` - 前端:`npm run serve`(traffic-audit-web),8080,`Compiled successfully in 4769ms` - 数据库:本机 MySQL `localhost:3308/traffic_audit`(mysql CLI 直查核对) - 登录:`POST /api/auth/login`(admin/123456)取 JWT,后续接口带 `Authorization: Bearer ` ## 三、用例表 ### 3.1 正向用例 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-1 | `GET /api/data/list?type=wycTotal` | 20 行、5 列,列名与模板一致 | total=20,列:报表期/全省网约车客运量/其中城市内客运量/全省网约车周转量/其中城市内周转量;首行 2025-01:2467.79 / 2325.25 / 14910.54 / 12202.49 | 通过 | | TC-2 | `type=wycOrder` | 20 行、23 列(含 17 市州) | total=20,23 列;首行 2025-09:orderSum=17652159,武汉 8076610、黄石 676644…神农架 1424 | 通过 | | TC-3 | `type=passengerIndividual` | 139 行、7 列,含派生市州 | total=139;首行 2025-01:regionCode=420900 → 市州=孝感市,个体客运量 6442、周转量 117502.08 | 通过 | | TC-4 | `type=wycOrder&period=2026-08` | 仅 2026-08 一行 | total=1,rows=1,cols=23 | 通过 | | TC-5 | `type=passengerIndividual&period=2026-08` | 仅 2026-08 | total=6 | 通过 | | TC-6 | `type=passengerIndividual&keyword=孝感` | 仅孝感相关行 | total=40 | 通过 | | TC-7 | 前端下拉 | 公路旅客 3 项、城市客运 5 项 | 下拉新增 3 项,`npm run serve` 编译成功 | 通过 | ### 3.2 负向用例 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-8 | `type=notExist` | 空结果、不报错 | total=0、records=0、columns=0 | 通过 | | TC-9 | `type=wycOrder&period=1999-01`(无数据的期) | 空结果 | total=0、records=0、列定义正常返回 | 通过 | | TC-10 | 不带 token 访问 `/api/data/list` | 401(既有安全策略) | 401 | 通过(非缺陷) | | TC-11 | `type=wycTotal&keyword=xx` | 该表无名称列,关键字不生效 | 仍返回 20 行 | 通过(见遗留 1) | ### 3.3 入库抽查(接口条数 vs 库内行数) | 表 | 库内行数 | 接口 total | 结论 | | --- | --- | --- | --- | | `wyc_total_monthly` | 20 | 20 | 一致 | | `wyc_order_monthly` | 20 | 20 | 一致 | | `passenger_individual_monthly` | 139 | 139 | 一致 | ### 3.4 回归(原有 15 类不受影响) `h2032` 13056 / `transportAuth` 1270 / `trackMileage` 628 / `scaleSplit` 288 / `freightTurnover` 234 / `h2031` 15811 / `passengerAuth` 0 / `cityBus` 2860 / `cityTaxi` 340 / `cityTaxiAuth` 85272 / `investmentProject` 152 / `investmentMonthly` 284 / `investmentSystem` 277 / `energyVehicle` 2568 / `energyAuth` 1203 —— 均正常返回,列数不变。 ## 四、发现的问题与处置 1. `wycTotal` / `wycOrder` 没有名称类字段,页面上"企业/市州名称"关键字框对它无效(返回全量)。属既有交互的一致性问题,未在本次改动,列入待优化。 2. 网约车订单表为宽表(17 市州各一列),明细页横向 23 列,需要横向滚动查看;未做转置,保持与导入文件列序一致,便于核对。 ## 五、结论 3 个新增类型全部通过正向、负向与入库抽查用例,原有 15 类无回归。数据查看现已覆盖**全部可导入的数据类型**,可用于核对导入完整性。 ## 六、附:跨期汇总口径(下一步待做功能的口径依据) 月报各表的月值均为**当月值**。按市州做"任意起止月"汇总时,列按性质分三类处理: - 流量类(客运量、周转量、货运量、订单数)→ 逐月求和; - 时点类(运营车辆数、营运车辆数、企业数)→ 不求和,取期末值(如武汉公交运营车辆 2026 各月 8476→7861,逐月相加会得到 64879 辆,实际 8 月末只有 7861 辆); - 比率类(环比、同比、平均运距、占比)→ 不求和,按累计口径重算。