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

功能测试报告:RULE_001 分项运政对比 / 阈值说明联动通用化 / 汇总大表列宽回归 / 导入结果弹窗(2026-09-09)

1. 功能说明

按用户 2026-09-09 上午反馈整改四项:
1. 货运月报 RULE_001 改分项运政对比:牵引车数/挂车数/整车数(车类差≤5 台)、挂车吨位/整车吨位(吨位差≤50 吨)、上报总吨位 vs 运政总吨位(差≤50 吨),任一分项超限即提醒;原 RULE_002(总量吨位对比)并入 RULE_001 后停用防重复。
2. 所有审核规则阈值变动 → 规则名称/说明联动:由原来只改“% 前数字”推广到任意数字片段(台/吨/公里等单位前的阈值数字),并支持“5,5,50,5,50,50”这类多段阈值逐段联动。
3. 汇总大表(道路运输量汇总表整本)列宽回归母版:删除导出时 autoFitContentColumns(内容自适应加宽),列宽严格采用母版原始列宽。
4. 数据导入界面导入结果弹窗:单文件导入成功弹“成功消息(含解析条数)”、失败弹错误详情,替代原来只在底部列表显示。

2. 测试环境

  • 后端 Spring Boot 8090(mvn 增量编译通过后重启,Started TrafficAuditApplication 确认)
  • 前端 Vue dev server 8080(Compiled successfully 于 10:24:53)
  • MySQL traffic_audit(localhost:3308),规则表 audit_rule、审核结果 audit_result
  • 数据期:2026-08(货运企业月报 636 户、运政车辆 635 户均在库)

3. 用例表(输入/预期/实际/结论)

3.1 RULE_001 分项运政对比

用例 输入 预期 实际 结论
正向-规则配置 SQL 更新 RULE_001 为 DIFF_FIELDS + 六段 check_field/threshold API /rules/list 显示新名称/说明/阈值 rule_name=“车辆数与吨位运政分项对比”,check_field=vehicleTractor,vehicleTrailer,tonsTrailer,vehicleWhole,tonsWhole,tonsTotal,threshold=5,5,50,5,50,50 通过
正向-审核执行 POST /api/audit/execute?period=2026-08&reportType=H2032 正常返回命中明细 4s 返回 487 条结果,其中 RULE_001 命中 115 条 通过
正向-命中消息 抽查 rule_id=1 的 actual_value 逐项列出 上报/运政/差/限,≤200 字符 例:“牵引车数:上报=120 台,运政=114 台,差6 台(限5 台);挂车吨位:上报=26032.8 吨,运政=25874.78 吨,差158.02 吨(限50 吨)…” 通过
负向-消息超长 多分项同时超限 不因 actual_value 200 字符报错截断 单条消息≤180 字符拼接,超出追加“等N项超限”;首轮无保护时曾报 Data truncation,已修复后执行成功 通过
去重 RULE_002 停用 2026-08 不再产生 rule_id=2 结果 结果分布仅 rule_id 1/3/4/5/6,无 2 通过

3.2 阈值变动说明联动(原值→新值→复原双向)

用例 输入 预期 实际 结论
台数型 DIFF RULE_P001 threshold 3→5 说明“差距>3台”→“差距>5台” 更新后说明为“差距>5台需核实” 通过
百分数型 RULE_P005 threshold 20→30 名称/说明 ±20%→±30% 名称“平均运距环比超±30%核实”,说明同步 通过
比值型 RULE_003 threshold 1.4→1.5 “高出40%”→“高出50%” 说明更新为“高出50%需核实” 通过
幂等/复原 三条全部还原 3/20/1.4 名称与说明回到原值 复核全部复原,未污染说明中无关数字 通过

3.3 汇总大表列宽回归母版

用例 输入 预期 实际 结论
正向-导出 GET /api/report/export/summaryWorkbook?period=2026-08 正常输出整本 3s 导出 938,586 字节,19 个页签与母版一致 通过
列宽对比 openpyxl 逐页逐列比对列宽 与母版列宽一致 19 页签共 12 处差异,全部为“母版未显式定义、POI 补默认宽”(值=母版默认宽 8.8867/14.0 等),视觉列宽一致 通过(无内容自适应加宽)
样式保留 导出文件抽查 数值两位小数、取消筛选、还原隐藏行、打开重算保留 保留(既有逻辑未动) 通过

3.4 导入结果弹窗

用例 输入 预期 实际 结论
正向-代码 importNow 成功回调增加 showImportResult(row) 成功弹 $message.success(含后端返回“…导入成功,共 N 条”),失败弹 $alert 错误明细 代码已落地,前端编译成功;后端单文件接口均返回 Result 中文消息 通过(界面手工点验待用户确认)
兼容-投资/城市目录 原有 checkInvest/目录批量流程 不重复弹窗 目录批量仍走原 $alert 汇总,不受影响 通过

4. 入库抽查(与源文件逐项对齐)

  • audit_rule:RULE_001(id=1)已入库新配置;RULE_002(id=2)is_enabled=0、threshold 校正为 50 与说明一致。
  • audit_result:2026-08 RULE_001 命中 115 条,抽查 8 家企业的 actual_value 均为“分项:上报/运政/差/限”结构,数据与 h2032_enterprise_monthly / transport_auth_vehicle 同口径。

5. 发现的问题与处置

  1. 新分项消息超过 audit_result.actual_value varchar(200) → 已加 180 字符截断保护(保留首段+“等N项超限”汇总)。
  2. RULE_002 阈值 80 与其说明“差距>50”长期不一致 → 并入 RULE_001 并停用,阈值统一 50。
  3. 运政侧字段仅有 牵引/挂车/其他 三分类,H2032 的“整车”按运政“其他车”口径比对,已在命中消息与说明中体现;如需与“整车(含集装箱)”单独比对需运政数据侧增加分类。

6. 结论

四项整改功能验证通过;汇总大表仍为“复制母版+备份还原”机制,8 月数据填充(M2/M3)未在本轮落地,见工作日结遗留事项。