xyc
昨天 2f3c2d2851f7693357feb9e62a56a64670755c6a
HANDOFF.md
@@ -6,6 +6,35 @@
## 最新(2026-10-06)
### 10-06:平均拥挤度标签恢复为 2 位小数
- **调整**:按用户要求,“普通国省道观测站平均拥挤度”不再单独使用 3 位小数,恢复为折线图默认 2 位。
- **一致性**:由于折线图现已统一按显示标签精度绘制,10-04、10-05 的拥挤度都会显示并绘制为 `0.49`,不会再出现同标签不同高度。
- **验证**:后端全量 `mvn -q test -f traffic-audit-server\pom.xml` 通过。
### 10-06:折线图统一按显示标签精度绘制
- **口径(用户 2026-10-06 确认)**:同一张折线图中,同一个显示标签必须对应同一个点位高度;分析文字不得引用比该图显示精度更细的差异。
- **实现**:`HolidayTrendChartService.lineChart` 在所有原始统计计算完成后,于最终入图边界调用 `displayValue`;普通图按该图 `valueDecimals` 做 `HALF_UP` 舍入,百分比点标签按 1 位百分比精度(即原始小数 3 位)舍入。折线坐标和点标签共用同一舍入值,纵轴格式沿用该图精度。
- **边界**:只在最终图表显示层舍入,不改数据库、不改累计、快报、同比、环比或调整口径;该规则用于静态分析报告图,不能让文字引用图上无法分辨的微小差异。
- **验证**:`HolidayTrendChartServiceTest` 聚焦测试通过;后端全量 `mvn -q test -f traffic-audit-server\pom.xml` 通过。新增测试覆盖“两个不同原值按 2 位标签舍入后生成相同几何”和百分比精度换算。测试报告:`docs/功能测试报告/功能测试报告_折线图按标签精度绘制_2026-10-06.md`(本地留存,不入库)。
### 10-06:观测站平均拥挤度走势图改为 3 位小数
- **问题**:用户导入 10-05 观测站数据后反馈,最后一张拥挤度图中 10-04、10-05 标签都显示 `0.49`,但点位高度不同。
- **根因**:平均拥挤度原值分别为 `0.490890014472` 和 `0.492414492754`,折线按未取整原值绘制,标签原为最多 2 位小数,导致标签精度与图形精度不一致,不是日汇总或点位计算错误。
- **修正**:`HolidayTrendChartService.lineChart` 新增可选 `valueDecimals`,默认仍为 2;仅“普通国省道观测站平均拥挤度”图传 3 位。10-04、10-05 现在分别显示 `0.491`、`0.492`,其余图口径不变。
- **验证**:后端全量 `mvn -q test -f traffic-audit-server\pom.xml` 通过;重启后只读生成新 DOCX,OCR 标签为 `0.504/0.476/0.467/0.491/0.492`;与用户提供的文档逐图比对,15 张图中仅拥挤度图 `image15` 变化,其他 14 张 SHA-256 完全一致。测试报告:`docs/功能测试报告/功能测试报告_拥挤度走势图精度_2026-10-06.md`(本地留存,不入库)。
- **数据边界**:未导入、覆盖或重导任何业务数据。
### 10-06:往年国省道调整列表补充调整前值
- **改动**:调整列表接口在同一年份、同一日期、普通国省道口径下,从 `holiday_vehicle_flow` 补返回 `originalValue`;没有原始记录时保持空,页面不显示占位符。表格新增“调整前国省道车流量(万辆次)”,原“调整后国省道车流”改为“调整后国省道车流量”。
- **弹窗**:新增/编辑弹窗同步增加只读“调整前国省道车流量(万辆次)”;编辑已有记录时展示 `originalValue`,无原值或新选择日期时不显示内容。切换年份或日期会清空旧原值,避免错日展示。
- **随日期刷新**:新增接口 `GET /api/holiday/adjustments/source-value`,按所选年份和日期实时读取普通国省道原值;新增/编辑弹窗选日期后自动刷新,未查到源数据时显示为空。前端用请求序号丢弃迟到的旧请求,避免快速换日期时串值。
- **边界**:`originalValue` 只是列表展示字段,标记为 `@TableField(exist = false)`,不写库、不参与调整、环比分母、累计或走势图计算。
- **验证**:`mvn -o test` 11 个测试全部通过;`npm run build` 通过;本地重启后只读核对 2025-10-03/04/05 原值分别为 `362.0035/337.9501/334.2040`,无源数据的 2025-10-09 返回空。测试报告:`docs/功能测试报告/功能测试报告_往年国省道调整原值展示_2026-10-06.md`(本地留存,不入库)。
### 10-06:方案 D 已实现(往年国省道调整表 + 环比基期只作用于前一日分母)
- **最终口径**:`HolidayStatService.loadVehicleByDate` 先用 `holiday_vehicle_adjustment` 覆盖对应历史年份的“当日值”,供走势图、同比、累计和快报使用;随后构造“前一日环比分母”,若前一日普通国省道 C 列有值,则用 C 替换该日前一日国省道值,并据此重算非营业性人员流动量、公路人员流动量和总计。所有环比行只继承这份分母。
@@ -17,7 +46,7 @@
  因此 C5 由空变有值不会硬拒绝导入,只会要求历史变更确认;用户确认后即可随调整后的 Excel 重导写入。
- **当前库状态**:本地 `traffic_audit.holiday_vehicle_adjustment` 已执行 DDL(0 行);2026-10-04 业务值仍为旧值 `323.6551`,等待用户自行重导调整后的 Excel。助手未执行任何业务数据导入、覆盖或重导。
- **验证**:后端 `mvn -o test` 9 个测试全绿(含 C5 只改 10-04 环比分母、历史调整进入 2025 当日值)、前端 `npm run build` 通过;页面实测“往年国省道数据调整”卡片与新增弹窗正常。
- **已知取整边界(需沿用现有口径或另作决策)**:快报百分比目前按既定规则先复现源 Excel 单元格格式,再取 1 位小数。10-04 总计环比原始值约 `4.5481%`,源格显示 `4.55%`,再取 1 位得到 `4.6%`;若直接从原始值一次取 1 位则是 `4.5%`。当前代码保留“先 Excel 显示、再快报 1 位”的既有口径;若领导要求改为一次取整,需要单独改快报百分比路径。
- **取整口径(用户 2026-10-06 确认)**:不做“从原始值一次取整”的备选。唯一要求是与 Excel 显示值一致:先按源 Excel 单元格格式生成显示值,再按快报统一 1 位小数。10-04 总计环比原始值约 `4.5481%`,源格显示 `4.55%`,快报取 1 位得到 `4.6%`;这属于既定口径,不是需要修正的边界问题。
> 说明:本文件早前“环比基期只作备用、不参与计算”的段落已作废。该版本针对的是旧实现误把 C 放到 C 所在日本身计算的问题;自方案 D 起,C 的正确语义是**前一日环比分母的调整值**。