编辑 | blame | 历史 | 原始文档

功能测试报告:H203-1 模板新增「统一社会信用代码 / 填报单位」两列适配

  • 日期:2026-09-16
  • 模块:数据导入 / 数据查看 / 数据库表结构
  • 结论:**通过**(正向 4 条、负向 2 条、兼容 2 条、入库抽查 814×2 项全部对齐)

一、功能说明

用户修改了《模板_交企统H203-1表_公路旅客运输月度生产情况》模板,在「企业名称」之后**插入两列**:统一社会信用代码、填报单位,其余 48 列整体右移,总列数由 50 → 52。本次改动让后端能读取并入库这两列,同时保证老格式文件兼容。

改动清单:
| 层 | 文件 | 改动 |
|----|------|------|
| 数据库 | h2031_enterprise_monthly | ADD COLUMN unified_credit_code VARCHAR(50) NULL AFTER enterprise_name、ADD COLUMN report_unit VARCHAR(200) NULL AFTER unified_credit_code |
| 建表脚本 | docs/init.sql | 同步补两列 |
| 数据字典 | docs/database.md | 同步补两列说明 |
| 实体 | PassengerEnterpriseMonthly.java | 新增 unifiedCreditCode、reportUnit |
| 导入解析 | DataImportService.java | importPassengerMonthly 内按表头名取值 |
| 前端列配置 | DataViewController.java | H2031_COLUMNS 新增两列(数据查看页可见) |

二、测试环境

  • 后端:Started TrafficAuditApplication / Tomcat started on port(s): 8090(重启后新编译,13:30)
  • 前端:8080 已就绪(本次未改前端,未重启)
  • 数据库:traffic_audit @ 127.0.0.1:3308
  • 新模板:docs\公路旅客\模板_交企统H203-1表_公路旅客运输月度生产情况.xlsx(Sheet1,816×52)
  • 老格式:D:\桌面\测试数据\公路旅客\八月\公路旅客运输月度生产情况(2026)_2026-09-09 09_18_45.xls(Sheet0,769×52)

三、用例表

# 场景 输入 预期 实际 结论
1 正向-新模板导入 新模板 → POST /api/import/passengerMonthly?period=2099-07 成功且条数与源文件一致 成功 814 条,失败 0 条 通过
2 正向-新列入库 查 unified_credit_code / report_unit 814 行全部有值 count=814, c1=814, c2=814 通过
3 入库抽查-首行 源第 1 行 vs 库第 1 行 逐字段一致 库:enterprise_code=91420105MA4F5Q3R68、unified_credit_code=91420105MA4F5Q3R68、report_unit=武汉市宏干线公路客运有限公司金地分公司、vehicle_total=26、passenger_total=12835,与 Excel 完全一致 通过
4 入库抽查-汇总列 源文件汇总 vs 库汇总 一致 客运车辆 24584、核定载客位 711018、客运量 16371625、周转量 1023386179,四项全等 通过
5 兼容-老格式导入 老 .xls → period=2099-09 成功且新列有值(老文件也含这两列) 成功 767 条,失败 0 条;c1=767, c2=767 通过
6 兼容-老格式数值不变 2099-09 vs 既有 2026-08(同源同内容) 完全一致 n=767 / v=22091 / p=16286506 / t=1158473501,四项全等 通过
7 兼容-老格式首行抽查 Excel COM 读 .xls 第 2 行 vs 库 一致 源:914201005519761659 / 914201005519761659 / 武汉捷安顺达汽车服务有限公司 / 24 / 54330;库同 通过
8 负向-选错数据类型 H203_1_2026-公路旅客运输月度生产情况(2026).xlsx → passengerMonthly 明确报错、不写库 导入失败: 所选数据类型【公路旅客运输月度生产情况】与文件内容不符:表头缺少必需列【企业名称】【客运量_总计】 通过
9 负向-列右移不影响旧字段 新模板(整体右移 2 列) 企业代码/企业名称/车辆/客运量等旧字段取值不变 解析按表头名 buildHeaderMap 取值,814 条 0 失败,汇总四项与源文件一致(见用例 4) 通过

四、发现的问题与处置

  1. 老格式文件其实也带这两列(统一社会信用代码、填报单位),此前代码未读取 → 本期一并开始入库。这也意味着 2026-01 ~ 2026-08 的存量数据这两列为空,**需要重导对应文件才能回填**(已列入待办,等用户确认)。
  2. 表结构变更必须同步三处:本次首次只改了库与实体,漏了 docs/init.sql / docs/database.md,已补齐。
  3. 替换锚点不唯一导致改错文档:docs/database.md 中 | enterprise_name | varchar(200) | 企业名称 | 出现 4 次,首次批量替换误改了 H203-2 等 3 张表,已 git checkout 回退并改为「先截取 h2031 章节再替换」。

五、结论

  • 新模板与老格式**双向兼容**,导入 0 失败,抽查列逐项对齐;旧字段未受列右移影响。
  • 数据库、建表脚本、数据字典、实体、导入解析、前端列配置**六处一致**。
  • 遗留:存量月份(2026-01 ~ 2026-08)的两列待回填,等用户确认后重导。