zhizhijie
2026-09-21 f89b6e35d179e7d994fde4eb8dce70706ea00824
docs(交接): 新增总交接文档 + 日结补充 + 汇总大表问题交接归档

- docs/交接文档_2026-09-21.md: 全系统唯一入口,含现状快照/系统结构/五条数据链/未完成工作 P0-P2 共27条/待确认清单10条/操作手册/接手checklist

- 汇总大表那条线只做摘要并指向 docs/问题汇总/汇总大表问题交接_2026-09-21.md,避免两份文档互相打架

- 归档 汇总大表问题交接_2026-09-21.md 与 工作日结_2026-09-21.md,补入 2026年8月投资系统项目明细.xls
4个文件已添加
649 ■■■■■ 已修改文件
docs/交接文档_2026-09-21.md 318 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/工作日结/工作日结_2026-09-21.md 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/投资/输入/2026年8月投资系统项目明细.xls 补丁 | 查看 | 原始文档 | blame | 历史
docs/问题汇总/汇总大表问题交接_2026-09-21.md 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/½»½ÓÎĵµ_2026-09-21.md
New file
@@ -0,0 +1,318 @@
# äº¤é€šè´§è¿ç»Ÿè®¡å®¡æ ¸ç³»ç»Ÿ â€”— æ€»äº¤æŽ¥æ–‡æ¡£ï¼ˆ2026-09-21)
> **用途**:接手人(开发/运维/业务对接)在不问人的前提下,能独立跑起来、看懂架构、知道哪些活没干完、哪些坑不能再踩。
> **读者**:接手本系统的同事 / åŽç»­æŽ¥æ‰‹çš„ AI ä¼šè¯ã€‚
> **维护约定**:每完成一项就把第 4 ç« å¯¹åº”条目的「状态」改成 âœ… å¹¶æ³¨æ˜Žæ—¥æœŸï¼›æ–°é—®é¢˜ç›´æŽ¥è¿½åŠ ï¼Œåˆ«å¦èµ·æ–°æ–‡ä»¶ã€‚
> **本文与其它文档的关系**:本文是**唯一入口**;汇总大表那条线的细节在 `docs/问题汇总/汇总大表问题交接_2026-09-21.md`(本文第 4 ç« åªåšæ‘˜è¦ï¼Œä¸é‡å¤æ­£æ–‡ï¼‰ï¼›
> åŽ†å²å‘ç´¢å¼•åœ¨ `docs/问题汇总/问题与注意事项汇总_2026-09-16.md`。
---
## 0. å…ˆè¯»è¿™ä¸€é¡µï¼ˆæŽ¥æ‰‹çš„第 1 å°æ—¶ï¼‰
1. **先把系统跑起来**,再谈改代码。见 Â§7.1(一键脚本,必须在沙箱外执行)。
2. **当前最紧急的 4 ä»¶äº‹**(详见 Â§4 P0):① 8 æœˆåå °ç‰©æµæºæ–‡ä»¶é‡Œçš„「非十堰段」会反复把 31 ä¸ªé¡¹ç›®å¸¦å›žåº“;② ã€Šäº¿å…ƒæŠ•资项目》月份列每月覆盖上月;
   â‘¢ å¯¼å‡ºå‰ã€ŒåŸºæ•°ä½“检 + å¼¹çª— +《数据缺失清单》页」只做了一半;④ ç¼º 2026-06 / 2026-09 æ¯ç‰ˆï¼Œé‚£ä¸¤æœŸå‡ºä¸äº†è¡¨ã€‚
3. **别自己拍板业务口径**,第 5 ç« åˆ—的是必须业务确认的事。
4. æ”¹å®Œå¿…须:写《功能测试报告》→ æ›´æ–°ã€Šå·¥ä½œæ—¥ç»“》→ åŒä»“库推送(§7.4)。这是本项目的硬规矩。
---
## 1. çŽ°çŠ¶å¿«ç…§ï¼ˆ2026-09-21 ä¸Šåˆå®žæµ‹ï¼‰
### 1.1 æœåŠ¡ä¸Žè¿›ç¨‹
| é¡¹ | å€¼ |
| --- | --- |
| åŽç«¯ | Spring Boot,端口 **8090**,日志 `backend.log`(仓库根);今晨有导出动作(PID 31328,09:17) |
| å‰ç«¯ | Vue2 + Element UI,端口 **8080**,日志 `traffic-audit-web/frontend.log`(今晨 08:30) |
| æ•°æ®åº“ | MySQL `127.0.0.1:3308`,库 `traffic_audit`,账号 `root/123456`;客户端 `D:\mysql\mysql-5.7.41-winx64\bin\mysql.exe` |
| å¯åœ | `powershell -NoProfile -ExecutionPolicy Bypass -File start-dev.ps1` / `stop-dev.ps1`,**必须沙箱外(提权)运行** |
> åˆ¤æ–­æœåŠ¡æ˜¯å¦èµ·æ¥ï¼š**只看日志**(后端 `Started TrafficAuditApplication` + `Tomcat started on port(s): 8090`;前端 `App running at`)。
> æ²™ç®±å†… `Get-NetTCPConnection` ä¼šé™é»˜å¤±è´¥ï¼Œæ®æ­¤åˆ¤æ–­ä¼šè¯¯åˆ¤ã€‚
### 1.2 æ•°æ®åº“现状(`SELECT COUNT(*)`)
| è¡¨ | è¡Œæ•° | è¯´æ˜Ž |
| --- | --- | --- |
| `investment_project` | **152** | æŠ•资主档(客运站场 + ç‰©æµå›­åŒºï¼‰ |
| `investment_monthly` | **284** | 2026-06: 76 / 2026-07: 72 / **2026-08: 136** |
| `freight_turnover_import` | **234** | 18 è¡Œ/期 Ã— 13 æœŸï¼ˆ2021-12 ~ 2026-08) |
| `h2031_enterprise_monthly` | 15811 | å…¬è·¯æ—…客(中口径维度 1 çš„æ¥æºä¹‹ä¸€ï¼‰ |
| `h2032_enterprise_monthly` | 13056 | è´§è¿ä¼ä¸šæœˆæŠ¥ |
| `import_batch` | 417 | å¯¼å…¥æ‰¹æ¬¡å°è´¦ï¼ˆå¼‚步导出的「数据版本守卫」用它) |
- **2026-09 è„æœŸå·²æ¸…理干净**(本次核实:`h204_vehicle_quarterly` åªæœ‰ 2026-07/08;`audit_run`/`audit_result` åªæœ‰ 2026-05~08;`investment_monthly` åªæœ‰ 06~08)。
  æ­¤å‰ 09-16 è®°å½•的「2026-09 æœ‰ 1284/31/2061/3 è¡Œè„æ•°æ®ã€**已解决**。
- æŠ¥è¡¨æœŸåˆ†å¸ƒæ˜¯ã€Œ**2021-12 è¿™ç±»æœŸå­˜å…¨å¹´ 1-12 æœˆ**」的语义(不是 12 æœˆå•月),见 Â§3.1。
### 1.3 ä»£ç ä»“库
| é¡¹ | å€¼ |
| --- | --- |
| å·¥ä½œåŒº | `D:\文档\ChatGPT\traffic-audit`,分支 `main` |
| HEAD | `a08c70d feat(投资): å¸‚州月报统一填报模板 + åŽ¿(市、区)列解析 + è¡¨å¤´è¡Œåˆ¤å®šæ”¶ç´§` |
| ä¸ªäººè¿œç«¯ | `origin` â†’ `https://gitee.com/zhizhijie/traffic-audit.git`(分支 `master`) |
| å…¬å¸è¿œç«¯ | `gitea` â†’ `http://61.183.254.94:3000/r/trafficAudit.git`(分支 `main`,账号 zyj) |
| æœªæäº¤æ–‡ä»¶ | æœ¬äº¤æŽ¥å½“时的未跟踪文件:`docs/问题汇总/汇总大表问题交接_2026-09-21.md`、`docs/工作日结/工作日结_2026-09-21.md`、`docs/投资/输入/2026å¹´8月投资系统项目明细.xls`、`docs/交接文档_2026-09-21.md`(随本次交接一并提交) |
### 1.4 å…³é”®ç›®å½•
| è·¯å¾„ | å†…容 |
| --- | --- |
| `docs/生成汇总大表/` | **汇总大表母版**(`{yyyy}å¹´{M}月道路运输量汇总表.xlsx`)+ `_bak_`/`_备份_` åŽ†å²ä»¶ï¼ˆ**未经同意不要删**) |
| `docs/投资/模板/` | æŠ•资 5 å¼ è¡¨çš„æ¯ç‰ˆ + 2 ä»½æ–°å¸‚州填报模板 |
| `docs/投资/输入/{客运(客运站),物流(物流园区)}/{N}月/` | å¸‚州月报源文件(程序按「报表期 â†’ `{N}月`」目录自动扫描) |
| `docs/投资/输出/` | è§£æž/校验/清理报告、备份 |
| `docs/功能测试报告/`、`docs/工作日结/`、`docs/问题汇总/` | äº¤ä»˜ç‰©ä¸Žé—®é¢˜å°è´¦ï¼ˆç¡¬è§„矩,见 Â§7.4) |
| `_tmp/_qa_out/`、`_tmp/qa_wh/` | æŽ’查脚本与证据(gitignore,不入库);`_pylibs/` æ”¾ openpyxl / xlrd |
---
## 2. ç³»ç»Ÿç»“æž„
### 2.1 æŠ€æœ¯æ ˆ
- åŽç«¯ï¼šSpring Boot(`traffic-audit-server`,Maven),MySQL 8.0,Apache POI(HSSF å¤„理 .xls / XSSF å¤„理 .xlsx)。
- å‰ç«¯ï¼šVue 2 + Element UI(`traffic-audit-web`,vue-cli),`/api` ä»£ç†åˆ° 8090。
- æŠ¥è¡¨ä¸¤ç§å½¢æ€ï¼š**数据源表**(导入库)与**生成件**(POI å¾€æ¯ç‰ˆé‡Œå¡«å€¼ï¼Œæ¯ç‰ˆä¸å…¥åº“、不随程序分发)。
### 2.2 åŽç«¯å…³é”®ç±»
| ç±» | èŒè´£ |
| --- | --- |
| `dataimport/service/DataImportService.java` | æ‰€æœ‰å¯¼å…¥è§£æžï¼ˆè´§è¿å‘¨è½¬é‡ã€H203-1、城市客运、投资市州单表/投资系统导出、网约车报告…) |
| `dataimport/controller/DataImportController.java` | å¯¼å…¥ä¸Žæ¸…理接口(`/api/import/*`) |
| `reportexport/service/ReportExportService.java` | æ‰€æœ‰ç”Ÿæˆä»¶ï¼ˆæ±‡æ€»å¤§è¡¨ã€æŠ•资 5 å¼ è¡¨ã€å„类独立报表、预览、就绪校验) |
| `reportexport/service/ReportExportTaskService.java` | æ±‡æ€»å¤§è¡¨å¼‚步导出任务 + è¿›åº¦ + 10 åˆ†é’Ÿå†…存缓存 + æ•°æ®ç‰ˆæœ¬å®ˆå« |
| `reportexport/calc/SummaryWorkbookFiller.java` | æ±‡æ€»å¤§è¡¨å°è´¦é¡µå›žå¡« + å…¬å¼æŒ‰æœˆè¡¥é½ |
| `reportexport/calc/WycSplitCalc.java` | ç½‘约车拆分(订单占比 Ã— å…¨çœ pin;城市内用巡游出租城市内占比代理) |
| `dataimport/service/AuditService`(及 `audit/*`) | å®¡æ ¸è§„则(RULE001…)与审核结果落库 |
> é€è¡Œä»£ç åœ°å›¾è§ `docs/问题汇总/汇总大表问题交接_2026-09-21.md` ç¬¬ 8 èŠ‚ï¼ˆå«è¡Œå·ï¼ŒåŠ¡å¿…ç”¨å®ƒï¼Œä¸è¦é‡æ–°æ»¡ä»“åº“æ‰¾ï¼‰ã€‚
### 2.3 å‰ç«¯é¡µé¢
| é¡µé¢ | æ–‡ä»¶ | è¯´æ˜Ž |
| --- | --- | --- |
| æ•°æ®å¯¼å…¥ | `views/DataImport.vue` | æŒ‰ç±»åž‹å¯¼å…¥ï¼›ç»“果弹窗可拖动、内容可滚动、可导出明细 CSV;「网约车订单及全省总量」已隐藏 |
| æ•°æ®æŸ¥çœ‹ | `views/DataView.vue` | ã€ŒæŠ¥è¡¨æœŸã€åœ¨ã€Œæ•°æ®ç±»åž‹ã€ä¹‹å‰ï¼›å·²å«**投资**(投资项目基础表 / æŠ•资系统每月导入项目表)与**能耗**分组 |
| æŠ¥è¡¨ç”Ÿæˆ | `views/ReportExport.vue` | é¢„览(单表指标:分类/指标/数据/同比,已删除「中口径」之后的所有表)+ ä¸‹è½½ï¼›å«ä¸¤å¼ æŠ•资明细表、进度弹窗 |
| å®¡æ ¸ç»“æžœ / è§„则管理 / ç”¨æˆ·ç®¡ç† / ç™»å½• | `views/AuditResult.vue`、`RuleManage.vue`、`UserManage.vue`、`Login.vue` | éªŒè¯ç é»˜è®¤**不显示**(`captchaRequired` fail-safe ä¸º false) |
### 2.4 å¸¸ç”¨æŽ¥å£ï¼ˆæŽ’查时绕过前端用)
| ç”¨é€” | æŽ¥å£ |
| --- | --- |
| æŸæœŸæŸæŠ¥è¡¨æ˜¯å¦å¯å‡º | `GET /api/report/ready?period=2026-08` |
| é¢„览 | `GET /api/report/preview?period=2026-08&mode=month&types=summaryWorkbook` |
| æ±‡æ€»å¤§è¡¨å¯¼å‡ºï¼ˆåŒæ­¥/异步) | `GET /api/report/export/summaryWorkbook?...`、`POST /api/report/exportTask/summaryWorkbook` + `GET /api/report/exportTask/{id}` |
| æŠ•资市州单表批量导入 | `POST /api/import/investCityBatch?period=2026-08&category=客运站场`(另一类 `物流园区`) |
| å¯¼å…¥æ‰¹æ¬¡æŸ¥è¯¢ | `GET /api/import/batches?type=...` |
| æ¸…某期数据 | `POST /api/import/clear?period=...` |
> æœ¬åœ°è°ƒè¯•自签 JWT:`_tmp/_qa_out/mktoken.py`(secret åœ¨åŽç«¯ `application.yml` çš„ `jwt.secret`,2 å°æ—¶è¿‡æœŸï¼Œ401 å°±é‡ç­¾ï¼‰ã€‚
---
## 3. æ•°æ®é“¾ï¼ˆæº â†’ åº“ â†’ ç”Ÿæˆä»¶ï¼‰
### 3.1 è´§è¿é‡ / å‘¨è½¬é‡
| é¡¹ | å†…容 |
| --- | --- |
| æº | `D:\05_数据分类\高速\定稿-湖北省各市州运输量数据(2026å¹´1-8月).xlsx`(**无 2023 å¹´ Sheet**);2023 å¹´æ¥è‡ª 7 æœˆé‚£ä»½ï¼ˆå¤šä¸€ä¸ª `2023` Sheet) |
| æŽ¥å£ | `POST /api/import/freightTurnover` |
| åº“ | `freight_turnover_import`(`freight_m01..m12` / `turnover_m01..m12` / `last_*`) |
| æœŸæ¬¡è¯­ä¹‰ | **`2021-12` æ”¾çš„æ˜¯è¯¥å¹´ 1-12 æœˆå…¨å¹´æ•°æ®**;该年最后一个有数据的月份决定期号(2026 åªæœ‰ 1-8 æœˆ â†’ `2026-08`) |
| ç”Ÿæˆä»¶ | æ±‡æ€»å¤§è¡¨ã€Šè´§è¿ã€‹ã€Šé“路运输周转量》《货运量排名》《货运周转量排名》页 |
- å¤šå¹´åº¦å·¥ä½œç°¿è¯†åˆ«è§„则(`detectYearSheets`):≥2 ä¸ª Sheet + Sheet ååŒ¹é… `^\d{4}\s*å¹´?$` + é¦–行 A1 å«ã€Œè´§è¿é‡ã€B1 å«ã€Œæœˆã€ï¼›ä»»ä¸€ä¸æ»¡è¶³åˆ™å›žé€€è€çš„æœˆåº¦æ¨¡æ¿è§£æžã€‚
- ä¸€ä¸ª Sheet é‡Œã€Œè´§è¿é‡ã€å—在上、「周转量」块在下,**同一市州名第二次出现即视为周转量块**。
### 3.2 å…¬è·¯æ—…客 H203-1(中口径的来源)
| é¡¹ | å†…容 |
| --- | --- |
| æº | `docs/公路旅客/模板_交企统H203-1表_公路旅客运输月度生产情况.xlsx`(模板已按用户要求改过,新增 `统一社会信用代码`、`填报单位` ä¸¤åˆ—) |
| æŽ¥å£ | `POST /api/import/passengerMonthly` |
| åº“ | `h2031_enterprise_monthly`(+ `passenger_individual_monthly` ä¸ªä½“) |
| è¦ç‚¹ | è§£æž**按表头名取值**,所以模板插列/右移不会算错;缺必需列会报「表头缺少必需列【企业名称】【客运量_总计】」 |
### 3.3 åŸŽå¸‚客运
| é¡¹ | è¡¨ | å¤‡æ³¨ |
| --- | --- | --- |
| åŸŽå¸‚公交 | `city_bus_monthly` | ä¸­å£å¾„维度 2 = ã€Œæ€»é‡ âˆ’ åŸŽå¸‚内」**现算** |
| å·¡æ¸¸å‡ºç§Ÿ | `city_taxi_monthly` | ç»´åº¦ 3 = ã€Œæ€»é‡ âˆ’ åŸŽå¸‚内」;同时是网约车拆分的代理输入 |
| ç½‘约车 | `wyc_order_monthly` / `wyc_total_monthly` | ç»´åº¦ 4:订单占比 Ã— å…¨çœ pin;先查库,库里没有才回落 `docs/城市客运/网约车订单及全省总量.xlsx` |
| ç½‘约车分析报告 | `POST /api/import/wycOrderReport` | è§£æž `.docx` æŠ¥å‘Šé‡Œçš„市州订单表;**这是导入过 `湖北网络预约出租汽车2025å¹´09月分析报告` é‚£ä¸ªå…¥å£** |
### 3.4 æ±‡æ€»å¤§è¡¨ï¼ˆ19 ä¸ªé¡µç­¾ï¼‰
- å…¥å£ï¼šæŠ¥è¡¨ç”Ÿæˆé¡µå‹¾ã€Œæ±‡æ€»å¤§è¡¨ã€â†’ `ReportExportTaskService`(异步)→ `ReportExportService.exportSummaryWorkbook()`。
- å…­æ­¥ï¼šæ‰¾æ¯ç‰ˆ â†’ å›žå¡« 6 å¼ å°è´¦é¡µ â†’ å…¬å¼æŒ‰æœˆå³ç§» â†’ çŽ°ç®— 4 å¼ æˆå“é¡µ â†’ æ¬ 3 å¼ æŽ’名页的值 â†’ ä¸¤ä½å°æ•°æ ¼å¼ + `evaluateAll` é‡ç®— + `fullCalcOnLoad`。
- **关键认知**:母版是公式驱动的。全省行 = Î£17 å¸‚州;城市客运 / ä¸­å£å¾„明细是跨表引用,不需要单独写数,只要公式按月补齐 + é‡ç®—。
- æ¯ç‰ˆï¼š`docs/生成汇总大表/{yyyy}å¹´{M}月道路运输量汇总表.xlsx`,**程序不会自己建**(见 P0-4)。
### 3.5 æŠ•资(5 å¼ è¡¨ï¼‰
| æ­¥éª¤ | ç›®æ ‡è¡¨ï¼ˆæ¯ç‰ˆï¼‰ | è§„则 |
| --- | --- | --- |
| Step1 æœˆæŠ¥ â†’ æ˜Žç»†è¡¨ | `模板_X月客运站投资明细表.xlsx`、`模板_X月物流站场投资明细.xls` | ä»¥**项目名称**为键:已有→更新 H/I/J/K/L/M;没有→**新增整行**(已实现动态插行) |
| Step2 æ˜Žç»† â†’ æ±‡æ€» | `模板_全省预安排计划进度情况汇总.xls` | åŒåæ›´æ–° 4 é¡¹ï¼›æ²¡æœ‰çš„æ–°å¢žï¼›æ¨¡æ¿æœ‰è€ŒæœˆæŠ¥æ²¡æœ‰çš„**保持原值**(已实现动态插行 + ã€Œæœ‰æ€»æŠ•资无月度数」补计) |
| Step3 æ˜Žç»† â†’ 3 å¼ å›ºå®šè¡¨ | `模板_十五五规划物流项目进展情况.xls`、`模板_亿元投资项目.xls`、`模板_经济强县投资统计报表.xls` | é¡¹ç›®æ¸…单固定,只更新指定指标(三张表都已实现动态插行逻辑,其中亿元表见 P0-2) |
- å…¥åº“:`investment_project`(主档)+ `investment_monthly`(当期月度数,按「市州 + ç±»åˆ«ã€å¹‚等清理后重建)。
- å¸‚州填报:**统一模板已生成** `docs/投资/模板/模板_市州月报_客运站场.xlsx` / `模板_市州月报_物流园区.xlsx`,口径说明见 `docs/投资/填报口径与统一模板_2026-09-20.md`。
### 3.6 èƒ½è€— / å¹´æŠ¥ / å®¡æ ¸
- èƒ½è€—:`POST /api/import/energyMonthly`、`/api/import/energyAuth`;台账在数据查看「能耗」组。
- å®¡æ ¸ï¼šè§„则在 `RuleManage`,结果在 `audit_result` / `audit_run`(按报表期)。
---
## 4. æœªå®Œæˆçš„工作(按优先级)
> çŠ¶æ€åˆ—ï¼šâŒ æœªåš / ðŸ”¶ éƒ¨åˆ†å®Œæˆ / â¸ å¾…业务确认 / ðŸ”’ è¢«å¤–部阻塞
### P0 â€”— ä¼šç›´æŽ¥å½±å“å‡ºæ•°æ­£ç¡®æ€§æˆ–会反复发生
| # | äº‹é¡¹ | çŽ°è±¡ / å½±å“ | çŽ°çŠ¶ä¸Žè¯æ® | ä¸‹ä¸€æ­¥ | çŠ¶æ€ |
| --- | --- | --- | --- | --- | --- |
| P0-1 | **8 æœˆåå °ç‰©æµæ±‡æ€»è¡¨å«ã€Œéžåå °æ®µã€** | è¯¥æ–‡ä»¶ä¸€ä¸ªé¡µç­¾æ”¶äº†å…¨çœï¼š8 æœˆè¿™ä»½ 38 è¡Œé‡Œåªæœ‰ **7 è¡Œæ˜¯åå °**,另 **27 è¡Œæ­¦æ±‰ + 4 è¡Œé»„石**。程序特意支持「按小节行切市州」,所以每次重导 8 æœˆç‰©æµéƒ½ä¼šæŠŠè¿™ 31 ä¸ªé¡¹ç›®å»ºåˆ°æ­¦æ±‰/黄石名下(09-20 å·²å®žæµ‹å¤çް +31 é¡¹ç›®ï¼Œç”Ÿæˆè¡¨æ­¦æ±‰ç‰©æµæ®µä¼šå¤š 27 è¡Œï¼‰ | åº“已清干净(152 é¡¹ç›® / 284 æœˆåº¦æ•°ï¼Œ2026-08 æœˆåº¦æ•° 136 è¡Œä¸Žé‡å¯¼å‰é€å€¼ä¸€è‡´ï¼‰ï¼›**源文件未清** | ç”¨æˆ·ç¡®è®¤åŽç”±æŽ¥æ‰‹äººåˆ æ®µï¼ˆå…ˆå¤‡ä»½åˆ° `docs/投资/输出/`),或用户自行在 Excel åˆ é™¤è¯¥ä¸¤æ®µ | âŒ |
| P0-2 | **《亿元投资项目》规上项目表月份列会被覆盖** | ä»£ç åªé‡å†™è¡¨å¤´æ–‡å­—(`ReportExportService.java:6128-6139` å†™ `col5`/`col23`),模板 row2 ç¬¬ 24 åˆ—原本是「2026å¹´7月实际完成投资」。8 æœˆå¯¼å‡ºæŠŠå®ƒæ”¹æˆã€Œ2026å¹´8月…」并写 8 æœˆæ•° â†’ **7 æœˆé‚£ä¸€åˆ—的数据消失** | ç”¨æˆ·å·²åœ¨ã€Šå¾…确认清单》Q7 æ˜Žç¡®ï¼šã€Œåªæ›´æ–° F åˆ— + åœ¨ 2026å¹´X月实际完成投资后**加一列** 2026å¹´X+1月实际完成投资」→ æœªå®žçް | æŒ‰ Q7 æ”¹ä¸ºã€ŒæŒ‰æœˆè¿½åŠ ä¸€åˆ—ã€ï¼›åŒè¡¨å…¶å®ƒå†™æ­»æœˆä»½åˆ—ï¼ˆ1-3月/4月/5月/6月/第二季度)同样要一起看 | âŒ |
| P0-3 | **导出前「基数体检 + å¼¹çª— +《数据缺失清单》页」(B4)** | åŽ»å¹´åŒæœˆåŸºæ•°æ®‹ç¼ºæ—¶ç¨‹åºç…§ç®—ï¼Œæ›¾æŠŠä¸­å£å¾„æŽ’åå…¨çœç´¯è®¡åŒæ¯”ç®—æˆ **+73.89%**(真值 +5.81%)。加体检后可根治复发 | åŽç«¯å·²æ”¶é›†é—®é¢˜æ¸…单 `midIssues`(`ReportExportService.java:2436`)与 `dbProblems`,但 **`getLastMidIssues()` æ²¡æœ‰ä»»ä½•调用方**,前端也无消费,没有《数据缺失清单》页 â†’ åªåšäº† B5(日志)与 B3(完备性校验) | â‘  å°±ç»ª/预览接口返回 issues;② å¯¼å‡ºå‰å¼¹çª—;③ ç”Ÿæˆä»¶è¿½åŠ ã€Šæ•°æ®ç¼ºå¤±æ¸…å•ã€‹é¡µ | ðŸ”¶ |
| P0-4 | **缺 2026-06 / 2026-09 æ¯ç‰ˆ** | è¿™ä¸¤æœŸé¢„览 `ready=false`「未找到模板文件」,出不了表 | `docs/生成汇总大表/` ä¸‹åªæœ‰ 2026å¹´7月 / 2026å¹´8月 + ç‰ˆå¼åŽŸåž‹ï¼›ç¨‹åº**只按文件名精确匹配**、不会自建 | ç”¨æˆ· Q13 å·²æš‚缓(要问同事「能不能用母版自动生成后续每月模板」)。短期:人工放一份 9 æœˆæ¯ç‰ˆï¼›é•¿æœŸï¼šæ‰©åˆ—器(详见汇总大表交接 P0-2) | â¸ |
### P1 â€”— å£å¾„ç±» / éœ€è¦ä¸šåŠ¡ç¡®è®¤ï¼ˆä¸é˜»å¡žæ—¥å¸¸ï¼Œä½†ä¼šå½±å“å®šç¨¿ï¼‰
| # | äº‹é¡¹ | è¯´æ˜Ž | çŠ¶æ€ |
| --- | --- | --- | --- |
| P1-1 | ä¸­å£å¾„排名 vs ä¸­å£å¾„明细「历史同期基数双轨制」 | é™¤æ­¦æ±‰å¤– 16 ä¸ªå¸‚州累计同比都有差(黄冈 7.74% vs 7.64%);根因是母版 2025 å¹´ 3、4 æœˆç½‘约车拆分用了一套与出租列自相矛盾的旧输入。有方案 A/B,**建议 A**(排名页改用母版 2025 é™æ€åˆ—) | âŒï¼ˆè¯¦è§æ±‡æ€»å¤§è¡¨äº¤æŽ¥ç¬¬ 4 ç« ï¼‰ |
| P1-2 | ä¸­å£å¾„排名全省行差 0.0002 ä¸‡äººå…¬é‡Œ | æ¯ç‰ˆå…¬å¼ `=SUM(O4:O20)` å…ˆå››èˆäº”入再求和的结构性差异,是否改全精度写值需拍板 | â¸ |
| P1-3 | ä¸­å£å¾„明细 4 æ ¼ `#DIV/0!` | 2025 å¹´ 8 æœˆåŸºæ•°ä¸º 0(不可比),是否改空白需业务确认 | â¸ |
| P1-4 | å…¨çœ h2031 1-8 æœˆ 27524.49 vs Î£17 å¸‚å·ž 24481.74 | å·® **3042.75**(企业上报的「全省」含市州明细外的数据,或某市州漏报)。程序一律按母版口径(Σ市州)走 â†’ å»ºè®®ä¸šåŠ¡ä¾§æ ¸ä¸€æ¬¡ | â¸ |
| P1-5 | å¤©é—¨ç‰©æµæºæ–‡ä»¶ `8月份物流园中心建设项目(天门).xlsx` çš„ H/J/K åˆ—为空 | è¯¥å¸‚州本期累计/计划/月完成取不到 | ðŸ”’ ç­‰åŒäº‹ç»™æ•° |
| P1-6 | è†å·ž / é»„石「规划内 / è§„划外」拆分口径 | å½±å“æ˜Žç»†è¡¨åˆ†å—归位 | â¸ ç­‰åŒäº‹ |
| P1-7 | æŠ•资「资金渠道」分组未入库 | æ˜Žç»†è¡¨é‡Œã€Œä¸€ã€è½¦è´­ç¨Ž / äºŒã€çœç‡ƒæ²¹ç¨Ž / ä¸‰ã€å†œæ‘综合运输服务站 / å››ã€å€™è½¦äº­ã€åˆ†ç»„行在导入时被 `^[一二三四五六七八九十]+、.*` è§„则跳过 â†’ é¡¹ç›®è½ä¸åˆ°å…·ä½“渠道块。需给 `investment_project` åŠ  `fund_channel` å¹¶é‡å¯¼ 7/8 æœˆ | âŒ |
| P1-8 | æ­¦æ±‰ 8 æœˆç‰©æµæ— å•表 | è¯¥å¸‚州小计现在只有「总投资」,缺自开始累计/本年计划/月完成(已按「有总投资无本期月度数」补计,不污染累计列) | ðŸ”’ éœ€æ­¦æ±‰å•表或省厅口径 |
| P1-9 | æŠ•资导出输出目录约定(Q10 å·²ç­”「同意」) | çº¦å®šï¼š`docs/投资/输出/<YYYY-MM>/` æŒ‰æœˆåˆ†ç›®å½•、原格式原样输出、运行前自动备份 `_bak_<文件名>_<时间戳>`、另出 `运行日志_<年月>.md` ä¸Ž `校验报错_<年月>.xlsx` â†’ **代码里没有实现**(无任何「输出」目录写入逻辑) | âŒ |
| P1-10 | è¿è¾“量 2026-01~07 çš„ `last_*` ä¸ºç©º / H203-1 2026-01~07 çš„ `unified_credit_code`、`report_unit` ä¸ºç©º | å‰è€…是改动前就为空,后者是新列本期才读取;是否补/重导待确认 | â¸ |
| P1-11 | è´§è¿ã€ŒæŒç»­åœ¨è§„ 545 å®¶ã€vs「官方全口径」两版同比(+2.90% vs +4.54%) | å£å¾„不同,已分别注明;若要随《差异率汇总表》上报,建议加注差异原因 | â¸ |
| P1-12 | é«˜é€Ÿè¿è·åŒæ¯”(用户表格 O åˆ—)的来源/期间待确认 | ç¡®è®¤åŽæ–¹å¯ç®—「运距增速差」 | ðŸ”’ ç­‰ç”¨æˆ· |
### P2 â€”— å·¥ç¨‹ä¸Žæ•´æ´
| # | äº‹é¡¹ | è¯´æ˜Ž | çŠ¶æ€ |
| --- | --- | --- | --- |
| P2-1 | ã€Œå¢žé€ŸæŽ’名」措辞(D ç»„) | åªåœ¨åŒæ¯”齐全时排名,否则标注「去年同期基数缺失,暂不排名」 | âŒ |
| P2-2 | åŸŽå¸‚客运页表头仍是**日期序列号** | ä»»ä½•「按表头文字匹配列」的长效方案在该页会失效,需先把 G/I/K/M/O/Q、AD/AF/AH/AK æ”¹æˆæ–‡å­—表头 | âŒ |
| P2-3 | `applySummaryReferenceLayout()` æŒ‰**列序号**套列宽/隐藏 | å‚照件一加减列就整体错位,应改为按表头文字匹配 | âŒ |
| P2-4 | ç¼ºæ¯ç‰ˆæç¤ºï¼ˆT08)未实测 | æœ‰æµ‹è¯•副本时补测 | âŒ |
| P2-5 | éƒ¨ç½²åŒ…内是**带 AJ åˆ—的旧母版** | `deploy/traffic-audit-deploy-20260913/backend/docs/生成汇总大表/`、`_deploytest/`;用户 09-20 æ˜Žç¡®ã€Œéƒ¨ç½²åŒ…先不管」,发包前必须同步 | â¸ |
| P2-6 | å¯¼å‡ºç¼“存是**内存态** | è¿›ç¨‹é‡å¯å³å¤±æ•ˆï¼›å¦‚需跨重启/多人共用的「导出记录」页需另做 | âŒ |
| P2-7 | å¸‚州单表「多市州块」兜底提示 | æ˜¯å¦åœ¨è¯†åˆ«åˆ°ä¸€ä»½æ–‡ä»¶å«å¤šä¸ªå¸‚州块时弹窗提示/跳过,待确认(与 P0-1 åŒä¸€æ ¹å› ï¼‰ | â¸ |
| P2-8 | ä»“库根目录 `_*.*` ä¸´æ—¶æ–‡ä»¶å¢žå¤š | `_chk_*`(本次汇总大表排查产生,见汇总大表交接第 10 èŠ‚ï¼‰ã€`_hyb_*`、`_loo_*` ç­‰ï¼Œ**经用户同意后再清** | â¸ |
| P2-9 | `2026å¹´8月道路运输量汇总表_版式原型.xlsx` åŽ»ç•™ | è¿è¡Œæ—¶æœªè¢«å¼•用 | â¸ |
| P2-10 | ã€Œç­çº¿åŒ…车」页 2020 å¹´åŽ†å²åˆ— `#VALUE!` | æ—¢æœ‰çŽ°è±¡ï¼ŒExcel æ‰“开按 `fullCalcOnLoad` ä¼šé‡ç®— | è®°å½• |
| P2-11 | æŠ¥è¡¨ç”Ÿæˆé¡µã€Œä¸­å£å¾„」之后表格已删、弹窗可拖动 + åœ†è§’ | å·²å®žçŽ°ï¼ˆ09-16/09-20),别再改回去 | âœ… |
---
## 5. å¾…用户 / ä¸šåŠ¡ç¡®è®¤æ¸…å•ï¼ˆæŽ¥æ‰‹äººå…ˆåˆ«è‡ªå·±æ‹ï¼‰
1. **P0-1**:8 æœˆåå °ç‰©æµæºæ–‡ä»¶çš„「非十堰段」由谁清、什么时候清?(建议:接手人删段并备份)
2. **P0-2**:《亿元投资项目》按月追加列的做法确认(用户 Q7 å·²ç»™è§„则,实施前再确认一次列位)。
3. **P0-4**:2026-09 æ¯ç‰ˆæ€Žä¹ˆåŠž â€”— ç›´æŽ¥æ”¾ä¸€ä»½äººå·¥æ¯ç‰ˆï¼Œè¿˜æ˜¯å…ˆåšæ‰©åˆ—器?(用户正在问同事)
4. **P1-1**:中口径排名历史基数走方案 A è¿˜æ˜¯ B?(建议 A)
5. **P1-2 / P1-3**:0.0002 ä¸‡äººå…¬é‡Œæ˜¯å¦æ”¹å…¨ç²¾åº¦å†™å€¼ï¼›`#DIV/0!` æ˜¯å¦æ”¹ç©ºç™½ã€‚
6. **P1-4**:h2031 å…¨çœè¡Œä¸Ž Î£17 å¸‚å·žå·® 3042.75 çš„业务解释。
7. **P1-6**:荆州 / é»„石「规划内 / è§„划外」口径。
8. **P1-7**:投资资金渠道分组是否要入库(要的话需要加字段 + é‡å¯¼ 7/8 æœˆï¼‰ã€‚
9. **P1-9**:投资导出「按月分目录 + è‡ªåЍ备份 + è¿è¡Œæ—¥å¿—/校验报错」是否按约定实施。
10. **P2-1 / P2-7 / P2-8**:增速排名措辞、多市州块提示、临时文件清理。
---
## 6. åŽ†å²å‘ç´¢å¼•ï¼ˆåˆ«é‡è¸©ï¼‰
| æ–‡æ¡£ | è¦†ç›–内容 |
| --- | --- |
| `docs/问题汇总/问题与注意事项汇总_2026-09-16.md` | å¯åЍ/进程、DB、导入路径约定、报表生成、登录验证码、文件写入(换行/BOM)、浏览器取证、Git åŒä»“库、货运累计列口径、Excel「打不开」根因(inlineStr æ®‹ç•™ï¼‰ |
| `docs/问题汇总/汇总表问题汇总_2026-09-17.md` | 8 æœˆç©ºç™½/排名不对、投资预安排导出为空(月份选错)、报表生成页两张投资明细表 |
| `docs/问题汇总/汇总表三条主线修复方案_2026-09-18.md` | ã€Œå…¬å¼ä¸é‡ç®—」统一根因 + é¡µèŒƒå›´æ¼é¡¹ + å£å¾„缺口 |
| `docs/问题汇总/中口径排名同比与城市客运列错位_根因与长效方案_2026-09-18.md` | 2025 åŸºæ•°ä¸‰å¤„缺陷(公交城际城乡=0、网约车 pin ç¼ºå¤±ã€å‡ºç§Ÿ 6 æœˆé‡å¤ï¼‰ä¸Ž A/B/C/D å››ç»„方案 |
| `docs/问题汇总/汇总大表问题交接_2026-09-21.md` | æ±‡æ€»å¤§è¡¨**逐行代码地图**与 P0-1/P0-2 è¯¦ç»†è®ºè¯ï¼ˆæŽ¥æ‰‹å¿…读) |
**最容易被改回去的 6 ä¸ªç‚¹**(取自汇总大表交接第 6 èŠ‚ï¼‰ï¼š
1. åŸŽå¸‚客运页 AJ åˆ—已删(母版有**两本**,改之前先确认改对哪本)。
2. `colIndexOf()` å¿…须返回 **0 åŸº**列号(曾因 1 åŸºå¯¼è‡´ 360 æ ¼å¾ªçŽ¯å¼•ç”¨ï¼‰ã€‚
3. `setCellFormula` **不接受**带 `=` å‰ç¼€çš„公式串。
4. å…¬å¼å¿…é¡» `evaluateAll` é‡ç®—写缓存值,否则预览/二次处理看到旧值。
5. ä¸­å£å¾„「城际城乡」一律用「总量 âˆ’ åŸŽå¸‚内」现算。
6. `setValOrBlank()` é‡åˆ°å…¬å¼æ ¼ç›´æŽ¥ return â€”— åˆ«æƒ³ç”¨å†™å€¼æ”¹æŽ’名页全省行。
---
## 7. æ“ä½œæ‰‹å†Œ
### 7.1 å¯åЍ / åœæ­¢
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File D:\文档\ChatGPT\traffic-audit\start-dev.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File D:\文档\ChatGPT\traffic-audit\stop-dev.ps1
```
- è„šæœ¬è‡ªåŠ¨è·³è¿‡å·²åœ¨ç›‘å¬çš„ç«¯å£ï¼›å°±ç»ªåˆ¤æ®çœ‹ `backend.log` / `traffic-audit-web/frontend.log`。
- é‡å¯è¦**按 PID ç²¾ç¡®åœ**(后端链 `cmd â†’ java(maven) â†’ java(app)`;前端链 `cmd â†’ node(npm) â†’ cmd â†’ node(vue-cli-service)`),**不要**按名字杀 `node.exe`(会杀掉 Codex è‡ªå·±çš„ `node_repl`)。
### 7.2 æ•°æ®åº“
```powershell
& 'D:\mysql\mysql-5.7.41-winx64\bin\mysql.exe' '--host=127.0.0.1' '--port=3308' '--user=root' '--password=123456' '--default-character-set=utf8mb4' 'traffic_audit' '-e' "SQL"
```
- **必须写 `--host=127.0.0.1`**(写成 `-h127.0.0.1` ä¼šè¢«è§£æžæˆ host `127`)。
- è¡¨ç»“构变更要**同步三处**:实际库 DDL、`docs/init.sql`、`docs/database.md`。
### 7.3 æœ¬æœºç‰¹æœ‰çš„坑
| å‘ | å¯¹ç­– |
| --- | --- |
| åŒæ—¶å­˜åœ¨ `Path` ä¸Ž `PATH` â†’ `Start-Process` æŠ¥ã€Œå·²æ·»åŠ äº†å…·æœ‰ç›¸åŒé”®çš„é¡¹ã€ | ä¸€å¾‹ `cmd.exe /c ... > log 2>&1`,**严禁 `Start-Process`** |
| æ²™ç®±å†… node è®¿é—®ç”¨æˆ·ç›®å½•被拒(`EPERM: lstat`) | å¯åЍ/编译/推送一律在**沙箱外**执行 |
| æ²™ç®±å†… `Get-NetTCPConnection` é™é»˜å¤±è´¥ | åªç”¨æ—¥å¿—判断服务状态 |
| ä¸­æ–‡æŽ§åˆ¶å°ä¹±ç  | å†™æ–‡ä»¶åŽç”¨ `Get-Content -Encoding UTF8` çœ‹ï¼Œåˆ«é æŽ§åˆ¶å°è¾“出判断 |
| æ¢è¡Œç¬¦ä¸ç»Ÿä¸€ï¼ˆ`.vue` CRLF、`.java`/`.md` LF;`main.js` å¸¦ BOM) | æ”¹æ–‡ä»¶å‰å…ˆç¡®è®¤ï¼›`git checkout -- <file>` ä¼šæŠŠ LF è½¬ CRLF |
| `apply_patch` åœ¨æœ¬æœºä¸å¯ç”¨ | å†™ `.py` è„šæœ¬ç”¨ `python` æ‰§è¡Œæ›¿æ¢ |
| python ç¼ºåº“ | `sys.path.insert(0, r"D:\文档\ChatGPT\traffic-audit\_pylibs")` åŽæ‰æœ‰ openpyxl / xlrd |
### 7.4 äº¤ä»˜è§„矩(硬性)
1. æ¯åšå®Œä¸€ä¸ªåŠŸèƒ½ï¼š**先测试 â†’ å†™ã€ŠåŠŸèƒ½æµ‹è¯•æŠ¥å‘Šã€‹**(`docs/功能测试报告/功能测试报告_<功能名>_<日期>.md`,含正向/负向/入库抽查)→ **更新《工作日结》**(`docs/工作日结/工作日结_<日期>.md`)。
2. ç„¶åŽ `git fetch origin`(个人 gitee,分支 `master`)与 `git fetch gitea`(公司,分支 `main`)比对合并,**禁止强推**,再 commit + push。
3. å…¬å¸è´¦å·å¯†ç åªèµ°æœ¬æœº git å‡­æ®ï¼Œ**禁止写进仓库任何文件**。
---
## 8. æŽ¥æ‰‹ç¬¬ä¸€å°æ—¶ checklist
- [ ] Â§7.1 èµ·æœåŠ¡ï¼Œçœ‹ä¸¤ä¸ªæ—¥å¿—ç¡®è®¤å°±ç»ªï¼ˆæ³¨æ„ï¼š**本次交接时服务正在运行,别重复起**)。
- [ ] `GET http://127.0.0.1:8090/api/auth/captcha-config` é€š â†’ åŽç«¯ OK;打开 `http://localhost:8080/#/login` èƒ½ç™»å½•。
- [ ] ç”¨ Â§1.2 çš„ SQL æ ¸å¯¹åº“内行数(152 / 284 / 136)是否与本文一致。
- [ ] ç”Ÿæˆä¸€æ¬¡ 2026-08 æ±‡æ€»å¤§è¡¨ï¼ˆæŠ¥è¡¨ç”Ÿæˆé¡µæˆ– Â§2.4 æŽ¥å£ï¼‰ï¼Œç¡®è®¤èƒ½äº§å‡ºã€èƒ½æ‰“开。
- [ ] è¯» `docs/问题汇总/汇总大表问题交接_2026-09-21.md`(重点第 3、4、5 ç« ï¼‰ã€‚
- [ ] è¯»æœ¬æ–‡ Â§4,按 P0 é¡ºåºå’Œç”¨æˆ·ç¡®è®¤å‰ 4 ä»¶äº‹æ€Žä¹ˆæŽ¨è¿›ã€‚
- [ ] ç¡®è®¤è‡ªå·±çŸ¥é“「改完要写测试报告 + å·¥ä½œæ—¥ç»“ + åŒä»“库推送」。
---
**交接人**:郑玉洁 **交接日期**:2026-09-21 **下次更新时请改文首日期并在此追加一行变更记录**
| æ—¥æœŸ | å˜æ›´ |
| --- | --- |
| 2026-09-21 | é¦–次成文:整合汇总大表交接(`docs/问题汇总/汇总大表问题交接_2026-09-21.md`)与投资/货运/客运各线遗留 |
docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-21.md
New file
@@ -0,0 +1,81 @@
# å·¥ä½œæ—¥ç»“_2026-09-21
## ä¸€ã€ä»Šå¤©åšäº†ä»€ä¹ˆ
### 1. å®šä½ã€Œæ±‡æ€»å¤§è¡¨ä¸­å£å¾„排名累计同比 7.74% vs ä¸­å£å¾„明细 7.64%」根因(用户 09-21 æé—®ï¼‰
**现象**:`D:\桌面\生成数据\生成_道路运输量汇总表 (3).xlsx` ä¸­ï¼Œ
「中口径排名」M13 é»„冈 1-8 æœˆç´¯è®¡åŒæ¯” 7.744917%,「中口径明细」T55 åŒä¸€æ ¼ 7.641733%;
两页当月累计值相同(3480.930066022),差的只是去年同期基数(3230.713965 vs 3233.810859,差 3.096894)。
**排查过程与结论**(全部用库内数据 + 7 ä»½æ¯ç‰ˆåŽ†å²ç‰ˆæœ¬é€æ ¼éªŒè¯ï¼‰ï¼š
1. å››ä¸ªä¸­å£å¾„维度分别复算 2025 å¹´ 1-8 æœˆï¼šç­çº¿+个体、城际城乡公交、城际城乡巡游出租**逐位一致**;
   åªæœ‰**城际城乡网约车**一维不同,且只有 **2025 å¹´ 3、4 æœˆ**不同(其余 6 ä¸ªæœˆé€ä½ä¸€è‡´ï¼‰ï¼š
   - 2025-03 é»„冈:母版 5.203089147 / åº“现算 3.938965484(差 1.264123663)
   - 2025-04 é»„冈:母版 6.585331252 / åº“现算 4.752560757(差 1.832770495)
   - åˆè®¡å·® 3.096894158,与两页基数差完全吻合。
2. ç”¨**母版自己的出租列**(与库逐格一致,17 å¸‚å·ž Ã— 8 æœˆå…¨å¯¹ï¼‰+ è®¢å• + pin å¥—现算法复算:
   1/2/5/6/7/8 æœˆ**逐位复现(偏差 0.000000000)**,3/4 æœˆå¤çŽ°ä¸å‡ºæ¥ â†’ ç®—法无误,是那两格另有来源。
3. **否定「9/16 å‡ºç§Ÿè¡¥å½•导致」**:9/8 ç¨‹åºæ”¹åŠ¨å‰çš„åŽŸå§‹æ¯ç‰ˆ
   ï¼ˆ`docs/生成汇总大表/_bak_202608母版修改前_20260916/2026å¹´8月道路运输量汇总表.xlsx`)
   è¿™ä¸¤æ ¼**本来就是** 5.203089147 / 6.585331252,同月出租列也已与现库一致 â†’ çŸ›ç›¾åœ¨ 9/8 ä¹‹å‰å°±å­˜åœ¨ã€‚
4. åæŽ¨é‚£ä¸¤æ ¼éšå«è¾“入(前提已验证:母版 17 å¸‚州城市内加总 = 2504.28 = å…¨çœ pin åŸŽå¸‚内,分毫不差,武汉自留
   â†’ åˆ†æ‘Šè§„则与现算法完全相同):隐含的「巡游出租城市内客运量」16 ä¸ªå¸‚州里 15 ä¸ªéƒ½æ¯”现在低
   ï¼ˆè†å·ž -41.38、恩施 -34.65、黄冈 -26.13、十堰 -20.31,仅宜昌 +2.27)。
5. **最终结论**:母版 2025 å¹´ 3、4 æœˆçš„网约车拆分,是用**另一份出租城市内口径**算出来的,与母版自带的出租列自相矛盾;
   9/16 å‡ºç§Ÿå…¥åº“后,排名页一现算才把矛盾显性化。属**「排行页按库现算 vs æ˜Žç»†é¡µç”¨æ¯ç‰ˆé™æ€åŽ†å²ã€çš„åŒè½¨åˆ¶**问题。
6. **影响面**:除武汉外 16 ä¸ªå¸‚州全有差(宜昌 +0.55pp、十堰 -0.35pp、荆州 -0.32pp、鄂州 -0.30pp、荆门 -0.25pp、
   æ©æ–½ -0.13pp、黄冈 -0.10pp…);**全省行两页完全一致**,因为这是市州之间的分摊差异,加总抵消。
### 2. äº§å‡ºã€Šæ±‡æ€»å¤§è¡¨é—®é¢˜äº¤æŽ¥è¯´æ˜Žã€‹ï¼ˆé¢å‘接手同事)
- ä»“库:`docs/问题汇总/汇总大表问题交接_2026-09-21.md`(250 è¡Œï¼‰
- æ¡Œé¢å‰¯æœ¬ï¼š`D:\桌面\汇总大表问题交接_2026-09-21.md`
- å†…容:现状一句话 / å‰ç½®é˜…读 5 ç¯‡ / ç”ŸæˆåŽŸç† 6 æ­¥ / é—®é¢˜æ€»è§ˆè¡¨ï¼ˆP0~P2)/ P0-1 åŽ†å²åŸºæ•°åŒè½¨åˆ¶å®Œæ•´æ ¹å› ä¸Žæ–¹æ¡ˆ A、B /
  P0-2 æ¯ç‰ˆä¾èµ–与「每月换母版」三处必改点及方案 / å·²ä¿®å¤çš„ 6 ä¸ªåŽ†å²å‘ï¼ˆé¿å…æ”¹å›žåŽ»ï¼‰/ P2 å¾…办 /
  å…³é”®ä»£ç åœ°å›¾ï¼ˆæ–‡ä»¶:行号)/ æ•°æ®ä¸ŽçŽ¯å¢ƒ / è¯æ®æ–‡ä»¶æ¸…单 / å¾…业务确认清单 / å»ºè®®æŽ¥æ‰‹é¡ºåºã€‚
### 3. ä¸´æ—¶è¯æ®æ–‡ä»¶ï¼ˆé¡¹ç›®æ ¹ç›®å½•,未清理)
`_chk_wyc4~7.txt`(网约车逐市逐月复算)、`_chk_backsolve.txt`(反推出租输入)、`_chk_lineage*.txt`(母版血缘)、
`_chk_rule.txt`(候选公式排除)、`_chk_all_pref.txt`(17 å¸‚州差异清单)、`_chk_orig.txt`(9/8 åŽŸå§‹æ¯ç‰ˆï¼‰ç­‰ã€‚
### 4. äº§å‡ºã€Šæ€»äº¤æŽ¥æ–‡æ¡£ã€‹ï¼ˆç”¨æˆ·è¦æ±‚「把存在的问题和没做完的工作都写进去,越详细越好」)
- ä»“库:`docs/交接文档_2026-09-21.md`(约 14.6 KB)。
- å®šä½ï¼š**全系统唯一入口**。汇总大表那条线不重抄,只做摘要 + æŒ‡å‘已有
  `docs/问题汇总/汇总大表问题交接_2026-09-21.md`,避免两份文档写同一份内容后互相打架(用户问「汇总也在写要不要写一块」时确认的口径)。
- å†…容:接手第 1 å°æ—¶æ¸…单 / çŽ°çŠ¶å¿«ç…§ï¼ˆæœåŠ¡Â·æ•°æ®åº“Â·ä»“åº“ï¼Œå‡ä¸º 09-21 ä¸Šåˆå®žæµ‹ï¼‰/ ç³»ç»Ÿç»“构与代码地图 /
  äº”条数据链(货运周转量、H203-1、城市客运、汇总大表、投资 5 å¼ è¡¨ï¼‰/ **未完成工作 P0·P1·P2 å…± 27 æ¡**(现象·影响·证据·下一步·状态)/
  å¾…业务确认清单 10 æ¡ / åŽ†å²å‘ç´¢å¼•ä¸Žã€Œæœ€å®¹æ˜“è¢«æ”¹å›žåŽ»çš„ 6 ä¸ªç‚¹ã€/ æ“ä½œæ‰‹å†Œï¼ˆå¯åœÂ·DB·本机特有的坑·交付规矩)/ æŽ¥æ‰‹ç¬¬ä¸€å°æ—¶ checklist。
- æœ¬æ¬¡æ ¸å®žå¹¶å†™å…¥æ–‡æ¡£çš„关键事实:
  1. åŽç«¯ 8090、前端 8080 **当前均在运行**(接口探活 200);
  2. åº“内 `investment_project` 152 / `investment_monthly` 284(2026-08 = 136);
  3. **2026-09 è„æœŸå·²æ¸…理干净**(此前 09-16 è®°å½•çš„ 1284/31/2061/3 è¡Œå·²ä¸å­˜åœ¨ï¼‰ï¼›
  4. æ¯ç‰ˆåªæœ‰ 2026å¹´7月 / 2026å¹´8月 ä¸¤æœ¬ï¼ˆç¼º 2026-06 / 2026-09);
  5. æŠ•资两处未实现:**《亿元投资项目》月份列每月覆盖上月**(Q7 è¦æ±‚的「新增一列」未做)、
     **导出「按月分目录 + è‡ªåЍ备份 + è¿è¡Œæ—¥å¿—/校验报错」未实现**(Q10 å·²ç­”同意);
  6. å¯¼å‡ºå‰åŸºæ•°ä½“检(B4)只做了一半:后端 `getLastMidIssues()` **无任何调用方**,前端未消费、无《数据缺失清单》页。
## äºŒã€æµ‹è¯•结果摘要
- æœ¬æ¬¡**无代码改动**,无《功能测试报告》(仅有数据核查)。
- æ•°æ®æ ¸æŸ¥å£å¾„:全部结果与库内 `h2031_enterprise_monthly` / `passenger_individual_monthly` /
  `city_bus_monthly` / `city_taxi_monthly` / `wyc_order_monthly` çŽ°ç®—å€¼é€ä½æ¯”å¯¹ï¼Œ17 å¸‚å·ž Ã— 8 ä¸ªæœˆï¼Œ
  ä¸€è‡´æ€§è¾¾ 1e-9;复现脚本与中间输出已留档(见上)。
## ä¸‰ã€é—留问题与待办
1. **P0-1**:历史同比基数双轨制 â€”— æ–¹æ¡ˆ A(排名页改用母版 2025 é™æ€åˆ—,推荐)/ æ–¹æ¡ˆ B(明细页改现算)
   å¾…用户拍板,**未实施**。
2. **P0-2**:母版依赖 â€”— 9 æœˆå‡ºè¡¨éœ€å…ˆæœ‰æ–°æ¯ç‰ˆï¼›æ–¹æ¡ˆ A(程序自动扩列,2-3 å¤©ï¼‰/ æ–¹æ¡ˆ B(Excel å°å·¥å…·ï¼Œ1 å¤©ï¼‰å¾…拍板。
3. P2:B4 å¯¼å‡ºå‰åŸºæ•°ä½“检 + ã€Šæ•°æ®ç¼ºå¤±æ¸…单》页、D ç»„增速排名措辞、中口径明细 4 æ ¼ `#DIV/0!`、
   ç¼ºæ¯ç‰ˆæç¤ºå®žæµ‹ã€éƒ¨ç½²åŒ…旧母版(用户明确暂不处理)。
4. æœ¬æ¬¡äº§å‡ºçš„交接文档是否归档进 gitea / æ˜¯å¦æŽ¨é€æœ¬åœ°æœªæŽ¨æäº¤ï¼ˆ09-18 èµ·çš„æœ¬åœ°æäº¤å°šæœªæŽ¨å…¬å¸ gitea),待用户确认。
## å››ã€æ˜Žæ—¥è®¡åˆ’
1. æŒ‰ç”¨æˆ·æ‹æ¿çš„æ–¹æ¡ˆå®žæ–½ P0-1(方案 A)并出《功能测试报告》+ åŒé¡µåŒæ¯”一致性回归。
2. P0-2 å…ˆå‡º 9 æœˆæ¯ç‰ˆï¼ˆæ–¹æ¡ˆ B åº”急),再排方案 A çš„æ‰©åˆ—器与「7 æœˆæ¯ç‰ˆæ‰© 8 æœˆã€é€æ ¼ diff éªŒè¯ã€‚
3. é…åˆæŽ¥æ‰‹åŒäº‹è¿‡ä¸€éã€Šæ±‡æ€»å¤§è¡¨é—®é¢˜äº¤æŽ¥è¯´æ˜Žã€‹ï¼Œç­”疑并补充遗漏。
docs/Ͷ×Ê/ÊäÈë/2026Äê8ÔÂͶ×ÊϵͳÏîÄ¿Ã÷ϸ.xls
Binary files differ
docs/ÎÊÌâ»ã×Ü/»ã×Ü´ó±íÎÊÌâ½»½Ó_2026-09-21.md
New file
@@ -0,0 +1,250 @@
# æ±‡æ€»å¤§è¡¨ï¼ˆé“路运输量汇总表)问题交接说明
> äº¤æŽ¥æ—¥æœŸï¼š2026-09-21 交接人:郑玉洁 接手人:待定
> èŒƒå›´ï¼šæŠ¥è¡¨ç”Ÿæˆ â†’ æ±‡æ€»å¤§è¡¨ï¼ˆ`生成_道路运输量汇总表.xlsx`,19 ä¸ªé¡µç­¾ï¼‰ä¸€é”®ç”ŸæˆåŠŸèƒ½åŠå…¶å…¨éƒ¨é—ç•™é—®é¢˜
> æœ¬æ–‡åªå†™ã€ŒæŽ¥æ‰‹äººåŠ¨æ‰‹å‰å¿…é¡»çŸ¥é“çš„äº‹ã€ï¼ŒåŠŸèƒ½å…¨è²Œè§ç¬¬ 1 èŠ‚åˆ—çš„å‰ç½®æ–‡æ¡£ã€‚
## 0. ä¸€å¥è¯çŽ°çŠ¶
8 æœˆæ±‡æ€»å¤§è¡¨å·²èƒ½åšåˆ°ã€Œå¯¼å…¥åŸºç¡€æ•°æ® â†’ ä¸€é”®ç”Ÿæˆã€ï¼Œä¸Žäººå·¥æ¯ç‰ˆé€æ ¼æ¯”对基本一致。但有两个高危遗留:
1. **历史同期(2025 å¹´ï¼‰åˆ—在两套口径之间没有统一** â€”— ã€Œä¸­å£å¾„排名」页与「中口径明细」页的累计同比对不上(黄冈 7.74% vs 7.64%),**这是第一优先问题**。
2. **每月要人工准备一份新母版**,程序不会自己扩列,9 æœˆåŠä»¥åŽä¸è§£å†³å°±ä¼šå¡ä½å‡ºè¡¨ã€‚
## 1. å‰ç½®é˜…读(先看这 5 ä»½ï¼Œçº¦ 30 åˆ†é’Ÿå»ºç«‹æ¦‚念)
| æ–‡æ¡£ | ä½œç”¨ |
| --- | --- |
| `docs/生成汇总大表/输入输出与逻辑关系总表_2026-09-03.md` | æ¯ä¸ªé¡µç­¾çš„输入、输出、取数来源 |
| `docs/生成汇总大表/页签逻辑关系说明.md` | é¡µç­¾ä¹‹é—´çš„公式依赖关系 |
| `docs/汇总大表数据驱动改造方案_2026-09-07.md` | æ•°æ®é©±åŠ¨æ”¹é€ çš„æ•´ä½“è®¾è®¡ |
| `docs/问题汇总/汇总表问题汇总_2026-09-17.md` | ç¬¬ä¸€æ‰¹ï¼ˆ8 æœˆç©ºç™½/排名不对)的问题与根因 |
| `docs/问题汇总/汇总表三条主线修复方案_2026-09-18.md` | ã€Œå…¬å¼ä¸é‡ç®—」主线的修复方案 |
对外/对同事解释用:`D:\桌面\报表生成原理说明_2026-09-20.md`、`D:\桌面\系统实现汇总说明_2026-09-20.md`。
## 2. ç”ŸæˆåŽŸç†é€Ÿè§ˆï¼ˆ6 æ­¥ï¼‰
入口:前端 `traffic-audit-web/src/views/ReportExport.vue`(报表生成页勾选「汇总大表」)→ åŽç«¯ `ReportExportController` â†’ `ReportExportTaskService`(异步任务 + è¿›åº¦ + 10 åˆ†é’Ÿå†…存缓存)→ `ReportExportService.exportSummaryWorkbook()`(`ReportExportService.java:3522`)。
1. **找母版**:`resolveSummaryMother()`(:4464)在 `docs/生成汇总大表/` ä¸‹æŒ‰æ–‡ä»¶å `{yyyy}å¹´{M}月道路运输量汇总表.xlsx` **精确查找**,找不到直接报「未找到模板文件」。母版**不入库、不随程序分发**。
2. **回填台账页当月值**:`SummaryWorkbookFiller.fillMonthlyLedger()`(`SummaryWorkbookFiller.java:54`)回填 6 å¼ å°è´¦é¡µ â€”— ç­çº¿åŒ…车/公交/出租(`fillCityRows()`,写 1~当月全月)、轨道轮渡、货运、网约车(后两者**只写当月**,历史月沿用母版)。
3. **补齐公式**:`ensureMonthFormulas()`(:432)+ `ensureMonthYoyFormulas()`(:549)按月把「当月值/同比/累计」公式右移;`repairCumulativeYoyFormulas()`(:777)修累计同比分母。
4. **现算成品页**:`refreshSummaryCumulativeSheets()`(:3984)重算 åŸŽå¸‚汇总 / åŸŽå¸‚分市州 / ä¸­å£å¾„分析 / é“路运输周转量 å››é¡µã€‚
5. **搬值排名页**:`refreshSummaryRankSheets()`(:3753)→ `copyRankValues()`(:3766)把 `exportFreightRank / exportTurnoverRank / exportPassengerMidRank` ä¸‰ä¸ªç‹¬ç«‹ç”Ÿæˆå™¨çš„结果拷进 è´§è¿é‡æŽ’名 / è´§è¿å‘¨è½¬é‡æŽ’名 / ä¸­å£å¾„排名。
6. **收尾**:`applyTwoDecimalFormat()`(全精度存储 + æ˜¾ç¤ºä¸¤ä½å°æ•°ï¼‰â†’ `recalcWorkbookFormulas()`(:3601,`evaluateAll` å†™å›žç¼“存值)→ `fullCalcOnLoad=true` â†’ è¾“出。
> **关键认知**:母版本身就是公式驱动的。全省行 = Î£17 å¸‚州;城市客运 / ä¸­å£å¾„明细 = è·¨è¡¨å¼•用(如 `城市客运!C9 = =公交!C16+出租!C16+网约车!C16+'轨道、轮渡'!C9`)。所以这两页**不需要单独写数**,只要公式按月补齐 + é‡ç®—即可。
## 3. é—®é¢˜æ€»è§ˆ
| ç¼–号 | é—®é¢˜ | çŠ¶æ€ | ä¼˜å…ˆçº§ |
| --- | --- | --- | --- |
| P0-1 | åŽ†å²åŒæ¯”åŸºæ•°ã€ŒåŒè½¨åˆ¶ã€ï¼šä¸­å£å¾„æŽ’å vs ä¸­å£å¾„明细 ç´¯è®¡åŒæ¯”全市州不一致 | **未解决** | é«˜ |
| P0-2 | æ¯ç‰ˆä¾èµ–:每月要人工准备新母版,程序不会自己扩列 | **未解决** | é«˜ |
| P1-1 | åŸŽå¸‚客运页 AJ åˆ—(2025å¹´1-7月累计)残留在生成表 | å·²ä¿®å¤ 09-20 | - |
| P1-2 | ä¸­å£å¾„排名周转量口径与人工列不一致 | å·²ä¿®å¤ 09-19 | - |
| P1-3 | ä¸­å£å¾„排名同比与城市客运列错位 | å·²ä¿®å¤ 09-18 | - |
| P1-4 | å…¬å¼å†™äº†ä½†æ— ç¼“存值,预览/二次处理看到旧值 | å·²ä¿®å¤ 09-18 | - |
| P2-1 | å¯¼å‡ºå‰åŸºæ•°ä½“检 + å¼¹çª— +《数据缺失清单》页(B4) | å¾…排期 | ä¸­ |
| P2-2 | å¢žé€ŸæŽ’名措辞(D ç»„) | å¾…排期 | ä½Ž |
| P2-3 | ä¸­å£å¾„明细 4 æ ¼ `#DIV/0!`(2025 å¹´ 8 æœˆåŸºæ•°ä¸º 0) | å¾…业务确认 | ä½Ž |
| P2-4 | ç¼ºæ¯ç‰ˆæç¤ºæœªå®žæµ‹ï¼›éƒ¨ç½²åŒ…内是带 AJ åˆ—的旧母版 | å¾…处理 | ä½Ž |
## 4. P0-1 åŽ†å²åŒæ¯”åŸºæ•°ã€ŒåŒè½¨åˆ¶ã€ï¼ˆæœ¬æ¬¡äº¤æŽ¥é‡ç‚¹ï¼‰
### 4.1 çŽ°è±¡
`D:\桌面\生成数据\生成_道路运输量汇总表 (3).xlsx`(2026-09-20 14:42 ç”Ÿæˆï¼‰ï¼š
- ã€Œä¸­å£å¾„排名」M13 é»„冈 1-8 æœˆç´¯è®¡åŒæ¯” = **7.744917%**
- ã€Œä¸­å£å¾„明细」T55 åŒä¸€æ ¼ = **7.641733%**
- ä¸¤é¡µå½“月累计值完全相同(`3480.930066022`),差的只是**去年同期基数**:排名页 `3230.713965` vs æ˜Žç»†é¡µ `3233.810859`,差 `3.096894`。
### 4.2 æ ¹å› ï¼šä¸¤é¡µçš„去年同期基数来源不同
| é¡µç­¾ | åŽ»å¹´åŒæœŸï¼ˆ2025)怎么来的 | ä»£ç ä½ç½® |
| --- | --- | --- |
| ä¸­å£å¾„排名 | **查库现算**,四个维度全部现算(含网约车拆分) | `loadMidClassMap()` `ReportExportService.java:2441`;网约车维度 :2531;同比 `midCumYoy()` :2404 |
| ä¸­å£å¾„明细 | 2025 åˆ—在母版里是**写死的静态数值(无公式)**,程序不重算 | ç”Ÿæˆä»¶ã€Œä¸­å£å¾„明细」V/X/Z…AJ åˆ—ï¼›`fillMonthlyLedger()` ä¸å†™ 2025 åˆ— |
### 4.3 å·®å¼‚定位(已逐层验证到单元格)
1. å››ä¸ªç»´åº¦åˆ†åˆ«æ¯”对 2025 å¹´ 1-8 æœˆï¼šç­çº¿+个体、城际城乡公交、城际城乡巡游出租 **全部逐位一致**;只有**城际城乡网约车**一维不同。
2. è¯¥ç»´åªæœ‰ **2025 å¹´ 3、4 æœˆ**不同(其余 6 ä¸ªæœˆé€ä½ä¸€è‡´ï¼‰ï¼š
| | æ¯ç‰ˆé™æ€å€¼ | åº“现算 | å·® |
| --- | --- | --- | --- |
| 2025-03 é»„冈 | 5.203089147 | 3.938965484 | 1.264123663 |
| 2025-04 é»„冈 | 6.585331252 | 4.752560757 | 1.832770495 |
| åˆè®¡ | 56.317159454 | 53.220265295 | **3.096894158** |
   ä¸Žä¸¤é¡µåŸºæ•°å·® `3.096894` å®Œå…¨å»åˆã€‚
3. ç”¨**母版自己的出租列**(与库逐格一致)+ è®¢å• + pin å¥—现算法复算:**1/2/5/6/7/8 æœˆé€ä½å¤çŽ°ï¼ˆåå·® 0.000000000)**,3/4 æœˆå¤çŽ°ä¸å‡ºæ¥ â†’ ç®—法没问题,是那两格另有来源。
### 4.4 é‚£ä¸¤æ ¼åˆ°åº•是什么(重要,避免接手后走弯路)
- æ¯ç‰ˆï¼ˆå« **9/8 ç¨‹åºå°šæœªæ”¹åŠ¨å‰çš„åŽŸå§‹æ¯ç‰ˆ** `docs/生成汇总大表/_bak_202608母版修改前_20260916/2026å¹´8月道路运输量汇总表.xlsx`)里,这两格**本来就是** `5.203089147` / `6.585331252` â€”— ä¸æ˜¯ç¨‹åºç®—出来的,是省里提供的模板自带的。
- **不是 9/16 å‡ºç§Ÿè¡¥å½•导致的**:9/8 åŽŸå§‹æ¯ç‰ˆçš„å‡ºç§Ÿåˆ—ï¼ˆ417.01/404.51、410.7/398.38)就已经和现在库里一模一样。
- åæŽ¨è¿™ä¸¤æ ¼éšå«çš„输入(前提已验证:母版 17 å¸‚州「城市内」加总 = `2504.28` = å…¨çœ pin åŸŽå¸‚内,分毫不差,武汉自留 â†’ **分摊规则与现算法完全相同**):
| å¸‚å·ž | çŽ°åº“å‡ºç§ŸåŸŽå¸‚å†… | åæŽ¨å½“时值 | å·® |
| --- | --- | --- | --- |
| è†å·ž | 755.90 | 714.52 | -41.38 |
| æ©æ–½ | 496.19 | 461.54 | -34.65 |
| **黄冈** | **404.51** | **378.38** | **-26.13** |
| åå ° | 339.59 | 319.28 | -20.31 |
| å®œæ˜Œ | 649.59 | 651.86 | +2.27 |
   ï¼ˆ2025-04 åŒé‡çº§ï¼šè†å·ž -43.71、黄冈 -28.11、恩施 -27.20…)
- **结论**:母版 2025 å¹´ 3、4 æœˆçš„网约车拆分,是用**另一份「巡游出租城市内客运量」**(16 ä¸ªå¸‚州里 15 ä¸ªéƒ½æ¯”现在低)算出来的,而母版/库里同一张表的出租列却是调整后的值 â€”— **母版这两列自相矛盾**。9/16 å‡ºç§Ÿå…¥åº“后,排名页一现算,矛盾才第一次显性化。
### 4.5 å½±å“é¢
- **不只黄冈**:除武汉(网约车城市内占比 = 100%,不参与分摊)外,**16 ä¸ªå¸‚州全都有差**。
| å¸‚å·ž | åŒæ¯”å·®(百分点) | å¸‚å·ž | åŒæ¯”å·®(百分点) |
| --- | --- | --- | --- |
| å®œæ˜Œ | +0.5476 | è†å·ž | -0.3187 |
| åå ° | -0.3529 | é„‚å·ž | -0.2986 |
| é»„冈 | -0.1032 | è†é—¨ | -0.2524 |
| æ©æ–½ | -0.1342 | é»„石 | +0.0914 |
| å­æ„Ÿ | -0.0662 | å’¸å® | -0.0526 |
| éšå·ž | -0.0349 | è¥„阳 | -0.0352 |
| ä»™æ¡ƒ | -0.0020 | æ½œæ±Ÿ | -0.0174 |
| å¤©é—¨ | -0.0236 | ç¥žå†œæž¶ | -0.0031 |
- **全省行两页完全一致**(31528.0607 / 5.810558%),因为这是**市州之间的分摊差异**,全省加总相互抵消。
### 4.6 å¤„置方案(待拍板,尚未实施)
- **方案 A(推荐,改动小)**:让 `exportPassengerMidRank()` å–「去年同期累计」时,改用母版那份 2025 é™æ€åˆ—(与中口径明细同源)。
  - ç†ç”±ï¼šå¯¹å¤–发布的同比,基数本该用去年定稿值;只动排名页 `midCumYoy/midCumClass` çš„取数来源,2026 å½“月值不受影响。
  - è¦ç‚¹ï¼šæŠŠæ¯ç‰ˆ 2025 åˆ—读成内存映射(按「市州+指标+月」)供排名页取用;或直接让排名页同比格改成引用中口径明细页的公式。
- **方案 B**:把中口径明细 2025 åˆ—也改成库内现算,两页都用库。
  - ä»£ä»·ï¼šä¼šæ”¹åЍ**所有已定稿的 2025 åŸºæ•°**,必须省局确认。
- **附带建议**:加一条导出校验 â€”— ä¸¤é¡µåŒåŸŽåŒæœˆåŸºæ•°ä¸ä¸€è‡´å°±å†™è¿› `problems`(B4 ä½“检已有框架,见 P2-1)。
### 4.7 å›žå½’验证方法(改完必须跑)
1. ç”Ÿæˆ 2026-08 æ±‡æ€»è¡¨ï¼›
2. å¯¹ 17 å¸‚å·ž Ã— å®¢è¿é‡/周转量,逐格比对「中口径排名」与「中口径明细」的累计同比,要求**全部一致**;
3. åå‘校验全省行仍等于 Î£17 å¸‚州、且全省同比两页一致;
4. é¡ºå¸¦ç¡®è®¤ 2026 å¹´ 1-8 æœˆå„月当月同比两页仍一致(当前是一致的,别改坏)。
## 5. P0-2 æ¯ç‰ˆä¾èµ–与「每月换母版」
### 5.1 çŽ°çŠ¶æœºåˆ¶
- æ¯ç‰ˆç›®å½• `docs/生成汇总大表/`,合法文件名只有 `{yyyy}å¹´{M}月道路运输量汇总表.xlsx` ä¸€ç§ï¼ˆ`resolveSummaryMother()` :4464)。
- ç¨‹åº**只按文件名精确匹配**,找不到即报「未找到模板文件」,**不会自己建模板**。
- å¦æœ‰ `_备份_` å‰ç¼€çš„历史同期母版还原逻辑(`resolveSummaryDonor`)和一批 `_bak_` å¤‡ä»½æ–‡ä»¶ï¼Œ**别乱删**。
### 5.2 ç—›ç‚¹
- è¦å‡º 9 æœˆè¡¨ï¼Œå°±å¿…须人工先做一份《2026å¹´9月道路运输量汇总表.xlsx》放进母版目录;用户明确表示「这样很麻烦」。
- æ¯åŠ ä¸€ä¸ªæœˆè¦åŠ¨çš„åœ°æ–¹ï¼ˆç»æ ¸å®žåªæœ‰ 3 å¤„):
  1. æ–°æœˆä»½åˆ—的同比公式(`=Q{row}/AJ{row}-1` è¿™ç±»ï¼Œå³ç§» 2 åˆ—);
  2. ç´¯è®¡åˆ—的枚举要补当月(如 `SUM(V,X,Z,AB,AD,AF,AH,AJ)` â†’ å†è¡¥ AL);
  3. **插列右侧的 2025/2024/2023 ä¸‰å—历史区及其几千条公式引用需要 +2** â€”— POI ä¸ä¼šåƒ Excel é‚£æ ·è‡ªåŠ¨æ”¹å†™å¼•ç”¨ï¼Œå¿…é¡»ç¨‹åºæ˜¾å¼å¹³ç§»ã€‚
### 5.3 æ–¹æ¡ˆï¼ˆå¾…拍板)
- **方案 A(程序自动扩列)**:预计 2-3 å¤©ã€‚第一步只做「扩列器 + ç”¨ 7 æœˆæ¯ç‰ˆæ‰©å‡º 8 æœˆã€ä¸ŽçœŸå®ž 8 æœˆæ¯ç‰ˆé€æ ¼ diff」的验证报告,证明扩列器可靠后再做整链。
- **方案 B(本机 Excel å°å·¥å…·ä¸€é”®æ‰©åˆ—)**:预计 1 å¤©ã€‚用 Excel COM æ’列(引用由 Excel è‡ªåŠ¨è°ƒæ•´ï¼ŒçœæŽ‰ç¬¬ 3 å¤„平移),生成新母版。
- å»ºè®®ï¼šå…ˆ B åº”急(保证 9 æœˆå‡ºè¡¨ï¼‰ï¼Œå† A åšé•¿æ•ˆã€‚
### 5.4 éªŒè¯æ–¹æ³•
用 7 æœˆæ¯ç‰ˆæ‰©åˆ—出 8 æœˆç»“构,与 `docs/生成汇总大表/2026å¹´8月道路运输量汇总表.xlsx`(已人工删过 AJ åˆ—)逐格 diff,差异必须为 0 æˆ–全部可解释。
## 6. å·²ä¿®å¤ä½†å¿…须知悉的历史坑(避免改回去)
1. **城市客运页 AJ åˆ—**(09-20):8 æœˆæ¯ç‰ˆåŸŽå¸‚客运页多了一列「2025å¹´1-7月累计」,把 2025 å¹´ 8 æœˆåˆ—挤到 AK,导致 8 æœˆåŒæ¯”变成「8月 Ã· 1-7月累计」、累计同比漏计。已用 Excel COM æ•´åˆ—删除 AJ å¹¶è¿˜åŽŸ 36 å¤„被 `#REF!` çš„公式;备份 `_bak_202608母版删除AJ列前_20260920.xlsx`。**注意:用户当时删的是 7 æœˆæ¯ç‰ˆï¼Œè€Œ 8 æœˆå¯¼å‡ºç”¨çš„æ˜¯ 8 æœˆæ¯ç‰ˆ â€”— æ¯ç‰ˆæœ‰ä¸¤æœ¬ï¼Œæ”¹ä¹‹å‰å…ˆç¡®è®¤æ”¹å¯¹å“ªæœ¬ã€‚**
2. **列号 0 åŸº/1 åŸº**(09-20):`colIndexOf()` æ›¾è¿”回 1 åŸºåˆ—号,POI è¦ 0 åŸºï¼Œå¯¼è‡´å…¬å¼å³ç§» 2 åˆ—变成自引用、360 æ ¼å¾ªçŽ¯å¼•ç”¨ã€‚å·²ä¿®ï¼Œæ–°å†™åˆ—å·æ¢ç®—æ—¶åŠ¡å¿…å¤æµ‹ã€‚
3. **`setCellFormula` ä¸æŽ¥å—带 `=` å‰ç¼€**(09-20):异常又被 `catch (Exception ignore)` åžæŽ‰ï¼Œå¯¼è‡´ç´¯è®¡åŒæ¯”分母修正静默失效。已改成 WARN æ—¥å¿—,**接手后新写公式时不要再吞异常**。
4. **公式必须重算写缓存值**(09-18):POI å†™æ–‡ä»¶ä¸ç®—公式,Excel æ‰“开靠 `fullCalcOnLoad` ä¼šç®—,但系统预览、二次处理、部分 WPS çœ‹ä¸åˆ°ã€‚现已在收尾统一 `evaluateAll`(`recalcWorkbookFormulas()` :3601)。
5. **中口径排名周转量口径统一**(09-19):城际城乡一律用「总量 - åŸŽå¸‚内」现算(`ReportExportService.java:2504` é™„近注释),原「字段值优先」会在个别企业行差 Â±0.01。
6. **`setValOrBlank()` é‡åˆ°å…¬å¼å•元格直接 return**(`ReportExportService.java:2740`):所以中口径排名全省行的 `SUM` å…¬å¼ä¸ä¼šè¢«è¦†ç›–,别试图用写值去改它。
## 7. P2 å…¶ä»–待办
- **B4 å¯¼å‡ºå‰åŸºæ•°ä½“检**:导出前检查各页签基数/期次是否齐备,缺失就弹窗 + ç”Ÿæˆã€Šæ•°æ®ç¼ºå¤±æ¸…单》页。已有 `midIssues`(:2435)和 `dbProblems` ä¸¤ä¸ªé—®é¢˜æ¸…单可挂。
- **D ç»„ å¢žé€ŸæŽ’名措辞**:待排期。
- **中口径明细 4 æ ¼ `#DIV/0!`**:2025 å¹´ 8 æœˆåŸºæ•°ä¸º 0,不可比,是否改空白待业务口径确认。
- **缺母版提示(T08)未实测**。
- **部署包母版是旧版**(`deploy/traffic-audit-deploy-20260913/backend/docs/生成汇总大表/`、`_deploytest/`):用户 09-20 æ˜Žç¡®ã€Œéƒ¨ç½²åŒ…先不管」,发包前需同步。
- åŒæœŸå­˜åœ¨çš„其他线:天门物流源文件缺失、荆州/黄石「规划内/规划外」口径待确认。
## 8. å…³é”®ä»£ç åœ°å›¾
| æ–‡ä»¶ | ä½ç½® | èŒè´£ |
| --- | --- | --- |
| `reportexport/service/ReportExportService.java` | :139 | `checkExportReady()` å¯¼å‡ºå°±ç»ªæ ¡éªŒ |
| | :285 | `reportPreview()` é¢„览 |
| | :2209 | `exportPassengerMidDetail()` ä¸­å£å¾„明细独立生成器 |
| | :2441 | `loadMidClassMap()` ä¸­å£å¾„五维(0 æ€»é‡ / 1 ç­çº¿+个体 / 2 åŸŽé™…城乡公交 / 3 åŸŽé™…城乡巡游出租 / 4 åŸŽé™…城乡网约车)—— **全部查库现算** |
| | :2531 | ç»´åº¦ 4 ç½‘约车 = `WycSplitCalc.calc()` |
| | :2683 | `exportPassengerMidRank()` ä¸­å£å¾„排名独立生成器 |
| | :3522 | `exportSummaryWorkbook()` æ±‡æ€»å¤§è¡¨ä¸»å…¥å£ |
| | :3753 / :3766 | `refreshSummaryRankSheets()` / `copyRankValues()` æŽ’名页搬值 |
| | :3984 | `refreshSummaryCumulativeSheets()` å››é¡µæˆå“é¡µçŽ°ç®— |
| | :4464 | `resolveSummaryMother()` æ¯ç‰ˆå®šä½ |
| | :4476 | `exportWycSplit()` ç½‘约车拆分 |
| `reportexport/calc/SummaryWorkbookFiller.java` | :54 | `fillMonthlyLedger()` å…­å¼ å°è´¦é¡µå›žå¡« |
| | :432 / :549 / :777 | `ensureMonthFormulas()` / `ensureMonthYoyFormulas()` / `repairCumulativeYoyFormulas()` å…¬å¼æŒ‰æœˆè¡¥é½ä¸Žä¿®åˆ†æ¯ |
| | :586 / :589 | `isMonthLedgerSheet()` / `isFilledLedgerSheet()` **页范围判断,曾因两者不一致出 bug** |
| | :864 | `monthColumnCapacity()` æ¯ç‰ˆèƒ½å®¹çº³çš„æœˆä»½åˆ—æ•° |
| `reportexport/calc/WycSplitCalc.java` | :93 | `calc()` ç½‘约车拆分(订单占比 Ã— å…¨çœ pin;城市内用巡游出租「城市内占比」代理,武汉自留、其余按剩余占比重分摊) |
| | :201 / :241 | `loadMonthlyInput()` å–数:**先查库 `wyc_order_monthly`,库里没有才回落到 `docs/城市客运/网约车订单及全省总量.xlsx`** |
| `reportexport/service/ReportExportTaskService.java` | - | å¼‚步导出任务 + è¿›åº¦ + 10 åˆ†é’Ÿå†…存缓存 + æ•°æ®ç‰ˆæœ¬å®ˆå«ï¼ˆ`import_batch.id` å˜åŒ–即失效) |
| `traffic-audit-web/src/views/ReportExport.vue` | - | æŠ¥è¡¨ç”Ÿæˆé¡µï¼ˆé¢„览/下载/进度弹窗/缓存提示) |
## 9. æ•°æ®ä¸ŽçŽ¯å¢ƒ
- åŽç«¯ Spring Boot ç«¯å£ `8090`;前端 Vue2 + ElementUI ç«¯å£ `8080`(`/api` ä»£ç†åˆ° 8090)。
- ä¸€é”®å¯åœï¼š`start-dev.ps1`(项目根目录),**必须在沙箱外运行**。
- æ•°æ®åº“:MySQL 8.0 `127.0.0.1:3308/traffic_audit`(root/123456);客户端 `D:\mysql\mysql-5.7.41-winx64\bin\mysql.exe`。
- æ±‡æ€»å¤§è¡¨ç”¨åˆ°çš„表:
| è¡¨ | ç”¨é€” |
| --- | --- |
| `h2031_enterprise_monthly` | å…¬è·¯å®¢è¿ä¼ä¸šæœˆæŠ¥ï¼ˆç­çº¿/包车,中口径维度 1) |
| `passenger_individual_monthly` | ä¸ªä½“客运(并入维度 1) |
| `city_bus_monthly` | åŸŽå¸‚公交(维度 2 = æ€»é‡ - åŸŽå¸‚内) |
| `city_taxi_monthly` | å·¡æ¸¸å‡ºç§Ÿï¼ˆç»´åº¦ 3 = æ€»é‡ - åŸŽå¸‚内;也是网约车拆分的代理输入) |
| `wyc_order_monthly` / `wyc_total_monthly` | ç½‘约车订单占比与全省 pin(维度 4) |
| `h2032_enterprise_monthly` | è´§è¿é‡ä¸Žå‘¨è½¬é‡ |
- æ¯ç‰ˆç›®å½•:`docs/生成汇总大表/`(含 `_bak_`/`_备份_` åŽ†å²ä»¶ï¼Œ**未经同意不要删**)。
- å•位约定:库内为原始单位,写入表格时 Ã·10000 å¾—「万人 / ä¸‡å¨ / ä¸‡äººå…¬é‡Œã€ï¼›**全精度写入,显示两位小数**(`applyTwoDecimalFormat()`)。
## 10. æœ¬æ¬¡æŽ’查产生的证据文件(在项目根目录,尚未清理)
| æ–‡ä»¶ | å†…容 |
| --- | --- |
| `_chk_mid.txt`、`_chk_hg*.txt` | ä¸­å£å¾„明细/排名页黄冈数据与公式 dump |
| `_chk_wyc.txt` ~ `_chk_wyc7.txt` | ç½‘约车拆分逐市逐月复算与母版比对 |
| `_chk_taxidiff.txt` | å‡ºç§Ÿé¡µ vs åº“出租逐格比对 |
| `_chk_lineage.txt`、`_chk_lineage2.txt` | æ¯ç‰ˆåŽ†å²ç‰ˆæœ¬è¡€ç¼˜ï¼ˆ7 ä»½æ¯ç‰ˆçš„ 2025-03/04 å€¼ï¼‰ |
| `_chk_backsolve.txt` | ç”±æ¯ç‰ˆç½‘约车反推当时的出租输入 |
| `_chk_rule.txt` | å€™é€‰åˆ†æ‘Šå…¬å¼æ‹Ÿåˆç»“果(排除法) |
| `_chk_orig.txt` | 9/8 åŽŸå§‹æ¯ç‰ˆå…³é”®æ ¼ |
| `_chk_all_pref.txt` | 17 å¸‚州两页同比差异清单 |
| `_chk_code*.txt`、`_chk_wyccalc.txt`、`_chk_wycdb.txt`、`_chk_filler.txt`、`_chk_freight.txt` | ç›¸å…³ä»£ç æ®µæ‘˜å½• |
## 11. å¾…用户/业务确认清单(接手人先别自己拍)
1. P0-1 èµ°æ–¹æ¡ˆ A è¿˜æ˜¯ B?(建议 A)
2. P0-2 èµ°æ–¹æ¡ˆ A(程序自动扩列)还是 B(Excel å°å·¥å…·ï¼‰ï¼Ÿ9 æœˆæ˜¯å¦å…ˆç”¨ B åº”急?
3. ä¸­å£å¾„明细 4 æ ¼ `#DIV/0!` æ˜¯å¦æ”¹ç©ºç™½ï¼Ÿ
4. B4 åŸºæ•°ä½“检的触发时机与弹窗文案。
## 12. å»ºè®®çš„æŽ¥æ‰‹é¡ºåº
1. è·‘通环境 + ç”Ÿæˆä¸€æ¬¡ 2026-08 æ±‡æ€»å¤§è¡¨ï¼Œç¡®è®¤èƒ½å¤çŽ°æœ¬æ–‡æ‰€æœ‰çŽ°è±¡ï¼ˆåŠå¤©ï¼‰ã€‚
2. å¤„理 P0-1 æ–¹æ¡ˆ A(1 å¤©ï¼Œå«å›žå½’)。
3. å¤„理 P0-2 æ–¹æ¡ˆ B å‡º 9 æœˆæ¯ç‰ˆï¼ˆ1 å¤©ï¼‰ï¼ŒéšåŽæŽ’ A。
4. è¡¥ B4 åŸºæ•°ä½“检(1-2 å¤©ï¼‰ã€‚