| docs/功能测试报告/功能测试报告_中口径排名周转量口径统一_2026-09-19.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/工作日结/工作日结_2026-09-19.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
docs/¹¦ÄܲâÊÔ±¨¸æ/¹¦ÄܲâÊÔ±¨¸æ_Öпھ¶ÅÅÃûÖÜתÁ¿¿Ú¾¶Í³Ò»_2026-09-19.md
New file @@ -0,0 +1,67 @@ # åè½æµè¯æ¥å_ä¸å£å¾æåå¨è½¬éå£å¾ç»ä¸_2026-09-19 ## ä¸ãåè½è¯´æ **é®é¢æ¥æº**ï¼ç¨æ·æ ¸å¯¹æ¡é¢ãçæ_éè·¯è¿è¾éæ±æ»è¡¨ (1).xlsxãæ¶ï¼å¨ãä¸å£å¾æåã页æå·¥å äºä¸å ã人工-å¨è½¬éãï¼éæåå项ç¸å ï¼ï¼åç°ä¸ç¨åºçæçãå¨è½¬éãåæå·®å¼ï¼å ¨ç +0.31978 ä¸äººå ¬éï¼ åå¸å· ±0.01~0.08ï¼ï¼è¦æ±å®ä½åå å¹¶ä¿®å¤ã **æ ¹å **ï¼å䏿¬æ±æ»å¤§è¡¨é两页走äºä¸¤å¥åæ°å£å¾ã - ãä¸å£å¾æåã页å¨è½¬éæ¥èªå端 `ReportExportService.loadMidClassMap()` å ¬äº¤ç»´åº¦ï¼ **éä¼ä¸è¡**夿ââ该è¡ãåé å乡å¨è½¬éã> 0 å°±ååæ®µå¼ï¼= 0 æåéãæ»é â åå¸å ãã - ãä¸å£å¾æç»ããéè·¯è¿è¾å¨è½¬éããä¸å£å¾åæãç页走å°è´¦å£å¾ ï¼`smReadLedgerMetrics()`ï¼ï¼å æå¸å·æææ±æ»ï¼å å计æ»é â å计åå¸å ã æºæ¥è¡¨éãæ»é/åå¸å /åé å乡ãä¸ä¸ªæ°åèªä¿ç两ä½å°æ°ï¼ä¸ªå«ä¼ä¸è¡ä¸ `åé å乡 â æ»é â åå¸å `ï¼å·® ±0.01ï¼ã2026 å¹´ 1-8 æè¿ç±»è¡å ± **72 è¡**ï¼ ç¨åºéä¿¡åæ®µå¼ã人工ç¨å·®é¢æ³ï¼ç´¯å åå³åºç°è¯¥å·®å¼ã **ä¿®æ¹å 容**ï¼`traffic-audit-server/.../reportexport/service/ReportExportService.java` ï¼å ¬äº¤ç»´åº¦ï¼å 2458/2460 è¡éè¿ï¼ââåé å乡ä¸å¾ç¨ãæ»é â åå¸å ãç°ç®ï¼ä¸å°è´¦é¡µ/æç»é¡µ/å页åæå£å¾ä¸è´ã ## äºãæµè¯ç¯å¢ | 项 | å 容 | | --- | --- | | å端 | Spring Bootï¼`localhost:8090`ï¼æ¹åéæ°ç¼è¯å¹¶éå¯ï¼`start-dev.ps1`ï¼ | | æ°æ®åº | MySQL `localhost:3308/traffic_audit`ï¼`city_bus_monthly` çï¼ | | æ¥è¡¨æ | 2026-08ï¼1-8 æç´¯è®¡ + 8 æåæåï¼ | | å¯¹ç §ä»¶ | `D:\æ¡é¢\çæ_éè·¯è¿è¾éæ±æ»è¡¨ (1).xlsx`ï¼æ¹åçæ + ç¨æ·äººå·¥åï¼ | | çæä»¶ | æ¥å£ `/api/report/export/summaryWorkbook?period=2026-08` â `_after_busfix_2026-08.xlsx` | | è¾ å©èæ¬ | `_qa_busfix.py`ã`_qa_busfix2.py`ã`_qa_busfix3.py`ã`_qa_busfix_diff.py`ã`_qa_busfix_err.py`ã`_qa_busfix_hist.py` | ## ä¸ãç¨ä¾ä¸ç»æ | ç¼å· | ç±»å | è¾å ¥ | 颿 | å®é | ç»è®º | | --- | --- | --- | --- | --- | --- | | T1 | æ£å | æ¹åçæä»¶ãä¸å£å¾æåãO å vs ãä¸å£å¾æç»ãS åï¼17 å¸å· | éæ ¼ç¸ç | 17/17 å ¨é¨ç¸çï¼æ¦æ± 152330.8912ãåæ 64429.9445ãéå· 59015.4820â¦ï¼ | éè¿ | | T2 | æ£å | å ¨ç累计å¨è½¬éï¼æå页 O3ï¼ | = æç»/人工 1227147.48902 | 1227147.4888ï¼å·® â0.0002 ä¸äººå ¬é = 2 äººå ¬éï¼ | éè¿ï¼å·®å¼è§ãäºãéçãï¼ | | T3 | æ£å | æ¦æ±ç´¯è®¡å¨è½¬é | = 人工å 152330.8912 | 152330.8912 | éè¿ | | T4 | æ£å | 8 æåæå 17 å¸å·å计 | = æç» 8 æå计 | å为 156017.6956 | éè¿ | | T5 | æ£å | ç¬ç«æ¥å£ `passengerMidAnalysis`ï¼åé åä¹¡å ¬äº¤ç´¯è®¡å¨è½¬éï¼ | = å°è´¦å£å¾ 227126.74 | 227126.74ï¼æ¹å 227127.06ï¼ | éè¿ | | T6 | æ£å | ç¬ç«æ¥å£ `passengerMidRank` å ¨ç累计å¨è½¬é | æ¥è¿ 1227147.489 | 1227147.4888 | éè¿ | | T7 | åå½ | æ¹å/æ¹åãä¸å£å¾æåã客è¿éåï¼17 å¸å· + å ¨çï¼ | ä¸å | å®å ¨ä¸è´ | éè¿ | | T8 | åå½ | ãä¸å£å¾åæã页 累计å¨è½¬éï¼å°è´¦å£å¾ï¼ | ä¸å | éæ ¼ä¸è´ï¼1227147.48902 / 904146.38902 / 227126.74â¦ï¼ | éè¿ | | T9 | åå½ | 忝åï¼å ¨ç â2.35%ãæ¦æ± +4.15% çï¼ | ä¸å | æ¾ç¤ºç²¾åº¦å å®å ¨ä¸è´ | éè¿ | | T10 | åå½ | æ´æ¬å·¥ä½ç°¿éæ ¼å¯¹æ¯æ¹å/æ¹å | ä» ç®æ æ ¼åå | é¤ç®æ åå¤åªåºç° 1e-10 级浮ç¹åªå£° | éè¿ | | T11 | è¾¹ç | 2025 å¹´åºæï¼åæ¯åºæ°ï¼ | ä¸åå½±å | `city_bus_monthly` 2025 å¹´ãåå¨åé å乡 â æ»éâåå¸å ãè¡æ° = 0 | éè¿ | | T12 | è¾¹ç | åãåå¨å¼ç¼ºå¤±ï¼<=0ï¼æåéãå åºæ¯å¦ä»éè¦ | å»æåæ å¯ä½ç¨ | 2025/2026 åæ ãæªååé ä½ æ»éâå >0ãçè¡ï¼0 è¡ï¼ï¼å åºä»æªè§¦å | éè¿ | | T13 | è´å | æºåº 72 è¡ãåå¨åé å乡 â æ»éâåå¸å ã | ç»ä¸æå·®é¢æ³ | 17 å¸å·å·®å¼å ¨é¨å½é¶ï¼æ¹åï¼æ¦æ± +0.04ãåæ +0.08ãéå· â0.02â¦ï¼å ¨ç +0.3198ï¼ | éè¿ | | T14 | è´å | ãç线å 车ã页 2020 å¹´åå²å `#VALUE!` | éæ¬æ¬¡å¼å ¥ | æ¹ååå²çæä»¶å为 236/456 æ ¼ï¼Excel æå¼ä¼æ `fullCalcOnLoad` éç® | éè¿ï¼æ¢æç°è±¡ï¼ | ## åãåç°çé®é¢ä¸å¤ç½® 1. **å£å¾ä¸ä¸è´ï¼æ¬æ¬¡æ ¹å ï¼**ï¼å ¬äº¤ç»´åº¦éä¼ä¸è¡éä¿¡ãåé å乡ãåæ®µï¼ä¸å°è´¦é¡µå·®é¢æ³å²çª â å·²ç»ä¸ä¸ºå·®é¢æ³ã 2. **å ¨çè¡æ®ç 0.0002 ä¸äººå ¬é**ï¼æåé¡µå ¨çè¡æ¯æ¯çå ¬å¼ `=SUM(O4:O20)`ï¼åå¸å·å åèäºå ¥å° 4 ä½åæ±åï¼ ä¸ãæç»å ¨ç²¾åº¦æ±åã天ç¶å·® 2 äººå ¬éï¼å±æ¯çå ¬å¼ç»ææ§é®é¢ï¼æ¬æ¬¡æªå¨æ¯çã 3. **åå²å `#VALUE!`**ï¼POI éç® 2020 年忝åçæ¢æç°è±¡ï¼ä¸æ¬æ¬¡æ¹å¨æ å ³ï¼Excel æå¼å³èªå¨éç®ã ## äºãç»è®º - ä¿®å¤åãä¸å£å¾æåãå¨è½¬éä¸äººå·¥/å°è´¦å£å¾ **17 个å¸å·éæ ¼ä¸è´**ï¼å·®å¼ä» 17 项å½é¶ï¼ - 客è¿éã忝ãåæé¡µãå页åæé¡µåæ åå½ï¼ - 2025 åæ¯åºæä¸åå½±åï¼ - æ®ç 0.0002 ä¸äººå ¬éï¼2 äººå ¬éï¼æ¥èªæ¯çå ¨çè¡ SUM å ¬å¼ï¼å»ºè®®åç»åç¬ææ¿æ¯å¦æ¹ä¸ºå ¨ç²¾åº¦åå¼ã æµè¯äººï¼Codexï¼AIï¼ãæµè¯æ¥æï¼2026-09-19 docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-19.md
@@ -82,6 +82,22 @@ - 追å ï¼ç¡®è®¤ã4 ä½å°æ°ãçéç¨èå´ï¼è´§è¿é/å¨è½¬é 4 ä½å³å ¨ç²¾åº¦ï¼754 个对象 0 ä¾å¤ï¼ è¿è·ã忝ä¸çäºå ¨ç²¾åº¦ï¼ï¼æ®æ¤ææ±æ»ç±»æ¥è¯¢ï¼1/3/5/8ï¼ç 14 å¤å°æ°ä½ç»ä¸ä¸º 4 ä½ã æ¹åèæ¬è¾åºä¸ 545 家交ä»ä»¶å¸å·æ±æ»éå对é½ï¼T27~T30ï¼ç´¯è®¡ 30 æ¡ç¨ä¾ï¼ã ### 4. æ±æ»å¤§è¡¨ãä¸å£å¾æåãå¨è½¬éå£å¾ç»ä¸ï¼ç¨æ·æ¡é¢æ ¸åºå·®å¼ â å®ä½ â ä¿®å¤ï¼ ç¨æ·æäººå·¥ç®çä¸åï¼ã人工-å¨è½¬éãï¼æ¾è¿æ¡é¢ãçæ_éè·¯è¿è¾éæ±æ»è¡¨ (1).xlsxãçãä¸å£å¾æåãé¡µï¼ é®ä¸ºä»ä¹åç¨åºçæçãå¨è½¬éã对ä¸ä¸ï¼å ¨ç +0.31978 ä¸äººå ¬éï¼åå¸å· ±0.01~0.08ï¼ã - **å®ä½**ï¼å䏿¬è¡¨é两页å£å¾ä¸åããä¸å£å¾æåãèµ° `loadMidClassMap()` å ¬äº¤ç»´åº¦ââ**éä¼ä¸è¡** ãåé å乡忮µ > 0 å°±ç¨å段å¼ï¼= 0 æåé æ»é â åå¸å ãï¼ãä¸å£å¾æç»/åæ/éè·¯è¿è¾å¨è½¬éãèµ°å°è´¦å£å¾ `smReadLedgerMetrics()`ââå æææå¸å·æ±æ»å æ»éå计 â åå¸å åè®¡ã æºæ¥è¡¨ä¸ä¸ªæ°åèªä¸¤ä½å°æ°èå ¥ï¼2026 å¹´ 1-8 æå ¨çæ **72 è¡**ä¼ä¸ææ¥ `åé å乡 â æ»é â åå¸å `ï¼å·® ±0.01ï¼ï¼ç¨åºéä¿¡åæ®µå¼ã人工ç¨å·®é¢æ³ï¼ç´¯å 峿差å¼ã æä¼ä¸è¡éç®çè¿è¾å£å¾å·®**éå¸å·ä¸è¡¨éå·®åå®å ¨å»å**ï¼åæ +0.08ã宿/èå· +0.05ãæ¦æ±/é»å/å¤©é¨ +0.04â¦ï¼ã - **ä¿®å¤**ï¼`ReportExportService.java` å ¬äº¤ç»´åº¦æ¹ä¸ºä¸å¾ãæ»é â åå¸å ãç°ç®ï¼ä¸å°è´¦é¡µ/æç»é¡µ/å页åæå£å¾ä¸è´ï¼ã - **éªè¯**ï¼éå¯åç«¯éæ°çæ 2026-08 大表ï¼ãä¸å£å¾æåãå¨è½¬éä¸äººå·¥/æç»å£å¾ **17 å¸å·éæ ¼å½é¶**ï¼ å®¢è¿éã忝ãåæé¡µãå页åæé¡µæ åå½ï¼2025 åæ¯åºæ 0 è¡åå½±åï¼æ¹å 17 å¸å·å·®å ¨ 0ï¼ã - åè¯èæ¬ä¸çæä»¶ï¼`_qa_busfix*.py`ã`_after_busfix_2026-08.xlsx`ã`_after_midrank.xlsx`ã`_after_midana.xlsx`ã ## äºãæµè¯ç»ææè¦ è§ãåè½æµè¯æ¥å_æç»å¨è§ä¼ä¸545å®¶åå¸å·ç´¯è®¡è¿è·åæ¯_2026-09-19.mdãï¼11 æ¡ç¨ä¾ï¼7 æ£å / 3 è¾¹ç / 1 è´åï¼å ¨é¨éè¿ã @@ -92,12 +108,20 @@ - ååä¼ä¸å£å¾ SQL èæ¬å·²æ´èæ¬æ§è¡éªè¯ï¼å«è¿½å çæç»å¯¼åºæ¥è¯¢ï¼ï¼17 æ¡ç¨ä¾ï¼11 æ£å / 2 è´å / 4 è¾¹çï¼å ¨é¨éè¿ï¼ æç» 545 è¡æ±å = æ±æ»è¡ï¼å·®å¼ 0ï¼ï¼å·®å¼ä¼ä¸éåæ ¡éªéè¿ã - ä¸å£å¾æåå¨è½¬éå£å¾ç»ä¸ï¼14 æ¡ç¨ä¾ï¼6 æ£å / 1 åå½ç» / 3 è¾¹ç / 3 è´ååå½ï¼å ¨é¨éè¿ï¼ 详è§ãåè½æµè¯æ¥å_ä¸å£å¾æåå¨è½¬éå£å¾ç»ä¸_2026-09-19.mdãï¼ å ¨çè¡ä»æ®ç 0.0002 ä¸äººå ¬éï¼=2 äººå ¬éï¼æ¯ç `=SUM(O4:O20)` å åèäºå ¥åæ±åçåºæç»æï¼ã ## ä¸ãéçé®é¢ä¸å¾ å 1. ç¨æ·è¡¨æ ¼ O åé«éè¿è·åæ¯çæ¥æº/æé´å¾ 确认ï¼éä¸ N å为 1-8 æç´¯è®¡ï¼ï¼ç¡®è®¤åæ¹å¯ç®ãè¿è·å¢éå·®ãã 2. 09-18 交ä»çãè´§è¿ææ¥_æç»å¨è§ä¼ä¸_åå¸å·1-8æç´¯è®¡è¿è·å忝ãéç¨**宿¹å ¨å£å¾**ï¼åæ¯ +4.54%ï¼ï¼ æ¬è¡¨éç¨**两年æç»å¨è§ 545 å®¶å£å¾**ï¼åæ¯ +2.90%ï¼ï¼ä¸¤çå£å¾ä¸åä½é½å·²æ³¨æï¼ä¾ä¸å¡æåºæ¯éç¨ã 3. è¥è¯¥è¡¨è¦éãå·®å¼çæ±æ»è¡¨ã䏿¥ï¼å»ºè®®å 注两ç§å£å¾çå·®å¼åå ï¼è§ä¸ä¼ä¸åååå¨ï¼ã 4. ãä¸å£å¾æåãå ¨çè¡ï¼æ¯çå ¬å¼ `=SUM(O4:O20)`ï¼ä¸æç»å ¨ç²¾åº¦æ±åå·® 0.0002 ä¸äººå ¬éï¼ æ¯å¦æ¹æå ¨ç²¾åº¦åå¼ï¼å¾ ç¨æ·ææ¿ã 5. æºæ¥è¡¨ `city_bus_monthly` ä¸ 72 è¡ãåé å乡 â æ»é â åå¸å ãç两ä½å°æ°èå ¥å·®å¼ï¼ å·²æå·®é¢æ³ç»ä¸ï¼å¦åç»è¦ä¸ä¸æ¥å£å¾å®å ¨å¯¹é½ï¼éå头ä¸å¡«æ¥æ¹ç¡®è®¤è¯¥å段å£å¾ã ## åãæå¤©è®¡å traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java
@@ -2454,11 +2454,12 @@ String city = RegionUtil.normalizeCityName(b.getCity()); if (city == null) continue; int key = y * 100 + m; // B1 å åºï¼åå¨çãåé å乡ã缺失(<=0)æ¶ç¨ãæ»å®¢è¿é â åå¸å ãç°ç®ï¼é¿å 2025 å ¨å¹´å ¬äº¤ç»´åº¦è¢«å½æ 0 double cxPass = nz(b.getPassengerChengxiang()); if (cxPass <= 0) cxPass = nz(b.getPassengerVolume()) - nz(b.getPassengerCity()); double cxTurn = nz(b.getTurnoverChengxiang()); if (cxTurn <= 0) cxTurn = nz(b.getTurnover()) - nz(b.getTurnoverCity()); // å£å¾ç»ä¸ï¼2026-09-19ï¼ç¨æ·æ ¸å¯¹ãä¸å£å¾æåãå¨è½¬é vs 人工åï¼ï¼åé å乡ä¸å¾ç¨ãæ»é â åå¸å ãç°ç®ã // åé»è¾ãåå¨çåé å乡 > 0 å°±ä¼å ååæ®µå¼ï¼<=0 æåéå°å·®é¢æ³ãä¼å¨ä¸ªå«ä¼ä¸è¡ä¸ä¸å·®é¢æ³å·® ±0.01 // ï¼æºæ¥è¡¨éæ»é/åå¸å /åé å乡åèªä¸¤ä½å°æ°èå ¥ï¼2026 å¹´ 1-8 æå ¨çå ± 72 è¡ï¼ï¼ç´¯å å // ãä¸å£å¾æåã页æ¯ãä¸å£å¾æç»ã/人工å£å¾å¤ 0.32 ä¸äººå ¬éãæ¹ä¸ºå·®é¢æ³åä¸å°è´¦é¡µãæç»é¡µãå页åæå£å¾ä¸è´ã double cxPass = nz(b.getPassengerVolume()) - nz(b.getPassengerCity()); double cxTurn = nz(b.getTurnover()) - nz(b.getTurnoverCity()); if (cxPass < 0) cxPass = 0.0; if (cxTurn < 0) cxTurn = 0.0; addMidClass(mid, key, city, 2, cxPass, cxTurn);