zhizhijie
2026-09-16 8fd1e1134785eb20ff9640bf7b6f62a6d14df26e
fix(summary): 货运页签累计列改为市州汇总派生,修 2021/2022/2023 累计对不上

用户反馈:汇总大表《 货运》页签 6 个累计列中,只有前面四个 (2026 S / 2025 AT /
2024 BV / 2023 CW) 与人工核算对得上。

根因(Excel COM 逐月实测定位):
- 「规上」全省行永远是 17 市州之和(公式),一处不差;
- 差异 100% 来自「全省规下」行 —— 它是写死的常量,与 17 市州规下之和不等:
2023 差 4.6e-3、2022 差 3.1e-3、2021 差 1.5e-4;2024/2025/2026 恰好为 0;
- 「17 市州行之和」恰好等于源文件湖北省行(2022=144979.2825、2023=173045.2964),
即用户人工核算的那个数;
- 另有 DZ(2022累计) 为写死常量、EO(2021累计) 整列为空、EA(2022累计同比) 为写死常量。

改动(只改母版 docs/生成汇总大表/2026年8月道路运输量汇总表.xlsx 的「 货运」页):
- r7/r8/r9/r10(全省 规上/规下 货运量·周转量)2021-2025 各月:写死常量 -> 17 市州求和公式;
- r5/r6(全省 货运量/周转量)2021-2025 各月:-> =m7+m9 / =m8+m10;
- DZ(2022累计) 写死常量 -> =SUM(DM:DX);
- EO(2021累计) 空 -> =SUM(EC:EN);
- EA(2022累计同比) 写死常量 -> =IFERROR(DZ/SUM(EC:EN)-1, 空串)。
共 360 + 324 个单元。2026 年块不动(当月值由导出代码回填);EP(2021累计同比) 保持为空
(页内无 2020 块,无同比基期)。改前备份 docs/生成汇总大表/_bak_202608母版修改前_20260916/。

实测(重导出 2026-08 + Excel 重算):
2026 S 130311.8927 / 源 130311.8927 (差 -1.8e-6)
2025 AT 195433.2232 / 源 195433.2232 (+4.1e-5)
2024 BV 184938.5780 / 源 184938.5780 (-2.1e-5)
2023 CW 173045.2932 -> 173045.2964 / 源 173045.2964 (+2.9e-5)
2022 DZ 144979.2854 -> 144979.2825 / 源 144979.2825 (-2.9e-11)
2021 EO 空 -> 161309.5316 / 源 161309.5316 (+2.0e-5)
导出件「全省行」vs「17 市州行之和」逐月 <= 9.3e-10;2026-07 导出回归通过。

chore(db): 清理 h2032_enterprise_monthly 2026-09 脏期

- DELETE h2032_enterprise_monthly WHERE report_period=2026-09 -> 636 行
- DELETE import_batch WHERE id=302 -> 1 行
依据:batch 302 文件名为「道路货物运输月度生产情况(2026年8月).xls」却被存成 2026-09;
2026-09-11 已用正确 8 月文件重导为 2026-08(batch 320,同为 636 行/90 区划)。
已留可还原备份 _backup_h2032_2026-09_rows_20260916.sql(636 元组)与
_backup_h2032_2026-09_batch302_20260916.sql。

docs: 新增《功能测试报告_货运页签累计列修复与脏期清理_2026-09-16》,工作日结补记第二十节。

已知遗留(未改):
- 2026-09 期在 h204_vehicle_quarterly(1284行) / investment_monthly(31行) /
audit_result(2061行) / audit_run(3行) 中仍在,待用户确认是否清理;
- 2026-07 导出件「 货运」页为 118x145(比 8 月少 2 列),因 7 月母版是 1-4 月骨架。
2个文件已修改
1个文件已添加
244 ■■■■■ 已修改文件
docs/功能测试报告/功能测试报告_货运页签累计列修复与脏期清理_2026-09-16.md 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/工作日结/工作日结_2026-09-16.md 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/生成汇总大表/2026年8月道路运输量汇总表.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
docs/¹¦ÄܲâÊÔ±¨¸æ/¹¦ÄܲâÊÔ±¨¸æ_»õÔËҳǩÀÛ¼ÆÁÐÐÞ¸´ÓëÔàÆÚÇåÀí_2026-09-16.md
New file
@@ -0,0 +1,176 @@
# åŠŸèƒ½æµ‹è¯•æŠ¥å‘Š â€” è´§è¿é¡µç­¾ã€Œç´¯è®¡ã€åˆ—修复 + H2032 è„æœŸæ¸…理
- **功能名**:汇总大表《 è´§è¿ã€‹é¡µç­¾ç´¯è®¡åˆ—修复;`h2032_enterprise_monthly` 2026-09 è„æœŸæ¸…理
- **日期**:2026-09-16
- **结论**:**通过**(6/6 ç´¯è®¡åˆ—与源文件人工核算一致;脏期已清除且留有可还原备份)
## ä¸€ã€åŠŸèƒ½è¯´æ˜Žä¸ŽèƒŒæ™¯
用户反馈:汇总大表《 è´§è¿ã€‹é¡µç­¾çš„「累计」数据,人工核对后**只有前面四个能对上**。
` è´§è¿` é¡µç­¾å…± 6 ä¸ªç´¯è®¡åˆ—(全省行):
| åˆ— | å¹´åº¦ | ä¿®å¤å‰ | æºæ–‡ä»¶æ ¸ç®— | å·®å¼‚ |
|---|---|---|---|---|
| S | 2026(1-8月) | 130311.8927 | 130311.8927 | 0 |
| AT | 2025 | 195433.2232 | 195433.2232 | 0 |
| BV | 2024 | 184938.5780 | 184938.5780 | 0 |
| CW | 2023 | 173045.2932 | 173045.2964 | -0.0033 |
| DZ | 2022 | 144979.2854 | 144979.2825 | +0.0029 |
| EO | 2021 | ç©º | 161309.5316 | æ•´åˆ—缺失 |
周转量行同理(2023 -0.0017、2022 +0.0025、2021 ç©ºï¼‰ã€‚
## äºŒã€æ ¹å› å®šä½
### 2.1 ç»“构与文件职责
母版:`docs/生成汇总大表/2026å¹´8月道路运输量汇总表.xlsx` â†’ ` è´§è¿` é¡µï¼ˆ118x147)。
- `生成_道路运输量汇总表.xlsx` ä»…作**列宽版式参照**(`applySummaryReferenceLayout` åªè¯»åˆ—宽与隐藏标记,不读数值);
- `2026å¹´8月道路运输量汇总表_版式原型.xlsx` è¿è¡Œæ—¶**未被任何代码引用**。
全省块 6 è¡Œï¼šr5 è´§è¿é‡ã€r6 å‘¨è½¬é‡ã€r7 å…¶ä¸­è§„上货运量、r8 å…¶ä¸­è§„上周转量、r9 å…¶ä¸­è§„下货运量、r10 å…¶ä¸­è§„下周转量。
17 ä¸ªå¸‚州块每块 6 è¡Œï¼Œå—首行 11,17,...,107(武汉市...林区)。
关键:全省 r5 = `=<m>7+<m>9`(规上+规下),r7 = 17 å¸‚州规上之和(公式),而 **r9(全省规下)是写死的常量**。
### 2.2 å†³å®šæ€§æµ‹é‡ï¼ˆExcel COM é‡ç®—后逐月比较「全省行」与「17 å¸‚州行之和」)
| å¹´åº¦ | åˆè®¡å·® | è§„上差 | è§„下差 |
|---|---|---|---|
| 2026(1-8) | 2.8e-5 | 1.8e-12 | 2.8e-5 |
| 2025 | 3.3e-11 | 9.1e-13 | 3.5e-11 |
| 2024 | 1.5e-11 | 9.1e-13 | 1.3e-11 |
| 2023 | **4.6e-3** | 4.5e-13 | **4.6e-3** |
| 2022 | **3.1e-3** | 2.3e-13 | **3.1e-3** |
| 2021 | 4.0e-5 | 4.0e-5 | 1.5e-4 |
**结论:规上永远对得上;差异全部来自「全省规下」这一行的写死常量与 17 å¸‚州规下之和不等。**
同时实测「17 å¸‚州行之和」等于源文件湖北省行:2022 ç´¯è®¡ 144979.2825、2023 ç´¯è®¡ 173045.2964,与人工核算**完全一致**。
### 2.3 å…¶ä½™åŽŸå› 
- **DZ(2022 ç´¯è®¡ï¼‰å†™æ­»å¸¸é‡**,不随数据刷新(其值恰好等于自身 12 ä¸ªæœˆä¹‹å’Œï¼Œæ•…改成公式属等值改动);
- **EO(2021 ç´¯è®¡ï¼‰æ•´åˆ—为空**,母版从未填过累计公式(2021 å¹´ `EC:EN` åäºŒä¸ªæœˆéƒ½æœ‰å€¼ï¼‰ï¼›
- **EA(2022 ç´¯è®¡åŒæ¯”)也是写死常量**;
- å¯¼å‡ºä»£ç åªå›žå¡«ã€Œç›®æ ‡å½“月」一列(`SummaryWorkbookFiller.fillFreightSheet`),历史月份一律沿用母版 â†’ æ¯ç‰ˆå¯¹ä¸ä¸Šå°±æ•´ä½“对不上。
## ä¸‰ã€ä¿®æ”¹å†…容
### 3.1 æ¯ç‰ˆã€Š2026å¹´8月道路运输量汇总表.xlsx》→ ` è´§è¿` é¡µ
| # | ä½ç½® | æ”¹å‰ | æ”¹åŽ |
|---|---|---|---|
| 1 | r7 å…¶ä¸­è§„上货运量(2021-2025 å„月) | å¸¸é‡/部分公式 | `=SUM(<17 å¸‚州规上货运量行>)` |
| 2 | r9 å…¶ä¸­è§„下货运量(2021-2025 å„月) | **写死常量** | `=SUM(<17 å¸‚州规下货运量行>)` |
| 3 | r8 å…¶ä¸­è§„上周转量(2021-2025 å„月) | å¸¸é‡/部分公式 | `=SUM(<17 å¸‚州规上周转量行>)` |
| 4 | r10 å…¶ä¸­è§„下周转量(2021-2025 å„月) | **写死常量** | `=SUM(<17 å¸‚州规下周转量行>)` |
| 5 | r5 è´§è¿é‡ï¼ˆ2021-2025 å„月) | å¸¸é‡/公式 | `=<m>7+<m>9` |
| 6 | r6 å‘¨è½¬é‡ï¼ˆ2021-2025 å„月) | å¸¸é‡/公式 | `=<m>8+<m>10` |
| 7 | DZ åˆ—(2022 ç´¯è®¡ï¼Œè¡Œ 5-112) | å†™æ­»å¸¸é‡ | `=SUM(DM<r>:DX<r>)` |
| 8 | EO åˆ—(2021 ç´¯è®¡ï¼Œè¡Œ 5-112) | **空** | `=SUM(EC<r>:EN<r>)` |
| 9 | EA åˆ—(2022 ç´¯è®¡åŒæ¯”,行 5-112) | å†™æ­»å¸¸é‡ | `=IFERROR(DZ<r>/SUM(EC<r>:EN<r>)-1,"")` |
共改写月块单元 360 ä¸ªã€ç´¯è®¡å•å…ƒ 324 ä¸ªã€‚
- 2026 å¹´å—(C..Q)**不动**:当月值由导出代码回填,且其累计已与源文件一致;
- EP(2021 ç´¯è®¡åŒæ¯”)**保持为空**:页内没有 2020 å¹´åº¦å—,无同比基期可引用;
- åªæ”¹æ¯ç‰ˆè¿™ä¸€ä¸ªæ–‡ä»¶ã€‚`生成_道路运输量汇总表.xlsx` æ˜¯åˆ—宽参照件(改它反而有列宽被 Excel é‡å†™å¸¦åçš„风险),`_版式原型.xlsx` è¿è¡Œæ—¶æœªè¢«å¼•用,两者均不动;
- åŒæœŸå¤‡ä»½æ¯ç‰ˆè¿˜åŽŸæœºåˆ¶**不会**冲掉本次改动:`resolveSummaryDonor(2026,8)` è¦æ±‚文件名以 `_备份_` å¼€å¤´ä¸”含「2026å¹´8月」,目录下无匹配文件;导出日志亦确认「未找到同期备份母版」。
改动前备份:`docs/生成汇总大表/_bak_202608母版修改前_20260916/`(3 ä¸ªåŽŸæ–‡ä»¶ï¼‰ã€‚
> å®žçŽ°æ–¹å¼ç”¨ **Excel COM** æ‰“开母版改公式并 `CalculateFullRebuild` åŽä¿å­˜ã€‚**不可用 openpyxl å¦å­˜**:会清空全本公式缓存值(2026-09-16 æ›¾å› æ­¤è®© 2021 å¹´æ¹–北省行变成 0,见工作日结第十八节)。
### 3.2 æ•°æ®åº“
| æ“ä½œ | å¯¹è±¡ | å½±å“è¡Œæ•° |
|---|---|---|
| DELETE | `h2032_enterprise_monthly` WHERE `report_period='2026-09'` | 636 |
| DELETE | `import_batch` WHERE `id=302` | 1 |
依据:batch 302 çš„æ–‡ä»¶åæ˜¯ã€Œé“路货物运输月度生产情况(2026å¹´8月).xls」,却被存成 `2026-09`(2026-09-10 09:03:29 å¯¼å…¥ï¼‰ï¼›2026-09-11 17:48 å·²ç”¨æ­£ç¡®çš„ 8 æœˆæ–‡ä»¶é‡å¯¼ä¸º `2026-08`(batch 320,同为 636 è¡Œ / 90 åŒºåˆ’)。
备份(可还原):`_backup_h2032_2026-09_rows_20260916.sql`(636 ä¸ªå…ƒç»„)、`_backup_h2032_2026-09_batch302_20260916.sql`。
## å››ã€æµ‹è¯•环境
| é¡¹ | å€¼ |
|---|---|
| åŽç«¯ | Spring Boot,`http://127.0.0.1:8090`(运行中) |
| æ•°æ®åº“ | MySQL 8.0,`127.0.0.1:3308`,库 `traffic_audit` |
| å¯¼å‡ºæŽ¥å£ | `GET /api/report/export/summaryWorkbook?period=2026-08&mode=month` |
| é¢„览接口 | `GET /api/report/preview?period=2026-08&mode=month&types=summaryWorkbook` |
| å…¬å¼æ±‚值 | Excel COM(`CalculateFullRebuild`)——导出件公式**无缓存值**,openpyxl è¯»å‡ºæ¥å…¨æ˜¯ None,必须用 Excel é‡ç®— |
| æºæ–‡ä»¶ | `D:\05_数据分类\高速\定稿-湖北省各市州运输量数据(2026å¹´1-8月).xlsx`(2021/2022/2024/2025/2026 é¡µï¼‰+ `D:\05_数据分类\货运\7月\定稿-湖北省各市州运输量数据(2026å¹´1-7月).xlsx`(2023 é¡µï¼‰ |
## äº”、用例表
### 5.1 æ­£å‘用例
| # | è¾“å…¥/操作 | é¢„期 | å®žé™… | ç»“论 |
|---|---|---|---|---|
| P1 | é‡å¯¼å‡º 2026-08 æ±‡æ€»å¤§è¡¨ï¼ŒExcel é‡ç®—后读 ` è´§è¿` å…¨çœè¡Œ 6 ä¸ªç´¯è®¡åˆ— | 2021/2022/2023 ä¸Žæºæ–‡ä»¶ä¸€è‡´ | 2026 å·® -1.8e-6、2025 +4.1e-5、2024 -2.1e-5、2023 +2.9e-5、2022 -2.9e-11、2021 +2.0e-5(周转量同量级) | é€šè¿‡ |
| P2 | åŒä¸Šï¼Œè¯» 2021 ç´¯è®¡åˆ— EO | æœ‰å€¼ä¸”等于 161309.5316 | 161309.5316 | é€šè¿‡ |
| P3 | å¯¼å‡ºä»¶ã€Œå…¨çœè¡Œã€é€æœˆ vs「17 å¸‚州行之和」 | å·®çº¦ç­‰äºŽ 0 | 2021<=5.5e-12、2022<=5.5e-12、2023<=3.6e-12、2025<=5.5e-12(周转量 <=9.3e-10) | é€šè¿‡ |
| P4 | æ¯ç‰ˆé‡ç®—后同上 | å·®çº¦ç­‰äºŽ 0 | 2021-2025 å…¨éƒ¨ <=9.3e-10 | é€šè¿‡ |
| P5 | å¯¼å‡ºä»¶ 2026 å¹´ 8 æœˆå½“月值 | å…¨çœè´§è¿é‡ 16888.76 | Q5=16888.7615,Q11(武汉市)=5173.1802 | é€šè¿‡ |
| P6 | é¢„览接口 `types=summaryWorkbook` | è¿”回汇总指标 | `ready=true`、`rows=159`、20 é¡¹æŒ‡æ ‡ï¼ˆå½“月货运量 16888.76、累计 130311.89) | é€šè¿‡ |
| P7 | 2021 ç´¯è®¡åŒæ¯” EA æŠ½æŸ¥ | åˆ†æ¯ä¸º 0 çš„行不显示错误 | EA5=-0.1012355、EA11=-0.0886607、EA90 ç©ºã€EA111 ç©º | é€šè¿‡ |
### 5.2 è´Ÿå‘用例 / å›žå½’用例
| # | è¾“å…¥/操作 | é¢„期 | å®žé™… | ç»“论 |
|---|---|---|---|---|
| N1 | ç”¨ openpyxl å¦å­˜æ¯ç‰ˆå†å¯¼å‡ºï¼ˆåŽ†å²è¸©å‘å¤çŽ°ï¼‰ | ä¼šä¸¢å…¬å¼ç¼“存值,故**不采用**该实现 | æœªé‡‡ç”¨ï¼›æ”¹ç”¨ Excel COM,缓存值保留 | è§„避 |
| N2 | æ”¹æ¯ç‰ˆæ—¶æŠŠå…¬å¼å†™æˆ `SUM(DM5)` ä¹‹ç±»æ®‹ç¼ºå¼•用(首次脚本 `"$m7"` è¢« PowerShell å½“变量名) | åº”发现并回滚 | å·²å‘现:从 `_bak` å¤‡ä»½è¿˜åŽŸåŽï¼Œæ”¹ç”¨ `${r}`/`${m}` å®šç•Œé‡è·‘ | é€šè¿‡ |
| N3 | 2026-07 æœŸå¯¼å‡ºï¼ˆå›žå½’,母版未改) | ä»èƒ½æ­£å¸¸å¯¼å‡º | `_regress_summary_2026-07.xlsx` 941,969 å­—节,` è´§è¿` é¡µ 118x145 | é€šè¿‡ |
| N4 | å¯¼å‡ºåŽæŸ¥è¯¢ `h2032_enterprise_monthly` æ˜¯å¦è¿˜æœ‰ 2026-09 | æ—  | 2026-01...2026-08 å„ 636 è¡Œï¼Œæ—  2026-09 | é€šè¿‡ |
| N5 | `import_batch` æ˜¯å¦è¿˜æœ‰ id=302 | æ—  | å·²åˆ é™¤ | é€šè¿‡ |
| N6 | å¤‡ä»½ SQL å¯è¿˜åŽŸæ€§ | å…ƒç»„数应为 636 | å®žæµ‹ 636 ä¸ªå…ƒç»„ | é€šè¿‡ |
### 5.3 å…¥åº“抽查
| # | æŠ½æŸ¥é¡¹ | ç»“æžœ |
|---|---|---|
| D1 | `h2032_enterprise_monthly` 2026 å¹´å„期行数 / åŒºåˆ’æ•° | 2026-01 636/91,2026-02...08 å„ 636/90 |
| D2 | åˆ é™¤å‰åŽ rowcount | åˆ  636 è¡Œï¼ˆ`ROW_COUNT()` å®žæµ‹ 636)、删 batch 1 è¡Œ |
| D3 | å¤‡ä»½æ–‡ä»¶å­—节数 | rows 725,989 å­—节 / batch 1,624 å­—节 |
## å…­ã€ä¿®å¤å‰åŽå¯¹æ¯”(导出件实测)
| å¹´åº¦ | åˆ— | ä¿®å¤å‰ | ä¿®å¤åŽ | æºæ–‡ä»¶æ ¸ç®— | ä¿®å¤åŽå·®å¼‚ |
|---|---|---|---|---|---|
| 2026(1-8月) | S | 130311.8927 | 130311.8927 | 130311.8927 | -1.8e-6 |
| 2025 | AT | 195433.2232 | 195433.2232 | 195433.2232 | +4.1e-5 |
| 2024 | BV | 184938.5780 | 184938.5780 | 184938.5780 | -2.1e-5 |
| 2023 | CW | 173045.2932 | **173045.2964** | 173045.2964 | +2.9e-5 |
| 2022 | DZ | 144979.2854 | **144979.2825** | 144979.2825 | -2.9e-11 |
| 2021 | EO | ç©º | **161309.5316** | 161309.5316 | +2.0e-5 |
周转量行:2021 `21961780.4134`、2022 `20587594.6295`、2023 `24243256.5443`、2024 `25071499.8353`、2025 `26403562.8772`、2026 `17492129.0479`,与源文件差异均 <=2.1e-4。
**6/6 ç´¯è®¡åˆ—在 4 ä½å°æ•°æ˜¾ç¤ºå£å¾„下与源文件人工核算完全一致。**
## ä¸ƒã€å‘现的问题与处置
| # | ä¸¥é‡åº¦ | é—®é¢˜ | å¤„ç½® |
|---|---|---|---|
| 1 | é«˜ | `h2032_enterprise_monthly` å¤šå‡º 2026-09 æœŸï¼ˆå®žä¸º 8 æœˆæ–‡ä»¶ï¼‰ | **已删除**(含 batch 302),留可还原备份 |
| 2 | é«˜ | æ¯ç‰ˆã€Œå…¨çœè§„下」行写死常量,导致 2022/2023 ç´¯è®¡å„差约 0.003 | **已改为 17 å¸‚州求和公式** |
| 3 | ä¸­ | æ¯ç‰ˆ 2021 ç´¯è®¡åˆ— EO æ•´åˆ—为空 | **已补 `=SUM(EC:EN)`** |
| 4 | ä¸­ | æ¯ç‰ˆ 2022 ç´¯è®¡åˆ— DZ、累计同比 EA ä¸ºå†™æ­»å¸¸é‡ | **已改为公式** |
| 5 | ä½Ž | æ¯ç‰ˆ Excel é‡å­˜åŽå¯¼å‡ºä»¶ä½“积由 950,186 -> 1,331,599 å­—节(Excel è‡ªèº«æ ¼å¼å¼€é”€ï¼Œ`_版式原型.xlsx` åŒä¸º 1.48MB é‡çº§ï¼‰ | è®°å½•,不影响数据 |
| 6 | ä½Ž | å¯¼å‡ºä»¶ ` è´§è¿` é¡µå­˜åœ¨ <=2.1e-4 çš„æµ®ç‚¹ç´¯åŠ å™ªå£° | è®°å½•,4 ä½å°æ•°æ˜¾ç¤ºä¸€è‡´ |
| 7 | æç¤º | å¦å‘现 2026-09 æœŸè¿˜æœ‰ï¼š`h204_vehicle_quarterly` 1284 è¡Œï¼ˆbatch 142,与 2026-08 çš„ batch 144 åŒæ–‡ä»¶ï¼‰ã€`investment_monthly` 31 è¡Œï¼ˆbatch 107,与 batch 108 åŒæºï¼‰ã€`audit_result` 2061 è¡Œã€`audit_run` 3 è¡Œ | **本次未动**(不在授权范围),待用户确认是否一并清理 |
| 8 | æç¤º | 2026-07 æœŸå¯¼å‡ºä»¶çš„ ` è´§è¿` é¡µä¸º 118x145(比 8 æœˆå°‘ 2 åˆ—),因 7 æœˆæ¯ç‰ˆæ˜¯ã€Œ1-4 æœˆéª¨æž¶ã€ | å•独议题,待 7 æœˆæ¯ç‰ˆå®šç¨¿ |
## å…«ã€ç»“论
1. ç”¨æˆ·é—®é¢˜ã€Œç´¯è®¡åªæœ‰å‰é¢å››ä¸ªå¯¹å¾—上」**已定位并解决**:根因不在累计公式本身,而在母版「全省规下」行是与 17 å¸‚州不符的写死常量;叠加 2021 ç´¯è®¡åˆ—漏填、2022 ç´¯è®¡åˆ—写死常量。
2. ä¿®å¤åŽ 6 ä¸ªç´¯è®¡åˆ—(S/AT/BV/CW/DZ/EO)在 4 ä½å°æ•°å£å¾„下与源文件人工核算**全部一致**。
3. `h2032_enterprise_monthly` 2026-09 è„æœŸå·²æ¸…除,备份可还原。
4. 2026-07 å¯¼å‡ºå›žå½’通过;预览接口正常。
5. é—留:2026-09 åœ¨ `h204_vehicle_quarterly` / `investment_monthly` / `audit_result` / `audit_run` ä¸­ä»æœ‰æ•°æ®ï¼Œå¾…用户确认是否清理。
docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-16.md
@@ -241,3 +241,71 @@
### 19.4 git ç»“果(本轮)
- æäº¤ `27574bc`(功能测试报告 + æœ¬èŠ‚ + .gitignore è¡¥ `_pylibs/`、修正 `~$*` å‰å¯¼ç©ºæ ¼ï¼‰â†’ **已推 origin(gitee master)**:`559e937..27574bc`。
- **公司 gitea ä»ä¸å¯ç”¨**:`Test-NetConnection 61.183.254.94:3000` è¿”回 True(TCP é€šï¼‰ï¼Œä½† `GET /r/trafficAudit.git/info/refs?service=git-upload-pack` 25 ç§’无任何响应(HTTP 000),`git fetch gitea` æŠ¥ `Operation too slow. Less than 1000 bytes/sec`。判断为服务端未正常提供 HTTP å“åº”,待恢复后补推,**禁强推**。
## äºŒåã€ç”¨æˆ·ã€Œå¯ä»¥ã€æŽˆæƒé¡¹è½å®žï¼šè´§è¿é¡µç­¾ç´¯è®¡åˆ—修复 + H2032 è„æœŸæ¸…理
### 20.1 å…³é”®å‘现:根因不是累计公式,而是「全省规下」行
上一节我判定为「2021 ç´¯è®¡åˆ—空 + 2022 å†™æ­»å¸¸é‡ + 2023 ç²¾åº¦å·®ã€ï¼Œæœ¬è½®ç”¨ Excel COM é€æœˆå®žæµ‹åŽ**修正了结论**。对 6 ä¸ªå¹´åº¦å—逐月比较「全省行」与「17 å¸‚州行之和」:
| å¹´åº¦ | åˆè®¡å·® | è§„上差 | è§„下差 |
|---|---|---|---|
| 2026(1-8) | 2.8e-5 | 1.8e-12 | 2.8e-5 |
| 2025 | 3.3e-11 | 9.1e-13 | 3.5e-11 |
| 2024 | 1.5e-11 | 9.1e-13 | 1.3e-11 |
| 2023 | **4.6e-3** | 4.5e-13 | **4.6e-3** |
| 2022 | **3.1e-3** | 2.3e-13 | **3.1e-3** |
| 2021 | 4.0e-5 | 4.0e-5 | 1.5e-4 |
- ã€Œè§„上」全省行永远是 17 å¸‚州之和(公式),**一处不差**;
- å·®å¼‚ 100% æ¥è‡ªã€Œå…¨çœè§„下」行 â€”— å®ƒæ˜¯**写死的常量**,与 17 å¸‚州规下之和不等;
- è€Œã€Œ17 å¸‚州行之和」恰好等于源文件湖北省行(2022 = 144979.2825、2023 = 173045.2964),正是用户人工核算的那个数。
所以只要把「全省 è§„上/规下」两行都改成 17 å¸‚州求和公式,全省行自然等于市州之和,累计列随之自动对上。
### 20.2 æ¯ç‰ˆæ”¹åŠ¨ï¼ˆdocs/生成汇总大表/2026å¹´8月道路运输量汇总表.xlsx çš„「 è´§è¿ã€é¡µï¼‰
| ä½ç½® | æ”¹å‰ | æ”¹åŽ |
|---|---|---|
| r7/r8/r9/r10(全省 è§„上/规下 è´§è¿é‡Â·å‘¨è½¬é‡ï¼Œ2021-2025 å„月) | å†™æ­»å¸¸é‡ | SUM(17 å¸‚州对应行) |
| r5/r6(全省 è´§è¿é‡/周转量,2021-2025 å„月) | å¸¸é‡ | m7+m9 / m8+m10 |
| DZ(2022 ç´¯è®¡ï¼Œè¡Œ 5-112) | å†™æ­»å¸¸é‡ | SUM(DM:DX) |
| EO(2021 ç´¯è®¡ï¼Œè¡Œ 5-112) | ç©º | SUM(EC:EN) |
| EA(2022 ç´¯è®¡åŒæ¯”,行 5-112) | å†™æ­»å¸¸é‡ | IFERROR(DZ/SUM(EC:EN)-1,"") |
共 360 + 324 ä¸ªå•元。2026 å¹´å—不动(当月值由导出代码回填);EP(2021 ç´¯è®¡åŒæ¯”)保持为空(页内没有 2020 å—,无同比基期)。改前备份 docs/生成汇总大表/_bak_202608母版修改前_20260916/。
**只改母版这一个文件**:生成_道路运输量汇总表.xlsx æ˜¯åˆ—宽参照件(代码只读列宽/隐藏标记),_版式原型.xlsx è¿è¡Œæ—¶æ— ä»»ä½•代码引用;同期备份母版 resolveSummaryDonor(2026,8) è¦æ±‚文件名以 _备份_ å¼€å¤´ä¸”含「2026å¹´8月」,目录下无匹配(导出日志确认「未找到同期备份母版」),不会冲掉改动。
### 20.3 æ•°æ®åº“清理
- DELETE FROM h2032_enterprise_monthly WHERE report_period='2026-09' â†’ 636 è¡Œï¼ˆROW_COUNT() å®žæµ‹ï¼‰
- DELETE FROM import_batch WHERE id=302 â†’ 1 è¡Œ
- å¤‡ä»½ï¼š_backup_h2032_2026-09_rows_20260916.sql(636 å…ƒç»„)、_backup_h2032_2026-09_batch302_20260916.sql
### 20.4 ä¿®å¤åŽå®žæµ‹ï¼ˆé‡å¯¼å‡º 2026-08,Excel é‡ç®—)
| å¹´åº¦ | åˆ— | ä¿®å¤å‰ | ä¿®å¤åŽ | æºæ–‡ä»¶æ ¸ç®— |
|---|---|---|---|---|
| 2026(1-8月) | S | 130311.8927 | 130311.8927 | 130311.8927 |
| 2025 | AT | 195433.2232 | 195433.2232 | 195433.2232 |
| 2024 | BV | 184938.5780 | 184938.5780 | 184938.5780 |
| 2023 | CW | 173045.2932 | **173045.2964** | 173045.2964 |
| 2022 | DZ | 144979.2854 | **144979.2825** | 144979.2825 |
| 2021 | EO | ç©º | **161309.5316** | 161309.5316 |
全部 4 ä½å°æ•°ä¸€è‡´ï¼ˆæœ€å¤§æ®‹å·® 4.1e-5,为浮点累加噪声)。导出件「全省行」vs「17 å¸‚州行之和」逐月 å°äºŽç­‰äºŽ 9.3e-10。预览接口 types=summaryWorkbook è¿”回 ready=true、20 é¡¹æŒ‡æ ‡ï¼ˆå½“月货运量 16888.76、累计 130311.89)。2026-07 å¯¼å‡ºå›žå½’通过。
### 20.5 è¸©å‘
1. **PowerShell åŒå¼•号里的 "$m7" ä¼šè¢«å½“成变量 m7**:公式串 "=SUM(DM$r:DX$r)" ä¸­çš„ $r:DX è¢«å½“成「驱动器 r:」而吞掉,公式被写成 =SUM(DM5) â€”— é¦–次脚本已把母版改坏,靠备份还原后改用 ${m}/${r} å®šç•Œé‡è·‘。
2. **嵌套的单引号 here-string ä¼šæå‰ç»ˆæ­¢å¤–层 here-string** â†’ æ”¹ä¸ºã€Œå…ˆ Out-File å†™è¡¥ä¸æ–‡ä»¶ï¼Œå† Get-Content -Raw ä¼ ç»™ codex.exe --codex-run-as-apply-patch」。
3. æ¯ç‰ˆè¢« Excel é‡å­˜åŽä½“积 959,706 â†’ 1,480,392 å­—节,导出件 950,186 â†’ 1,331,599(Excel è‡ªèº«æ ¼å¼å¼€é”€ï¼Œä¸å½±å“æ•°æ®ï¼‰ã€‚
4. 2026å¹´8月道路运输量汇总表_版式原型.xlsx çš„ S åˆ—漏了 8 æœˆï¼ˆ=C+E+G+I+K+M+O,缺 Q5),但它运行时不被引用,本次未改。
### 20.6 é—ç•™
- 2026-09 æœŸåœ¨ h204_vehicle_quarterly(1284 è¡Œï¼Œbatch 142/144 åŒæ–‡ä»¶ï¼‰ã€investment_monthly(31 è¡Œï¼Œbatch 107/108 åŒæºï¼‰ã€audit_result(2061 è¡Œï¼‰ã€audit_run(3 è¡Œï¼‰ä¸­ä»åœ¨ï¼Œæœ¬æ¬¡æœªåŠ¨ï¼Œå¾…ç”¨æˆ·ç¡®è®¤æ˜¯å¦æ¸…ç†ã€‚
- 2026-07 æœŸå¯¼å‡ºä»¶ã€Œ è´§è¿ã€é¡µä¸º 118x145(比 8 æœˆå°‘ 2 åˆ—),因 7 æœˆæ¯ç‰ˆæ˜¯ã€Œ1-4 æœˆéª¨æž¶ã€ã€‚
详见《功能测试报告/功能测试报告_货运页签累计列修复与脏期清理_2026-09-16.md》。
docs/Éú³É»ã×Ü´ó±í/2026Äê8ÔµÀ·ÔËÊäÁ¿»ã×ܱí.xlsx
Binary files differ