| | |
| | | |
| | | ## ä¸ãä»å¤©åäºä»ä¹ |
| | | |
| | | ### 1. åçç¨æ·æ ¸å¯¹å·®å¼ççé®ï¼æ¿æ¥ 09-19ï¼ |
| | | ### 1.1 ä¿®å¤ï¼æ¥è¡¨çæé¡µä¸¤å¼ æèµæç»è¡¨æ¥ãæªç¥æ¥è¡¨ç±»åã |
| | | |
| | | ç¨æ·æäººå·¥ç®çä¸åæ¾è¿æ¡é¢ãçæ_éè·¯è¿è¾éæ±æ»è¡¨ (1).xlsxãï¼é®å·®å¼åå ã |
| | | ç¨æ·è¿½é®ãæ¯ä¸æ¯åæ°ç»´åº¦ä¸å¯¹é æçââç¨åºç´æ¥å ãåé
å乡ãï¼äººå·¥ç¨ãæ»éâåå¸å
ããââ |
| | | **æ¯çï¼æ£æ¯è¿ä¸ªåå **ï¼å·²å¨ 09-19 ä¿®å¤å¹¶æ¨éï¼é®é¢è®°äºãåè½æµè¯æ¥å_ä¸å£å¾æåå¨è½¬éå£å¾ç»ä¸_2026-09-19.mdãï¼ã |
| | | - **ç°è±¡**ï¼æ¥è¡¨çæé¡µã客è¿ç«æèµæç»è¡¨ããç©æµç«åºæèµæç»ãæ¾ç¤º |
| | | `æªç¥æ¥è¡¨ç±»åï¼investPassengerDetail / investLogisticsDetail`ï¼æ æ³é¢è§/导åºã |
| | | - **å®ä½**ï¼æ¥éæ¥èª `ReportExportService.checkExportReady()` ç `switch (t)` å
åºåæ¯ï¼`ReportExportService.java:231`ï¼ã |
| | | åä¸æåªæè¿ä¸¤ä¸ªç±»åæ¥è¿**导åº**é¾è·¯ï¼`exportSelected` switchã`REPORT_FILE_NAMES`ã`ReportExportController` 两个æ¥å£ã`ReportExport.vue` 两项ï¼ï¼ |
| | | æ¼äº**å°±ç»ªæ ¡éªä¸é¢è§**é¾è·¯ï¼`isInvestType()` 乿²¡æ¶å½è¿ä¸¤ä¸ªç±»åã |
| | | - **䏿°æ®æ å
³**ï¼8 ææèµææ¥ä¸ç´å¨åºï¼å®¢è¿ç«åº 39 è¡ãç©æµååº 128 è¡ï¼ã |
| | | - **ä¿®å¤**ï¼ |
| | | 1. `checkExportReady()` æ°å¢ä¸¤ä¸ª caseï¼æç±»å«ç»è®¡ `investment_monthly` 该æè¡æ° + æ ¡éª `docs/æèµ/模æ¿/` æ¯çæ¯å¦åå¨ï¼ç¼ºæ¯çç»æç¤ºï¼ï¼ |
| | | 2. `isInvestType()` æ¶å½ä¸¤ä¸ªç±»åï¼çº³å
¥æèµåæ¯çæåº¦è¦çä¸é®é¢æ¸
åï¼ï¼ |
| | | 3. `investPreview()` å¢å æç±»å«è¿æ»¤éè½½ `(period, mode, category, summary, problems)`ï¼åæ åéè½½ä¿çï¼ |
| | | 4. é¢è§å¾ªç¯æç±»ååæ´¾å°å¯¹åºç±»å«ï¼æªç¥ç±»åå
åºæ¥éä¿æä¸åã |
| | | |
| | | ### 2. å
¨ç²¾åº¦åå¨ + 两ä½å°æ°æ¾ç¤ºæ¹é ï¼ä»å¤©ä¸»ä»»å¡ï¼ |
| | | ### 1.2 å
¶å® |
| | | |
| | | **ç¨æ·æä»¤**ï¼ãææçæ°æ®é½å
¨é¨å
¨ç²¾åº¦ä¿çï¼è®¡ç®å¾å°çç»ææ¾ç¤ºä¸¤ä½å°æ°ãã |
| | | - éå¯åå端å è½½æ°ä»£ç ï¼å端 `Started TrafficAuditApplication` 10:49:51ï¼ã |
| | | - é¡ºææ ¸å¯¹ï¼å䏿ãå计è¡è¢«å½é¡¹ç®ãä¿®å¤åï¼å®¢è¿æ¬æå®ææèµç±å«å计è¡ç 2130.1 æ¶æä¸º **2048.1**ï¼ä¸ SQL é项ä¸è´ï¼åºå
å·²æ å«ã计ãç伪项ç®è¡ã |
| | | |
| | | - **å»é¢èå
¥**ï¼`ReportExportService.java` 廿 40 å¤åå
¥åç `round(...)`ââ |
| | | è´§è¿è§ä¸/è§ä¸/忝ï¼ç´¯è®¡ä¸å½æï¼ã`÷10000` å使¢ç®ï¼ç/å¸ Ã æ/累计åå¤ï¼ã |
| | | ä¸å£å¾æå/åæåå
¥ãæåé¡µå æ¯ï¼`setFreightShare`ãè´§è¿éæå/å¨è½¬éæååï¼ã |
| | | éç¨æ°æ®æ ¼ `setDataCell`ãå¹³åè¿è·å
åºã客è¿è½¬è¿åå
¥ãæèµè¿åº¦ãç©æµå æ¯ãæèµè®¡åä¸å¨ï¼ |
| | | `WycSplitCalc.java` å¹³åè¿è·å
åºæ¹å
¨ç²¾åº¦å¹¶å é¤å·²æ å¼ç¨çç§æ `round`ã |
| | | - **å±ç¤ºä½æ°äº¤ç»åå
æ ¼æ ¼å¼**ï¼éå `applyTwoDecimalFormat()` |
| | | ââæ°å¼æ ¼ç»ä¸ `0.00`ï¼ä¿ç `;[Red]\(...\)` çååç¼ï¼ï¼**3 ä½å以ä¸å°æ°çæ ¼å¼**ï¼`0.000_ `ã`0.0000`ï¼ |
| | | ç¨æ£å `\.0{3,}` æ¶æä¸ºä¸¤ä½ï¼ç¾åæ¯/æ¥æ/ç§å¦è®¡æ°/ææ¬æ ¼å¼ä¸å¨ï¼æ´æ°å¼æ²¿ç¨ã䏿¾ç¤º .00ã约å®ã |
| | | - æ§å¶å°é¢è§æè¦éç `round` ä¿çï¼ä¸è¿æ¥è¡¨æ°æ®ï¼ã |
| | | ### 1.3 ä¿®å¤ï¼æ±æ»å¤§è¡¨ãåå¸å®¢è¿ã8 æåæ¯ / ç´¯è®¡åæ¯ç®éï¼æ¯çå AJ è¾
å©å + ç¨åºæè¡¨å¤´åæ°ï¼ |
| | | |
| | | **è¿ç¨ä¸ä¿®æç两个èªä½èªæçå**ï¼å已卿µè¯æ¥åãåãåç°çé®é¢ä¸å¤ç½®ãçè¯ï¼ï¼ |
| | | |
| | | 1. ãæ´æ°ä¸æ¾ç¤º .00ãçä¿æ¤å
æå
¬å¼æ ¼è·³è¿äºï¼é¦è½®æ¹é å `è´§è¿!EO90/EO93/EO108/EO111` |
| | | 仿¯ `0.0000`ï¼ç¼åå¼ 0 被å¤ä¸ºæ´æ°ï¼â ææ ¼å¼å½ä¸å¤æ**æå°æ´æ°ä¿æ¤ä¹å**ã |
| | | 2. æ§å¤æ `f.contains("0.00")` æ `0.000_ ` 误å¤ä¸ºãå·²æ¯ä¸¤ä½å°æ°ãï¼ä¸å£å¾æç» 134 æ ¼æ¼æ¹ |
| | | â æ¹æ£ååå½é¶ã |
| | | - **ç°è±¡**ï¼ç¨æ·ä¸æ¥çæè¡¨åå¸å®¢è¿ 8 æåæ¯ â86.5%ãç´¯è®¡åæ¯ â43.5%ï¼ä¸ã2025å¹´1-7æç´¯è®¡ãå卿¯çå è¿å´ä»å¨çæè¡¨éã |
| | | - **æ ¹å ï¼3 个ï¼**ï¼ |
| | | 1. æ¯çæ**两æ¬**ââç¨æ·å çæ¯ã2026å¹´7æéè·¯è¿è¾éæ±æ»è¡¨.xlsxãï¼è 8 æå¯¼åºç¨çæ¯ã2026å¹´8æâ¦ãï¼ |
| | | åè
åå¸å®¢è¿é¡µ 2025 年段æäº AJ åã2025å¹´1-7æç´¯è®¡ãï¼æ 2025å¹´8æåæ¤å° AKï¼ |
| | | 8 æåæ¯ `=Q4/AJ4-1` å®é
æ¯ã8æå¼ ÷ 2025å¹´1-7æç´¯è®¡ãï¼ç´¯è®¡åæ¯åæ¯åæ 1-6 æéå¤è®¡ã8 ææ¼è®¡ã |
| | | 2. æ°åçåå·æ¢ç® `colIndexOf()` è¿å 1 åºåå·ï¼è POI åå·æ¯ 0 åº â æä»½åæ¥è¡¨å
¨è½ç©ºãéåæã+2 åãï¼ |
| | | `=O5/AH5-1` è¢«ç®æ `=R5/AK5-1`ï¼èªå¼ç¨ï¼â è´§è¿/ç½çº¦è½¦/ä¸å£å¾æç» å
± 360 æ ¼å¾ªç¯å¼ç¨ã |
| | | 3. POI `setCellFormula` 䏿¥å带 `=` åç¼çå
¬å¼ä¸²ï¼å¼å¸¸å被 `catch (Exception ignore)` åæï¼ |
| | | ç´¯è®¡åæ¯åæ¯ä¿®æ£ä¸ç´éé»å¤±è´¥ï¼æ¥å¿åªæ¾ç¤ºãä¿®æ£æ ¼æ°=0ãï¼ï¼å¦æ¯ç 3~8 æè¡¨å¤´æ¯ 46235 è¿ç±»è£¸åºå + General æ ¼å¼ï¼ |
| | | åæ `isCellDateFormatted` å¤å®ä¼æ¼å¤ã |
| | | - **å¤ç½®**ï¼ |
| | | 1. æ¯çï¼ç¨ Excel 16.0 COM å¨ã2026å¹´8æéè·¯è¿è¾éæ±æ»è¡¨.xlsxãåå¸å®¢è¿é¡µæ´åå é¤ AJï¼å¼ç¨ç± Excel èªå¨è°æ´ï¼ |
| | | å¦ `W4` â `=V4/AW4-1`ï¼ï¼åæå å产çç 36 å¤ `#REF!` ç´¯è®¡åæ¯å
¬å¼è¿å为 `AJ`ï¼ |
| | | å¤ä»½ `_bak_202608æ¯çå é¤AJåå_20260920.xlsx`ï¼å å忝çä¸çå¼åç
§ä»¶ãçæ_éè·¯è¿è¾éæ±æ»è¡¨.xlsxãåç»æä¸è´ã |
| | | 2. 代ç ï¼`colIndexOf` æ¹ 0 åºï¼`setCellFormula` 廿 `=` åç¼å¹¶æ catch æ¹æ WARN æ¥å¿ï¼ |
| | | `yearMonthOf` æ¯æè£¸æ¥æåºåï¼`repairCumulativeYoyFormulas()` ä¿ç使¯çå
åºã |
| | | 3. å端ï¼`ReportExport.vue` é¢è§è¡¥é½è´§è¿é/åå¸å®¢è¿/ä¸å£å¾å
± 8 项忝æ å°ï¼ä¿®æ£ãå½æè´§ç©å¨è½¬é(ä¸å¨)ãåä½ã |
| | | |
| | | ## äºãæµè¯ç»ææè¦ |
| | | |
| | | è§ãåè½æµè¯æ¥å_å
¨ç²¾åº¦åå¨ä¸ä¸¤ä½å°æ°æ¾ç¤º_2026-09-20.mdãï¼18 æ¡ç¨ä¾ï¼11 æ£å / 4 åå½ / 3 è¾¹ç / 1 è´åæèµ·ï¼éè¿ã |
| | | ãåè½æµè¯æ¥å_æèµæç»è¡¨å°±ç»ªä¸é¢è§ç±»åè¡¥é½_2026-09-20.mdãï¼**7 æ¡ç¨ä¾éè¿ï¼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 æ ¼ã |
| | | | æ ¡éªé¡¹ | ç»æ | |
| | | | --- | --- | |
| | | | `/api/report/ready`ï¼ä¸¤æ°ç±»åï¼ | ready=trueï¼rows=39 / 128ï¼note 为空 | |
| | | | `/api/report/preview`ï¼ä¸¤æ°ç±»åï¼ | è¦ç [8]ï¼problems 为空 | |
| | | | æè¦ vs SQL éé¡¹å¯¹é½ | å®¢è¿ `2048.1 / 38648.16 / 550929.76`ãç©æµ `90185.9 / 704107.7 / 2656354.31`ï¼**ä¸è´** | |
| | | | åç±»å«è¿æ»¤ | å®¢è¿ 39 + ç©æµ 128 = 167ï¼å
¨ç±»å«ç±»åä» 167ï¼æªä¸²ç±»ï¼ | |
| | | | 导åºåå½ | ä¸¤å¼ æç»è¡¨ä»å¯å¯¼åºï¼29462 / 134144 åèï¼ | |
| | | | åææèµç±»ååå½ | investPlan / investBillion / investCounty / investFiveYearLogistics å ready=trueï¼rows=167 | |
| | | | æªç¥ç±»åè´å | `foo` â ready=falseãnote=æªç¥æ¥è¡¨ç±»åï¼fooï¼å
åºä»ææï¼ | |
| | | |
| | | ãåè½æµè¯æ¥å_åå¸å®¢è¿æåº¦ä¸ç´¯è®¡åæ¯_2026-09-20.mdãï¼**15 æ¡ç¨ä¾éè¿**ã |
| | | |
| | | | æ ¡éªé¡¹ | ç»æ | |
| | | | --- | --- | |
| | | | åå¸å®¢è¿ R4 / T4 å
¬å¼ | `=Q4/AJ4-1`ã`=S4/(V4+X4+Z4+AB4+AD4+AF4+AH4+AJ4)-1`ï¼ä¸åæ¯ `#REF!`ï¼ | |
| | | | å
¨ç客è¿é 8 æåæ¯ / ç´¯è®¡åæ¯ | **+4.44% / +0.117%**ï¼ä¿®å¤å â86.5% / â43.5%ï¼ | |
| | | | è¾
å©å | çæè¡¨ä¸æ¯çåæ ã2025å¹´1-7æç´¯è®¡ãï¼åå¸å®¢è¿é¡µ BVâBU | |
| | | | 循ç¯å¼ç¨ | å
¨è¡¨ 0 å¤ï¼ä¿®å¤å 360 å¤ï¼å«è´§è¿/ç½çº¦è½¦/ä¸å£å¾æç» R åï¼ | |
| | | | å
¶å® 18 个页ç¾åå½ | é¤ä¸è¿° R åä¿®å¤å¤éæ ¼ä¸è´ | |
| | | | é¢è§æ¥å£ | 24 é¡¹ææ å« 8 项忝ï¼1.03 ç§ | |
| | | | 导åºèæ¶ | 14 ç§ï¼æ¯ç读å+åå¡« 6.5sãå
¬å¼éç® 4.1sãåçä¼ è¾ 3.4sï¼ | |
| | | |
| | | ## ä¸ãéçé®é¢ä¸å¾
å |
| | | |
| | | 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. æ¦æ±ç©æµé¡¹ç®æ¸
åå£å¾ï¼å·²ç¡®è®¤å¿½ç¥ï¼ã |
| | | 2. 天é¨ç©æµæºæä»¶ H/J/K 为空 â å¾
ç¨æ·æ¾åäºè¦æ°æ®å导å
¥ã |
| | | 3. èå·/é»ç³ãè§åå
/è§åå¤ãæåå£å¾ â å¾
ç¨æ·ååäºç¡®è®¤ã |
| | | 4. ~~C ç»ï¼åå¸å®¢è¿é¡µç»æå½ä¸ï¼éç¨æ·å
å¨ WPS æ´åå é¤ AJ åï¼~~ **已宿**ï¼æ¹ç¨ Excel COM æ´åå é¤ + å
¬å¼è¿åï¼ï¼ |
| | | D ç»ï¼å¢éæåæªè¾ï¼ï¼B4ï¼å¯¼åºååºæ°ä½æ£ + å¼¹çª + ãæ°æ®ç¼ºå¤±æ¸
åã页ï¼å¾
ææã |
| | | 5. 缺æ¯çæç¤ºï¼T08ï¼æªå®æµï¼å¯å¨ææµè¯å¯æ¬æ¶è¡¥æµã |
| | | 6. æ±æ»å¤§è¡¨å¯¼åºæ¯**åæ¥è¯·æ±**ï¼å½å约 14 ç§ï¼æ¯æ¬¡é½è¦éç®æ´æ¬çº¦ 4 䏿 ¼å
¬å¼ï¼ï¼æ°æ®éåæ¶¨ä¸»è¦æ¯ SQL èååæ
¢ï¼ |
| | | ä¸ä¼ã塿»ãï¼ä½å»ºè®®åç»åæå¼æ¥ä»»å¡ + è¿åº¦æç¤ºã |
| | | 7. é¨ç½²å
`deploy/traffic-audit-deploy-20260913/backend/docs/çææ±æ»å¤§è¡¨/` ä¸ `_deploytest/` ä¸ä»æ¯**带 AJ åçæ§æ¯ç**ï¼ |
| | | 䏿¬¡æå
æ¶éåæ¥ï¼æªç»ç¨æ·ç¡®è®¤ä¸æ
èªæ¹é¨ç½²äº§ç©ï¼ã |
| | | 8. ä¸å£å¾æç» 4 æ ¼ï¼åé
å乡巡游åºç§/ç½çº¦è½¦ï¼å 2025å¹´8æåºæ°ä¸º 0ï¼åæ¯æ¾ç¤º `#DIV/0!`ï¼ä¸å¯æ¯ï¼ï¼å¦éæ¹ç©ºç½éç¨æ·ç¡®è®¤å£å¾ã |
| | | |
| | | ## åãæå¤©è®¡å |
| | | ## åãææ¥è®¡å |
| | | |
| | | 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`ãæ¬æä»¶ |
| | | 1. ç天鍿ºæ°æ® / èå·é»ç³å£å¾ç¡®è®¤å补导并å¤éªã |
| | | 2. æ¨è¿ C/D ç»ä¸ B4ã |
| | | 3. ä¸ç¨æ·ç¡®è®¤æ¯å¦æ 09-18 å¤é´èµ·çæ¬å°æäº¤ä¸å¹¶æ¨éå°å
¬å¸ giteaï¼ç¨æ· 09-19 æ¾è¦æ±ãä»å¤©å
䏿¨å
¬å¸ãï¼ã |
| | | 4. è¯ä¼°æ±æ»å¤§è¡¨å¯¼åºå¼æ¥åï¼é¿ä»»å¡è¿åº¦æ¡ / ç»æç¼åï¼ï¼å¹¶ç¡®è®¤é¨ç½²å
æ¯ç忥æ¹å¼ã |