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

工作日结_2026-09-20

一、今天做了什么

1. 回答用户核对差异的疑问(承接 09-19)

用户把人工算的一列放进桌面《生成_道路运输量汇总表 (1).xlsx》,问差异原因。
用户追问「是不是取数维度不对造成的——程序直接加『城际城乡』,人工用『总量−城市内』」——
是的,正是这个原因,已在 09-19 修复并推送(问题记于《功能测试报告_中口径排名周转量口径统一_2026-09-19.md》)。

2. 全精度存储 + 两位小数显示改造(今天主任务)

用户指令:「所有的数据都全部全精度保留,计算得到的结果显示两位小数。」

  • 去预舍入:ReportExportService.java 去掉 40 处写入前的 round(...)——
    货运规上/规下/同比(累计与当月)、÷10000 单位换算(省/市 × 月/累计四处)、
    中口径排名/分析写入、排名页占比(setFreightShare、货运量排名/周转量排名块)、
    通用数据格 setDataCell、平均运距兜底、客运转运写入、投资进度、物流占比、投资计划万吨;
    WycSplitCalc.java 平均运距兜底改全精度并删除已无引用的私有 round。
  • 展示位数交给单元格格式:重写 applyTwoDecimalFormat()
    ——数值格统一 0.00(保留 ;[Red]\(...\) 等前后缀),**3 位及以上小数的格式**(0.000_、0.0000)
    用正则 \.0{3,} 收敛为两位;百分比/日期/科学计数/文本格式不动;整数值沿用「不显示 .00」约定。
  • 控制台预览摘要里的 round 保留(不进报表数据)。

过程中修掉的两个自作聪明的坑(均已在测试报告「四、发现的问题与处置」留证):

  1. 「整数不显示 .00」的保护先把公式格跳过了,首轮改造后 货运!EO90/EO93/EO108/EO111
    仍是 0.0000(缓存值 0 被判为整数)→ 把格式归一判断**提到整数保护之前**。
  2. 旧判断 f.contains("0.00") 把 0.000_ 误判为「已是两位小数」,中口径明细 134 格漏改
    → 改正则后归零。

二、测试结果摘要

见《功能测试报告_全精度存储与两位小数显示_2026-09-20.md》:18 条用例(11 正向 / 4 回归 / 3 边界 / 1 负向挂起)通过。

  • 编译通过;22 个导出接口回归,21 个 OK(wycSplit 因缺 docs\网络客运 输入目录 500,属既有问题)。
  • 改前 vs 改后《道路运输量汇总表》逐格对比 66205 个数值格:**仅 249 格变化**,最大 0.00022 万人公里;
    两位小数口径的不一致格 0;错误值数量 589 无变化。
  • 关键值:武汉累计周转量 152330.8912(全精度 152330.89119999998)、孝感 64429.944543113306 不再被截断成 64429.9445。
  • 09-19 遗留的「全省行 0.0002 万人公里」已消除:市州全精度后母版 =SUM(O4:O20) 与明细求和逐位闭合(差 0.0)。
  • 格式:有值数值/公式格中 3 位以上小数格式 108 格 → 0 格(汇总大表)、**134 格 → 0 格**(中口径明细),
    15 个产物合计 0 格。

三、遗留问题与待办

  1. 母版排名页 Q/R 占比公式仍是 =ROUND(B/L*10,1)(货运量排名 Q4:Q42、货运周转量排名 Q5:Q44,共 72 格)。
    程序不覆写公式格,Excel 打开会重算回 1 位再按 0.00 展示。若要彻底全精度,需把三个母版改成 =B/L*10(R 列 =10-Q)——**待用户拍板**。
  2. 仍带 4 位小数格式的 274 格为空值/文本格(无显示值),本次不动;若后续要在这些格填数再评估。
  3. wycSplit 接口依赖 docs\网络客运\网络约车(全省)汇总.xlsx,该目录当前不存在,导出报 500,待补输入。
  4. 09-19 的遗留项(用户表 O 列高速运距同比来源、545 家 vs 全口径上报选择)仍未闭环。

四、明天计划

  1. 按用户反馈决定是否连母版 Q/R 占比公式一起去掉 ROUND(...,1)。
  2. 若用户有其他表的显示位数要求,按同一套「全精度写入 + 格式控制展示」规则处理。
  3. 补齐 docs\网络客运 输入后回归 wycSplit 导出。

本次改动文件

  • traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java
  • traffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/WycSplitCalc.java
  • 文档:docs/功能测试报告/功能测试报告_全精度存储与两位小数显示_2026-09-20.md、本文件