| | |
| | | _*.zip |
| | | _bak_* |
| | | |
| | | # æ±æ»å¤§è¡¨å¯¼åºç»æè½çç¼åï¼å¤ç¨ä¸ä¸æ¬¡çæç»æç¨ï¼ä¸å
¥åºï¼ |
| | | docs/çææ±æ»å¤§è¡¨/_cache/ |
| | | |
| | | _tmp_codexhome/ |
| | | # Codex åºç¨å¨æ¬ä»åºæ ¹ç®å½äº§çç产ç©ç®å½ï¼ä¿ç卿¬å°ï¼ä¸å
¥åºï¼ |
| | | outputs/ |
| | |
| | | > **æ¯å¤©ç»ææ¶**ï¼æå½å¤©è¿å±ã踩è¿çåãæ°éæ±ãæªå®æäºé¡¹æ´æ°å°æ¬æä»¶ï¼ç¶åå¯ä»¥æ¾å¿å¼æ°å¯¹è¯ã |
| | | > **åä½çº¦å®ï¼2026-08-31ï¼**ï¼è¯´ãæäº¤ã= æ¬å° commit + æ¨éå°è¿ç«¯ gitï¼origin mainï¼Gitblitï¼ï¼ä¸ååªåæ¬å° commitã |
| | | |
| | | ## ææ°ï¼2026-09-22ï¼ |
| | | |
| | | - **已忥**ï¼æ¬å° `main` å·²åå¹¶å
¬å¸ `origin/main` ææ° `db0ee92`ï¼å«æèµæç»åæ°/导å
¥ä¿®å¤ï¼ï¼åå¹¶å `mvn -q -DskipTests compile` éè¿ã |
| | | - **Codex è¾å
¥å¡é¡¿å¤æ ¸ï¼å·²å®æï¼**ï¼çµèä¸ Codex äº 09-22 12:54 éå¯åï¼`Codex++` ä¿®å¤èæ¬ä»å¯ç¨ï¼ä¸»æ¸²æè¿ç¨ç©ºé² CPU 约 13.3%ï¼åæ ¸ï¼ï¼è°è¯å®å« `installed=true`ãæ¬æ¬¡ä¼è¯ `dropped=16`ã对æ¯ä¿®å¤å约 115%ï¼å¡é¡¿é®é¢å·²è§£å³ã |
| | | - **仿¥å·²å®æï¼è¿ç«¯æäº¤ï¼**ï¼æ°æ®æ¥çè¡¥é½ç½çº¦è½¦/个ä½å®¢è¿ãæå¸å·æ±æ»ä¸å¯¼åº Excelãæ±æ»å¤§è¡¨è¿åº¦å¼¹çªä¸ç»æè½çç¼åã |
| | | - **æ±æ»å¤§è¡¨å·®å¼å¤æ ¸ï¼2026-09-22ï¼**ï¼è½¯ä»¶è¾åºä¸æå·¥å®ç¨¿ç» Excel å
¨ééç®åéæ ¼æ¯å¯¹ï¼930 æ¡å·®å¼ä¸å®è´¨æ°å¼å·®å¼ 314 æ¡ï¼å
¶ä¸ 304 æ¡ä¸º 2025 累计åå°å 7ã8 æï¼ä¸å¡å·²ç¡®è®¤å¯æ¸
空ï¼ï¼10 æ¡ ` è´§è¿` åå²åæ¯ä¸å¡å·²ç¡®è®¤è½¯ä»¶æ£ç¡®ãæ¥åè§ `docs/é®é¢æ±æ»/æ±æ»å¤§è¡¨_软件è¾åºä¸æå·¥å®ç¨¿å·®å¼æ¸
å_2026-08_20260922.md`ï¼æç»è§ååç®å½ CSVã |
| | | - **æªå®æéç¹ä¸å**ï¼P0-2ã亿å
æèµé¡¹ç®ãæ Q7 追åãP0-3 导åºååºæ°ä½æ£ãP0-4 2026-09 æ¯çï¼å
¶ä½è§ `docs/äº¤æ¥ææ¡£_2026-09-21.md` 第 4 ç« ã |
| | | |
| | | ### è¡¥å
ï¼2026-09-22 ä¸åï¼æèµåæ°ä¿®å¤ç¬¬ä¸è½®ï¼ |
| | | |
| | | - **已修ï¼ä»£ç + é导 + åå½ï¼**ï¼â 导åºå»æ ç¹å½ä¸åå¹é
ï¼èå·ï¼ï¼â¡ åååæ¡£ä¼å
åå½æææ°æ®çæ¡£ï¼åå °å¿«é产ä¸åäºæï¼ï¼â¢ æªè¦çè¡éè¡ WARN ççï¼â£ 导å
¥è¡¨å¤´å»æ¢è¡ï¼å¤©é¨ H/J/K ä¸å丢ï¼ï¼â¤ 导å
¥æè¡¨å
æ¥è¡¨æé sheetï¼**æ½æ±ä¸åæ 2018 å¹´æ°æ®å½ 2026-08**ï¼ã |
| | | - **ç»æ**ï¼2026-08 ç©æµ/å®¢è¿æç»éæ ¼å·®å¼ **156 â 129**ï¼æ æ°å¢å·®å¼ï¼æªè¦çæ¸
åå·²è½èªå¨ååºï¼ç©æµæ¦æ± 6 è¡ï¼å®¢è¿é»ç³1/é»å9/æ©æ½1/仿¡1ï¼ã |
| | | - **éçï¼ä¸ä¸è½®ï¼**ï¼L/D/E/F è¦çå£å¾ï¼éãå»ºè®¾é¶æ®µå½ä¸è¡¨ãï¼ãæ¦æ±ç©æµä¸é»åå®¢è¿ 8 ææºæ°æ®ãæ½æ± 2026-06/07 åå²éå¼éå¯¼ãæªè¦çæ¸
ååºæä»¶/é¡µé¢æç¤ºï¼P1-9ï¼ã |
| | | - **æ¥å**ï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æèµæç»è¡¨åæ°ä¿®å¤_2026-09-22.md`ã |
| | | |
| | | ### è¡¥å
ï¼2026-09-22 ä¸åï¼æèµæç»è¡¨æ¯å¯¹ï¼ |
| | | |
| | | - **已宿**ï¼è½¯ä»¶ã客è¿ç«æèµæç»è¡¨ããç©æµç«åºæèµæç»ãä¸äººå·¥çéæ ¼æ¯å¯¹ï¼156 æ ¼å·®å¼ï¼ï¼æ¥å `docs/åè½æµè¯æ¥å/æ°æ®æ¯å¯¹æ¥å_æèµæç»è¡¨è½¯ä»¶çæä¸äººå·¥ç_2026-09-22.md`ã |
| | | - **æåº 3 ç±»ãä¼éé»åºæ°ãçé®é¢**ï¼é½æååæ°èéç®æ¯ï¼ï¼ |
| | | 1. 导åºç¨åºç¨¿æ¨¡æ¿ + **æé¡¹ç®åå¹é
**åºå
彿æ°ï¼å¹é
ä¸ä¸/åºå
æ 彿æ°å°±æ²¿ç¨ä¸æå¼ ââ æ¦æ±ç©æµï¼åºå
0 æ¡æåº¦è®°å½ï¼æ´æ®µä¿ç 7 æå¼ï¼èå·ãä¸å½ä¾éå
¬å®åè´¸ç©æµåãå åºå
åå¤ä¸ä¸ªç¹æªè¦çã |
| | | 2. åºå
**åååæ¡£**ï¼åå °ãå¿«éç©æµäº§ä¸åäºæã`id=154`(竣工2026)/`id=181`(竣工2029) å¹¶åï¼å¯¼åºåå°æ§æ¡£ã |
| | | 3. **导å
¥ä¸¢æ°**ï¼å¤©é¨ã天é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç®ãåºå
2026-08 累计/èªå¹´å/æ¬æå
¨ä¸º 0ï¼æºæä»¶æ¯ 16677.7/16677.7/500ï¼**P1-5 åè®°å½ãæºæä»¶ H/J/K å为空ãä¸ç°æä»¶ä¸ç¬¦ï¼éæ´æ£**ï¼ã |
| | | - **å¦**ï¼å¯¼åºä¸è¦ç Lï¼å»ºè®¾é¶æ®µï¼åã忏 éå¸å·çåç»å°è®¡è¡å¡«æ³ã0/空ç½åæ³å·®å¼ï¼å已卿¥å第äºèç»åºå¤ç½®å»ºè®®ã |
| | | |
| | | ### è¡¥å
ï¼2026-09-22 ä¸åï¼å¦ä¸ä¼è¯æ¶å°¾ï¼ |
| | | |
| | | - **æ¬ä¼è¯å·²å®æ**ï¼å·²æ¨éï¼ï¼æ±æ»å¤§è¡¨è¿åº¦å¼¹çªä¼åï¼å®æåä¸ååºç°éå¤ä¸è½½æé®ï¼ï¼å¯¼åºç»æ**è½çç¼å**ï¼`docs/çææ±æ»å¤§è¡¨/_cache/`ï¼å·² gitignoreï¼ï¼ |
| | | ç¼åå®å«å级为**æ°æ®æçº¹**ï¼ä¾èµæºè¡¨ `CHECKSUM TABLE` + æ¯ççæä»¶èº«ä»½ï¼æé¤æèµ/è½è/å®¡æ ¸/ç³»ç»/导å
¥æ¥å¿ï¼ââæ å
³å¯¼å
¥ä¸å失æã**æ¢æ¯çå¿
å®å¤±æ**ï¼å¤±ææ¶è¿åº¦å¼¹çªç»åºè¯´æã |
| | | - **å½åç¯å¢**ï¼å端 8090ãå端 8080 è¿è¡ä¸ï¼å¯¼åºç¼å对 2026-08 ææï¼æä»¶å带æçº¹ï¼ï¼ææ°æäº¤ `06b1cb7`ã |
| | | - **å©ä½å¾
åï¼å·²éæ¡æ ¸æ¥ï¼åäºæªè§¦ç¢°ï¼**ï¼P0-2 亿å
表æ Q7 追åï¼`ReportExportService.java:6251` ä»åå䏿 ¼ï¼ãP0-3 åºæ°ä½æ£ï¼`getLastMidIssues()` æ è°ç¨æ¹ï¼ã |
| | | P0-4 2026-06/09 æ¯ç缺失ãP1-7 æèµèµéæ¸ éåæ®µãP1-9 æèµå¯¼åºææåç®å½ + è¿è¡æ¥å¿ãP2-1 D ç»å¢éæåæªè¾ã |
| | | - **å¾
æ ¸å®**ï¼`docs/äº¤æ¥ææ¡£_2026-09-21.md` ç P2-2ãåå¸å®¢è¿é¡µè¡¨å¤´ä»æ¯æ¥æåºåå·ãå¯è½è¿æ¶ââ代ç å·²æ `fixCityMonthHeaderText()`ï¼09-03 å å
¥ï¼ï¼ |
| | | 建议è·ä¸æ¬¡ 2026-08 å¯¼åºæ ¸å¯¹ååæ¹ææ¡£ã |
| | | - **å
¥å£**ï¼`HANDOFF.md`ï¼æ¬æä»¶ï¼â `AGENTS.md` â `docs/äº¤æ¥ææ¡£_2026-09-21.md` 第 4 ç« ï¼P0/P1/P2 å
¨ééçï¼ã |
| | | |
| | | ### å
³æºäº¤æ¥å¿«ç
§ï¼2026-09-22 æï¼ |
| | | |
| | | - **仿¥äº¤ä»ï¼ä¸¤é¡¹ï¼åå·²æ¨éï¼**ï¼ |
| | | 1. ãæèµæç»è¡¨ è½¯ä»¶çæ vs 人工çãéæ ¼æ¯å¯¹ï¼156 æ ¼å·®å¼ï¼+ æ ¹å å®ä½ ââ `docs/åè½æµè¯æ¥å/æ°æ®æ¯å¯¹æ¥å_æèµæç»è¡¨è½¯ä»¶çæä¸äººå·¥ç_2026-09-22.md`ï¼ |
| | | 2. 第ä¸è½®åæ°ä¿®å¤ï¼å¯¼åº 3 å¤ + 导å
¥ 2 å¤ï¼å«æ°åç°ç"æ½æ±å¯¼å
¥ 2018 å¹´åå² sheet"ï¼ââ `docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æèµæç»è¡¨åæ°ä¿®å¤_2026-09-22.md`ï¼åå½åéæ ¼å·®å¼ **156 â 129**ï¼æ æ°å¢å·®å¼ã |
| | | - **git**ï¼`main` = `db0ee92`ï¼å·²åæ¥å
¬å¸ `origin/main`ï¼å·²åå¹¶åäº `13c2d36` æ±æ»å¤§è¡¨å·®å¼å¤æ ¸ï¼ãå·¥ä½åºå¹²åï¼ä»
æ¬å°æªè·è¸ªç临æ¶äº§ç©ï¼`_tmp_diff_tables_0922.md`ã`_tmp/gen_new_0922/`ã`_tmp_*_0922.*`ï¼åç¨æ·èªå·±ç `docs/确认.docx` æªå
¥åºã |
| | | - **è¿è¡ç¶æï¼17:2x 宿µï¼**ï¼dev å端 `8090`ãå端 `8080` **åå¨è¿è¡**ï¼HTTP 200ï¼åç«¯ä¸ºæ¬æ¬¡ä¿®å¤åçæå»ºï¼16:43 ç» `start-dev.ps1` éå¯ï¼ï¼å
³æºåèªç¶åæ¢ãä¸éæå·¥å¤çãæ°æ®åº `3308`ï¼æ¬é¡¹ç®ï¼ä¸ `3305/3306` ææ¯ä¾ä¿çï¼æ°æ®å·²æä¹
åã |
| | | - **䏿¬¡å¯å¨**ï¼é¡¹ç®æ ¹ç®å½ `powershell -NoProfile -ExecutionPolicy Bypass -File start-dev.ps1`ï¼èæ¬ä¼è·³è¿å·²å¨è·ç端å£ï¼åå端é卿²ç®±å¤è¿è¡ï¼ã |
| | | - **ä¿ç产ç©ï¼æªç»ç¡®è®¤ä¸å ï¼**ï¼æ±æ»å¤§è¡¨ 930 æ¡å·®å¼æ¥å/CSVãæèµæ¯å¯¹ä¸ä¿®å¤æ¥åã`_tmp*_0922.*`ã`_tmp/gen_new_0922/`ã |
| | | - **æ¬è½®æ°æ®åæ´**ï¼ä»
éå¯¼ä¿®æ£ `investment_monthly` 天é¨ãæ½æ± 2026-08 䏤夿°å¼ï¼æªå é¤ä»»ä½é¡¹ç®ä¸»æ¡£ãæªå¨å
¶ä»å¸å·/æé´ã |
| | | - **æ¥æä¼å
ï¼ææ¥ï¼**ï¼ |
| | | 1. L/D/E/F åè¦çå£å¾ï¼éå
确认ãå»ºè®¾é¶æ®µå½ä¸è¡¨ãï¼æºè¡¨ 䏻使½å·¥/竣工æ¶å°¾/æªå¼å·¥/æ¬å¹´æ£å¼æ½å·¥/æåæ½å·¥/åæ â è¾åºç¨è¯ï¼ï¼ |
| | | 2. è¡¥æºæ°æ®ï¼æ¦æ±ç©æµ 8 ææ å表ãé»åå®¢è¿ 8 ææ æºæä»¶ï¼å¯¼åºå·²è½èªå¨åè¦ï¼å
± 15 è¡åå½±åï¼ï¼ |
| | | 3. æ½æ± 2026-06 / 2026-07 æåº¦ä»æ¯ 2018 åå² sheet éå¼ï¼**ç¨ 6/7 ææºè¡¨**é导ï¼ä¸è¦ç¨ 8 ææä»¶é导ï¼ï¼ |
| | | 4. ãæªè¦çè¡æ¸
åãç®ååªè¿ `backend.log`ï¼æ P1-9 å¯ååæãæ ¡éªæ¥é_<å¹´æ>.xlsxãæé¡µé¢æç¤ºï¼ |
| | | 5. æ¢æ P0/P1 ä¸åï¼äº¿å
表æ Q7 追åã导åºååºæ°ä½æ£ã2026-09 æ¯ççï¼è§ `docs/äº¤æ¥ææ¡£_2026-09-21.md` 第 4 ç« ï¼ã |
| | | |
| | | ## ææ°ï¼2026-09-21ï¼ |
| | | |
| | | - **ææ°æ»å
¥å£**ï¼`docs/äº¤æ¥ææ¡£_2026-09-21.md`ï¼ç³»ç»ç°ç¶ãP0/P1/P2 éçãæä½æåï¼ï¼æ±æ»å¤§è¡¨ä¸é¡¹è§ `docs/é®é¢æ±æ»/æ±æ»å¤§è¡¨é®é¢äº¤æ¥_2026-09-21.md`ã |
| | |
| | | ## 0. å
读è¿ä¸é¡µï¼æ¥æç第 1 å°æ¶ï¼ |
| | | |
| | | 1. **å
æç³»ç»è·èµ·æ¥**ï¼åè°æ¹ä»£ç ãè§ Â§7.1ï¼ä¸é®èæ¬ï¼å¿
须卿²ç®±å¤æ§è¡ï¼ã |
| | | 2. **å½åæç´§æ¥ç 4 ä»¶äº**ï¼è¯¦è§ §4 P0ï¼ï¼â ã亿å
æèµé¡¹ç®ãæä»½åæ¯æè¦ç䏿ï¼ç¨æ· Q7 è¦çãå ä¸åãæªåï¼ï¼ |
| | | ⡠导åºåãåºæ°ä½æ£ + å¼¹çª +ãæ°æ®ç¼ºå¤±æ¸
åã页ãåªåäºä¸åï¼â¢ 缺 2026-06 / 2026-09 æ¯çï¼é£ä¸¤æåºä¸äºè¡¨ï¼ |
| | | â£ æ±æ»å¤§è¡¨ãä¸å£å¾æå vs ä¸å£å¾æç»ãåå²åæ¯åºæ°å轨å¶ï¼16 个å¸å·æå·®ï¼ã |
| | | > åã8 æåå °ç©æµæºæä»¶å«éåå °æ®µãå·²äº 2026-09-21 éç¯ï¼è§ §4 P0-1ã |
| | | 2. **å½åæç´§æ¥ç 3 ä»¶äº**ï¼è¯¦è§ §4 P0ï¼ï¼â ã亿å
æèµé¡¹ç®ãæä»½åæ¯æè¦ç䏿ï¼ç¨æ· Q7 è¦çãå ä¸åãæªåï¼ï¼ |
| | | ⡠导åºåãåºæ°ä½æ£ + å¼¹çª +ãæ°æ®ç¼ºå¤±æ¸
åã页ãåªåäºä¸åï¼â¢ 缺 2026-06 / 2026-09 æ¯çï¼é£ä¸¤æåºä¸äºè¡¨ã |
| | | > å·²éç¯ï¼ä¸å¿
忥ï¼ï¼**8 æåå °ç©æµæºæä»¶å«éåå °æ®µ**ï¼2026-09-21ï¼è§ §4 P0-1ï¼ï¼ |
| | | > **ä¸å£å¾æååå²åæ¯åºæ°å轨å¶**ï¼2026-09-21 åäºææ¹æ¡ A å®ç°ï¼commit `abf468c`ï¼è§ §4 P1-1ï¼ï¼ |
| | | > **导åºç¼å**ï¼2026-09-22 è½ç + æ°æ®æçº¹ + 失ææç¤ºï¼è§ §4 P2-6ï¼ã |
| | | 3. **å«èªå·±ææ¿ä¸å¡å£å¾**ï¼ç¬¬ 5 ç« åçæ¯å¿
é¡»ä¸å¡ç¡®è®¤çäºã |
| | | 4. æ¹å®å¿
é¡»ï¼åãåè½æµè¯æ¥åãâ æ´æ°ã工使¥ç»ãâ åä»åºæ¨éï¼Â§7.4ï¼ãè¿æ¯æ¬é¡¹ç®ç硬è§ç©ã |
| | | 4. æ¹å®å¿
é¡»ï¼åãåè½æµè¯æ¥åãâ æ´æ°ã工使¥ç»ãâ æ¨éå°å
¬å¸ giteaï¼`origin`ï¼Â§7.4ï¼ãè¿æ¯æ¬é¡¹ç®ç硬è§ç©ã |
| | | |
| | | --- |
| | | |
| | |
| | | | --- | --- | |
| | | | å·¥ä½åº | `D:\ææ¡£\ChatGPT\traffic-audit`ï¼åæ¯ `main` | |
| | | | HEAD | `a08c70d feat(æèµ): å¸å·ææ¥ç»ä¸å¡«æ¥æ¨¡æ¿ + å¿(å¸ãåº)åè§£æ + 表头è¡å¤å®æ¶ç´§` | |
| | | | 个人è¿ç«¯ | `origin` â `https://gitee.com/zhizhijie/traffic-audit.git`ï¼åæ¯ `master`ï¼ | |
| | | | è¿ç«¯ï¼å¯ä¸ï¼ | `origin` â `http://61.183.254.94:3000/r/trafficAudit.git`ï¼åæ¯ `main`ï¼è´¦å· zyjï¼ââ2026-09-21 èµ·**åªç¨å
¬å¸ gitea åä»åº**ï¼ä¸ªäºº gitee å·²å¼ç¨ï¼æ§ç `gitea` å«åæååä¸å°åï¼å¯ç¨å¯å | |
| | | | å
¬å¸è¿ç«¯ | `gitea` â `http://61.183.254.94:3000/r/trafficAudit.git`ï¼åæ¯ `main`ï¼è´¦å· zyjï¼ | |
| | | | å·¥ä½åºç¶æ | å¹²åï¼äº¤æ¥ææ¡£ãæ±æ»å¤§è¡¨é®é¢äº¤æ¥ãæ¥ç»ãæèµç³»ç»æ°æ¨¡æ¿æ¯æåå·²æäº¤å¹¶æ¨éä¸¤ç«¯ï¼ | |
| | | |
| | |
| | | |
| | | | # | äºé¡¹ | 说æ | ç¶æ | |
| | | | --- | --- | --- | --- | |
| | | | P1-1 | ä¸å£å¾æå vs ä¸å£å¾æç»ãåå²åæåºæ°å轨å¶ã | 餿¦æ±å¤ 16 个å¸å·ç´¯è®¡åæ¯é½æå·®ï¼é»å 7.74% vs 7.64%ï¼ï¼æ ¹å æ¯æ¯ç 2025 å¹´ 3ã4 æç½çº¦è½¦æåç¨äºä¸å¥ä¸åºç§åèªç¸çç¾çæ§è¾å
¥ã**æ¹æ¡ A 已宿½å¹¶åå½ï¼æå页æ¹ç¨æ¯ç 2025 éæå**ï¼é»å 1-8 æç´¯è®¡åæ¯ä¿®æ£ä¸º `7.641733%`ï¼17 å¸å· Ã ä¸¤ææ å
± 68 ä¸ªåæ¯/ç´¯è®¡æ ¼å
¨é¨ä¸è´ï¼æå¤§å·® `2.91e-11`ï¼ï¼å½æåæ¯æ åå½ | â
ï¼2026-09-21ï¼è¯¦è§æ±æ»å¤§è¡¨äº¤æ¥ç¬¬ 4 ç« ï¼ | |
| | | | P1-1 | ä¸å£å¾æå vs ä¸å£å¾æç»ãåå²åæåºæ°å轨å¶ã | 餿¦æ±å¤ 16 个å¸å·ç´¯è®¡åæ¯é½æå·®ï¼é»å 7.74% vs 7.64%ï¼ï¼æ ¹å æ¯æ¯ç 2025 å¹´ 3ã4 æç½çº¦è½¦æåç¨äºä¸å¥ä¸åºç§åèªç¸çç¾çæ§è¾å
¥ã**æ¹æ¡ A 已宿½å¹¶åå½ï¼æå页æ¹ç¨æ¯ç 2025 éæå**ï¼é»å 1-8 æç´¯è®¡åæ¯ä¿®æ£ä¸º `7.641733%`ï¼17 å¸å· Ã ä¸¤ææ å
± 68 ä¸ªåæ¯/ç´¯è®¡æ ¼å
¨é¨ä¸è´ï¼æå¤§å·® `2.91e-11`ï¼ï¼å½æåæ¯æ åå½ | â
ï¼2026-09-21 ç±åäº xyc ææ¹æ¡ A å®ç°ï¼commit `abf468c`ï¼æ¥åãåè½æµè¯æ¥å_ä¸å£å¾æååæ¯åºæ°æ¹æ¡A_2026-09-21.mdãï¼è¯¦è§æ±æ»å¤§è¡¨äº¤æ¥ç¬¬ 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**ï¼ä¼ä¸ä¸æ¥çãå
¨çãå«å¸å·æç»å¤çæ°æ®ï¼ææå¸å·æ¼æ¥ï¼ãç¨åºä¸å¾ææ¯çå£å¾ï¼Î£å¸å·ï¼èµ° â 建议ä¸å¡ä¾§æ ¸ä¸æ¬¡ | ⸠| |
| | |
| | | | P2-3 | `applySummaryReferenceLayout()` æ**ååºå·**å¥å宽/éè | åç
§ä»¶ä¸å ååå°±æ´ä½éä½ï¼åºæ¹ä¸ºæè¡¨å¤´æåå¹é
| â | |
| | | | P2-4 | 缺æ¯çæç¤ºï¼T08ï¼æªå®æµ | ææµè¯å¯æ¬æ¶è¡¥æµ | â | |
| | | | P2-5 | é¨ç½²å
å
æ¯**带 AJ åçæ§æ¯ç** | `deploy/traffic-audit-deploy-20260913/backend/docs/çææ±æ»å¤§è¡¨/`ã`_deploytest/`ï¼ç¨æ· 09-20 æç¡®ãé¨ç½²å
å
ä¸ç®¡ãï¼åå
åå¿
须忥 | ⸠| |
| | | | P2-6 | 导åºç¼åæ¯**å
åæ** | è¿ç¨éå¯å³å¤±æï¼å¦éè·¨éå¯/å¤äººå
±ç¨çã导åºè®°å½ã页éå¦å | â | |
| | | | P2-6 | ~~导åºç¼åæ¯å
åæ~~ | **已解å³ï¼2026-09-22ï¼**ï¼ç»æè½çå° `docs/çææ±æ»å¤§è¡¨/_cache/`ï¼æä»¶åå¸¦æ°æ®çæ¬ `MAX(import_batch.id)`ï¼ï¼å
å â è½ç â çç®é级å½ä¸ï¼éå¯å端åä»å¯ç§åå¤ç¨ï¼ææ°å¯¼å
¥å³å¤±æï¼7 天ä¸éå¹¶èªå¨æ¸
çãéç项已éç¯ï¼2026-09-22 ä¸åï¼ï¼çæ¬å·å级为**æ°æ®æçº¹**ï¼ä¾èµæºè¡¨ `CHECKSUM TABLE` + æ¯ççæä»¶èº«ä»½ï¼æé¤æèµ/è½è/å®¡æ ¸/ç³»ç»/导å
¥æ¥å¿ï¼ï¼æ å
³å¯¼å
¥ä¸å失æãæ¢æ¯çå¿
å®å¤±æï¼å¤±ææ¶è¿åº¦å¼¹çªä¼è¯´æåå | â
| |
| | | | P2-7 | å¸å·å表ãå¤å¸å·åãå
åºæç¤º | æ¯å¦å¨è¯å«å°ä¸ä»½æä»¶å«å¤ä¸ªå¸å·åæ¶å¼¹çªæç¤º/è·³è¿ï¼å¾
确认ï¼ä¸ P0-1 å䏿 ¹å ï¼ | ⸠| |
| | | | P2-8 | ä»åºæ ¹ç®å½ `_*.*` ä¸´æ¶æä»¶å¢å¤ | `_chk_*`ï¼æ¬æ¬¡æ±æ»å¤§è¡¨ææ¥äº§çï¼è§æ±æ»å¤§è¡¨äº¤æ¥ç¬¬ 10 èï¼ã`_hyb_*`ã`_loo_*` çï¼**ç»ç¨æ·åæå忏
** | ⸠| |
| | | | P2-9 | `2026å¹´8æéè·¯è¿è¾éæ±æ»è¡¨_çå¼åå.xlsx` å»ç | è¿è¡æ¶æªè¢«å¼ç¨ | ⸠| |
| | |
| | | | `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 详ç»è®ºè¯ï¼æ¥æå¿
è¯»ï¼ | |
| | | | `docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_ä¸å£å¾æååæ¯åºæ°æ¹æ¡A_2026-09-21.md` | åäºå®ç°æ¹æ¡ A çå彿¥åï¼é»å 7.744917%â7.641733%ï¼68 个æ°å¼å¯¹ä¸è´ï¼ | |
| | | | `docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ±æ»å¤§è¡¨è½¯ä»¶è¾åºä¸æå·¥å®ç¨¿å·®å¼_2026-09-21.md`ã`docs/é®é¢æ±æ»/æ±æ»å¤§è¡¨å·®å¼æ ¸å¯¹åæ§_2026-09-21.md` | 软件è¾åº vs æå·¥å®ç¨¿çéæ ¼å·®å¼æ¸
åä¸åæ§ | |
| | | |
| | | **æå®¹æè¢«æ¹åå»ç 6 个ç¹**ï¼åèªæ±æ»å¤§è¡¨äº¤æ¥ç¬¬ 6 èï¼ï¼ |
| | | |
| | |
| | | ### 7.4 交ä»è§ç©ï¼ç¡¬æ§ï¼ |
| | | |
| | | 1. æ¯åå®ä¸ä¸ªåè½ï¼**å
æµè¯ â åãåè½æµè¯æ¥åã**ï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_<åè½å>_<æ¥æ>.md`ï¼å«æ£å/è´å/å
¥åºæ½æ¥ï¼â **æ´æ°ã工使¥ç»ã**ï¼`docs/工使¥ç»/工使¥ç»_<æ¥æ>.md`ï¼ã |
| | | 2. ç¶å `git fetch origin`ï¼ä¸ªäºº giteeï¼åæ¯ `master`ï¼ä¸ `git fetch gitea`ï¼å
¬å¸ï¼åæ¯ `main`ï¼æ¯å¯¹åå¹¶ï¼**ç¦æ¢å¼ºæ¨**ï¼å commit + pushã |
| | | 2. ç¶å `git fetch origin`ï¼å
¬å¸ giteaï¼åæ¯ `main`ï¼ä¸è¿ç«¯æ¯å¯¹åå¹¶ï¼**ç¦æ¢å¼ºæ¨**ï¼å commit + pushã |
| | | 3. å
¬å¸è´¦å·å¯ç åªèµ°æ¬æº git åæ®ï¼**ç¦æ¢åè¿ä»åºä»»ä½æä»¶**ã |
| | | |
| | | --- |
| | |
| | | - [ ] çæä¸æ¬¡ 2026-08 æ±æ»å¤§è¡¨ï¼æ¥è¡¨çæé¡µæ §2.4 æ¥å£ï¼ï¼ç¡®è®¤è½äº§åºãè½æå¼ã |
| | | - [ ] 读 `docs/é®é¢æ±æ»/æ±æ»å¤§è¡¨é®é¢äº¤æ¥_2026-09-21.md`ï¼éç¹ç¬¬ 3ã4ã5 ç« ï¼ã |
| | | - [ ] è¯»æ¬æ §4ï¼æ P0 顺åºåç¨æ·ç¡®è®¤å 4 ä»¶äºæä¹æ¨è¿ã |
| | | - [ ] 确认èªå·±ç¥éãæ¹å®è¦åæµè¯æ¥å + 工使¥ç» + åä»åºæ¨éãã |
| | | - [ ] 确认èªå·±ç¥éãæ¹å®è¦åæµè¯æ¥å + 工使¥ç» + æ¨éå
¬å¸ giteaï¼origin/mainï¼ãã |
| | | |
| | | --- |
| | | |
| | |
| | | | --- | --- | |
| | | | 2026-09-21 | 馿¬¡ææï¼æ´åæ±æ»å¤§è¡¨äº¤æ¥ï¼`docs/é®é¢æ±æ»/æ±æ»å¤§è¡¨é®é¢äº¤æ¥_2026-09-21.md`ï¼ä¸æèµ/è´§è¿/客è¿å线éç | |
| | | | 2026-09-21ï¼ä¸åï¼ | P0-1 éç¯ï¼åå °æºæä»¶å·²å æ®µ + é导éªè¯ï¼ï¼æ°å¢ P1-13ï¼æèµç³»ç»æ°æ¨¡æ¿æ¯æï¼ï¼æ°æ®å¿«ç
§è¡¥ `investment_system` è¡ | |
| | | | 2026-09-22ï¼ä¸åï¼ | 导åºç¼åï¼ç»æè½ç + æ°æ®æçº¹å®å« + 失ææç¤ºï¼P2-6 éç¯ï¼ï¼/ 忥åäºè¿å±ï¼`abf468c` P1-1 æ¹æ¡ Aã`47a8734` 差弿¥åã`a5a9545` 09-22 è®°å½ï¼ï¼/ ä»åºçº¦å®æ¹ä¸ºå
¬å¸ gitea åä»åºã§0 æ¸
åæ´æ° | |
| | | | 2026-09-21ï¼ä¸åï¼ | P1-1 éç¯ï¼ç¨æ·éç¨æ¹æ¡ Aï¼ä¸å£å¾æåç 2025 ç´¯è®¡åºæ°æ¹è¯»æ¯çãä¸å£å¾æç»ãéæåï¼é»åç´¯è®¡åæ¯ç± 7.74% ä¿®æ£ä¸º 7.641733%ï¼å页ä¸è´æ§åå½éè¿ | |
| New file |
| | |
| | | # åè½æµè¯æ¥å_导åºç¼åæ¹ç¨æ°æ®æçº¹_2026-09-22 |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | |
| | | ç¨æ·è¯æ±ï¼ä¸è½½è¿ä¸æ¬¡ãæé´æ²¡ææ°å¯¼å
¥æ°æ®å°±åºç´æ¥æ²¿ç¨ä¸æ¬¡ç»æï¼å·²å®ç°è½çç¼åï¼ï¼éåç¨æ·è®¤å¯ãææè¯´çåãï¼è¦æ±ç»§ç»è§£å³ç¼åå®å«ç两个é®é¢ï¼ |
| | | |
| | | 1. **误失æ**ï¼åæ¥ç¨å
¨å± `MAX(import_batch.id)` å½çæ¬å·ï¼å¯¼å
¥æèµ/è½èè¿ç±»ä¸æ±æ»å¤§è¡¨æ å
³çæ°æ®ä¹ä¼è®©ç¼å失æï¼ç½çåå ç§ï¼ |
| | | 2. **æ¼å¤±æï¼æ£ç¡®æ§æ¼æ´ï¼**ï¼çæ¬å·åªåæ æ°æ®åºå¯¼å
¥è®°å½ï¼**ä¸å«æ¯çæä»¶**ââæ¢æ¯ç/æ¹åç
§ä»¶æ¶çæ¬å·ä¸åï¼ä¼ææ§ç»æå½æ°è¡¨ååºã |
| | | |
| | | **æ¹å¨**ï¼ |
| | | |
| | | | # | æ¹å¨ | 说æ | |
| | | | --- | --- | --- | |
| | | | 1 | ç¨**æ°æ®æçº¹**æ¿ä»£å
¨å±çæ¬ | æçº¹ = ãä¾èµæºè¡¨çå
å®¹æ ¡éªåã+ãæ¯ççæä»¶èº«ä»½ãï¼SHA-256 åå 8 åèï¼16 ä½åå
è¿å¶ï¼ï¼åè¿ç¼åæä»¶å | |
| | | | 2 | æºè¡¨èå´ï¼**æé¤æ³** | åºå
ææåºè¡¨ï¼**æé¤**æèµ(3)/è½è(2)/å®¡æ ¸(4)/ç³»ç»(6)/`import_batch`(1) å
± 16 å¼ ï¼å
¶ä½ä¸å¾çº³å
¥ï¼å®å¯å¤ç®ä¸å¯åºéï¼ | |
| | | | 3 | ç¨ `CHECKSUM TABLE` åæ ¡éªå | è½ææ**åå° UPDATE**ï¼è¡æ°ãmax(id) é½ä¸åçæ
åµï¼ï¼æ¯ `count+max(id)` æ´ä¸¥æ ¼ | |
| | | | 4 | æä»¶èº«ä»½ | æ¯çç®å½ä¸å
¨é¨æä»¶ï¼æ¯ç / åç
§ä»¶ / `_å¤ä»½_` åå¡«ä»¶ï¼+ãç½çº¦è½¦è®¢ååå
¨çæ»é.xlsxãï¼åãåç§°+大å°+ä¿®æ¹æ¶é´ã | |
| | | | 5 | æ°å¢**失ææç¤º**ï¼ç¬¬ 3 æ¥çæç¤ºçï¼ | 没å½ä¸ä¸å卿§ç»ææ¶ï¼è¿åº¦å¼¹çªæ¾ç¤ºã䏿¬¡çæçç»æå·²å æ°æ®ææ¯çåå失æï¼æ¬æ¬¡æææ°æ°æ®éç®ãã | |
| | | |
| | | > æç¤ºæ¾å¨**å¯¼åºæ¶çè¿åº¦å¼¹çª**ï¼è䏿¯å¯¼å
¥ç»æå¼¹çªï¼ï¼â æ£å¥½åºç°å¨ç¨æ·çå¾
çæ¶åï¼â¡ å
å»ãæ¯æ¬¡å¯¼å
¥é½è·ä¸éå
¨è¡¨æ ¡éªåãçå¼éã |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | - å端 Spring Boot 8090ï¼éå¯å è½½æ°ä»£ç ï¼ï¼å端 8080ï¼MySQL 3308 / `traffic_audit` |
| | | - æ¥è¡¨æ 2026-08ï¼ææ¥ï¼ï¼ç¼åç®å½ `docs/çææ±æ»å¤§è¡¨/_cache/` |
| | | - éªè¯æé´å¦ä¸ä¸ªä¼è¯éå¯è¿å端两次ï¼ä¸ªå«æ¥éª¤ä¸æåéè·ï¼ä¸å½±åç»è®ºï¼ |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | | # | ç¨ä¾ | æä½ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | T01 | 馿¬¡çæï¼æ°æçº¹ï¼ | æäº¤å¯¼åº | çç®å¹¶è½çï¼æ§çæ¬æä»¶è¢«æ¸
ç | `DONE` 21 sï¼çæ `â¦_v227060ce99767ced.xlsx`ï¼å `â¦_v541.xlsx` å·²å | éè¿ | |
| | | | T02 | 忬¡æäº¤ | å䏿¥ | å
åå½ä¸ | **241 ms**ï¼`fromCache=true` | éè¿ | |
| | | | T03 | **æ å
³å¯¼å
¥ä¸å½±åç¼åï¼æ ¸å¿ï¼** | å¾ `investment_project`ã`import_batch` åæ 1 è¡åæäº¤ | ä»å½ä¸ | `fromCache=true`ï¼æ¹é åå¿
ç¶å¤±æï¼ | éè¿ | |
| | | | T04 | å é¤ä¸è¿°ä¸¤è¡åæäº¤ | åä¸ | ä»å½ä¸ | `fromCache=true` | éè¿ | |
| | | | T05 | **ç¸å
³æºè¡¨åå° UPDATE** | `wyc_order_monthly.pin_k +0.001`ï¼è¡æ°/`max(id)` ä¸åï¼åæäº¤ | å¿
须失æ | `fromCache=false`ã`RUNNING`ï¼ç¼åæä»¶åæ¢ææ°æçº¹ `â¦_v68b6bc0câ¦` | éè¿ | |
| | | | T06 | è¿å该å¼åæäº¤ | åä¸ | ä»ä¸å½ä¸ï¼ç¼åæ¯æ¹åæçº¹ï¼ | `fromCache=false` â éç®ï¼æçº¹åå° `227060ce99767ced` | éè¿ | |
| | | | T07 | **æ¢æ¯çå¿
须失æï¼åæ¼æ´ï¼** | æ¹æ¯çæä»¶ä¿®æ¹æ¶é´ï¼å
容ä¸åï¼åæäº¤ | å¿
须失æ | `fromCache=false`ã`RUNNING`ï¼æçº¹å `â¦_v7d65cbb6â¦` | éè¿ | |
| | | | T08 | æ¢å¤æ¯çæ¶é´åæäº¤ | åä¸ | 失æâéç®âåæäº¤å½ä¸ | éç®å `fromCache=true` | éè¿ | |
| | | | T09 | 失ææç¤ºï¼æ¥å£ï¼ | å卿§ç»æä¸æçº¹ä¸ç¬¦æ¶æäº¤ | `staleCache=true` | `status=RUNNING fromCache=false staleCache=true` | éè¿ | |
| | | | T10 | å½ä¸ç¼åæ æç¤ºï¼åå½ä¿®å¤ï¼ | å½ä¸æ¶æäº¤ | `staleCache=false` | ä¿®å¤åå½ä¸ä»å¸¦ `staleCache=true` â 已修为å½ä¸å³æ¸
é¶ | éè¿ | |
| | | | T11 | **æµè§å¨å®æµæç¤ºè¡** | admin/123456 â æ¥è¡¨çæ â æ±æ»å¤§è¡¨ â 2026-08 â 导åºï¼å
æ¹æ¯ç mtime å¶é 失æï¼ | å¼¹çªåºç°å¤±ææç¤º | å¼¹çªæ¾ç¤ºã䏿¬¡çæçç»æå·²å æ°æ®ææ¯çåå失æï¼æ¬æ¬¡æææ°æ°æ®éç®ããï¼çæ 13.2 sãèªå¨ä¸è½½ 1.15 MBãæé®ãéæ°çæ/å
³éããæ§å¶å° 0 æ¥é | éè¿ | |
| | | | T12 | æ°æ®è¿åæ ¸å¯¹ | æ¥åº | æ æµè¯æ®ç | `import_batch` 419ã`investment_project` 152ã`wyc_order_monthly.2025-12 pin_k=3492.63`ãæ ã_æçº¹æµè¯é¡¹ç®ã | éè¿ | |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | | # | é®é¢ | å¤ç½® | |
| | | | --- | --- | --- | |
| | | | P1 | å½ä¸ç¼åæ¶æ®çä¸ä¸æ¬¡çã已失æãæç¤ºæ è®° | 已修ï¼å½ä¸åæ¯æ¸
é¶ `staleCache` | |
| | | | P2 | æä»¶èº«ä»½ç¨æ¯«ç§çº§ mtimeï¼ææ¯ç mtimeãæ¢å¤æåä¸ç§ãæ¶ï¼äºç§å·®å¼ä»ä¼äº§çæ°æçº¹ï¼éªè¯ä¸å®é
éå°ï¼ | å±**颿è¡ä¸º**ï¼ä¿å®ä¼å
ï¼å®å¯å¤ç®ä¸æ¬¡ï¼ãè¥å°æ¥è§å¾å¤ªææï¼å¯æ¹ä¸ºãç§çº§ mtimeãæå¯¹æ¯çåå
容åå¸ | |
| | | | P3 | æµè¯ç¨çä¸´æ¶æ°æ®ï¼1 个æèµé¡¹ç®ã1 æ¡å¯¼å
¥è®°å½ã`wyc pin ±0.001`ï¼ | å·²å
¨é¨è¿å/å é¤ï¼T12 å·²æ ¸å¯¹ | |
| | | | P4 | æ°æ®æçº¹è®¡ç®ææ¬ | 约 11 å¼ è¡¨ CHECKSUM + 13 个æä»¶ statï¼å®æµå¯ä¸ºæ¯«ç§çº§ï¼3 å¼ è¡¨ 48 msï¼ï¼ä»
å¨æäº¤å¯¼åºæ¶ç®ä¸æ¬¡ | |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | - ç¼åå®å«ä»ãå
¨å±å¯¼å
¥çæ¬ãå级为ã**æ°æ®æçº¹**ãåï¼**æ å
³å¯¼å
¥ä¸å让ç¼å失æ**ï¼T03/T04ï¼ï¼**æ¢æ¯çãæ¹æºè¡¨ï¼å«åå° UPDATEï¼å¿
å®å¤±æ**ï¼T05/T07ï¼ï¼ä¸¤ä¸ªæ¹åé½å®æµéè¿ï¼ |
| | | - çæä¸æ¬¡çææ¬åªè±å¨çæ£éè¦éç®çæ¶åï¼æ£å¸¸ãä¸è½½è¿åç䏿¬¡ã仿¯æ¯«ç§çº§å½ä¸ï¼ |
| | | - å¤±ææ¶ä¼å¨è¿åº¦å¼¹çªæç¡®è¯´æåå ï¼ç¨æ·ä¸ä¼è¯¯ä»¥ä¸ºç¼ååäºï¼ |
| | | - æµè¯æ°æ®å·²å
¨é¨è¿åï¼åºå
ç¶æä¸éªè¯åä¸è´ã |
| | | |
| | | æµè¯äººï¼Codexï¼AIï¼ãæµè¯æ¥æï¼2026-09-22 |
| New file |
| | |
| | | # åè½æµè¯æ¥å â æèµæç»è¡¨åæ°ä¿®å¤ï¼è½¯ä»¶çæ vs 人工ç 差弿¶æï¼ |
| | | > æµè¯æ¥æï¼2026-09-22 |
| | | > 被æµå¯¹è±¡ï¼æ¥è¡¨çæ â æèµã客è¿ç«æèµæç»è¡¨ããç©æµç«åºæèµæç»ãå¯¼åº + æèµææ¥ï¼å¸å·å表ï¼å¯¼å
¥ |
| | | > èæ¯ï¼ãæ°æ®æ¯å¯¹æ¥å_æèµæç»è¡¨è½¯ä»¶çæä¸äººå·¥ç_2026-09-22.mdãå®ä½åº 156 æ ¼å·®å¼ä¸ 3 ç±»"ä¼éé»åºæ°"çåæ°ç¼ºé·ï¼æ¬æ¥å为第ä¸è½®ä¿®å¤ä¸åå½éªè¯ã |
| | | |
| | | ## ä¸ãåè½è¯´æï¼æ¬æ¬¡æ¹äºä»ä¹ï¼ |
| | | |
| | | ### 1. 导åºï¼`traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java` |
| | | | # | æ¹å¨ | 说æ | |
| | | | --- | --- | --- | |
| | | | 1-1 | `normInvestName()` å½ä¸åè¡¥æ ç¹ | å¢å å/å
¨è§å¥ç¹ãé¡¿å·ãéå·ãåå·ãåå·çï¼ååªå» `·â¢âï¼_-`ï¼ãåºå
项ç®åãä¸å½ä¾é**.**å
¬å®åè´¸ç©æµåã䏿ç»è¡¨è¡åãä¸å½ä¾éå
¬å®åè´¸ç©æµåï¼å
¬å®å¿åéééé
ä¸å¿ï¼ãå½ä¸åååç¼ä¸è´ â å¯å¹é
| |
| | | | 1-2 | æ°å¢ `preferMonthlyCandidate()` | å¹é
å°çæ¡£å¨**å½ææ æ°æ®**æ¶ï¼æ¹éãå½ä¸åååä¸å½æææ°æ®ãçæ¡£ï¼å id æå¤§è
ï¼ãä¿®å¤åå °ãå¿«éç©æµäº§ä¸åäºæãåå°æ§æ¡£ id=154ï¼æåº¦åªå° 7 æï¼çé®é¢ | |
| | | | 1-3 | æ°å¢ `logSkippedRows()` + 客è¿/ç©æµå¯¼åºçç | æªæå½ææ°æ®è¦ççè¡**éè¡ WARN**ï¼`[æªè¦ç] 第Nè¡ å¸å· 项ç®å â åå `ï¼å¹¶ç»åºæå¸å·ç»è®¡ãå½»åºæ¶é¤"éé»ç»è½¬ä¸æå¼" | |
| | | |
| | | ### 2. 导å
¥ï¼`traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/DataImportService.java` |
| | | | # | æ¹å¨ | 说æ | |
| | | | --- | --- | --- | |
| | | | 2-1 | `investHeaderKey()` å
å»ç©ºç½åå¤å® | 表头åå
æ ¼å¸¸å«æ¢è¡/å
¨è§ç©ºæ ¼ï¼å¤©é¨ãèªå¼å§å»º\n设累计å®\nææèµ\n(ä¸å
)ãï¼ï¼åé»è¾ `v.contains("èªå¼å§å»ºè®¾")` å¹é
ä¸ä¸ â H/J/K ä¸åæ å°è½å° -1 è¢«åæ 0ãæ¹ä¸º `replaceAll("[\\s\\u3000]+","")` ååå¤å® | |
| | | | 2-2 | æ°å¢ `investSheetPeriodCellHit()` + è¯åå æ | å¤ sheet å岿件æ sheet åå¹é
æä»½ä¼æ 2018 å¹´çãæ½æ±ï¼8æï¼ã彿 2026-08ãæ°å¢"表å
æ¥è¡¨æ"å½ä¸ï¼sheet å 8 è¡ç `2026.08.24` / `2026å¹´8æ` / æ¥æåå
æ ¼ï¼ï¼æé 2000000 é«äº sheet åå¹é
ï¼1000000ï¼ | |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | - å端ï¼`mvn spring-boot:run`ï¼8090ï¼ï¼éå¯åæ¥å¿åºç° `Started TrafficAuditApplication`ï¼å端 8080 å¨è¿è¡ |
| | | - æ°æ®åºï¼`localhost:3308/traffic_audit`ï¼æ¬æºå¼ååºï¼ï¼ç»å½ `admin/123456` å JWT |
| | | - 人工çåºåï¼`D:\05_æ°æ®åç±»\æèµ\8æ\8æå®¢è¿ç«æèµæç»è¡¨.xlsx`ã`8æç©æµç«åºæèµæç».xls` |
| | | - ä¿®å¤å软件çï¼`D:\æ¡é¢\çææ°æ®\çæ_æéæ¥è¡¨_2026-08 (1)\â¦` |
| | | - ä¿®å¤å软件çï¼`_tmp/gen_new_0922/â¦`ï¼æ¬æ¬¡éè·å¯¼åºï¼ |
| | | - æ¯å¯¹èæ¬ï¼`_tmp_diff_invest_0922.py`ï¼ä¿®å¤åï¼ã`_tmp_diff_after_fix_0922.py`ï¼ä¿®å¤åï¼ |
| | | |
| | | ## ä¸ãæµè¯ç¨ä¾ä¸ç»æ |
| | | |
| | | | # | ç¨ä¾ | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | 1 | 导åº-项ç®å带æ ç¹ | 2026-08 ç©æµæç»å¯¼åº | 第119/120è¡ãä¸å½ä¾éå
¬å®åè´¸ç©æµåãæåºå
彿åå
¥ | ä¿®å¤åï¼æªè¦çï¼ä¿çåºç¨¿ 7758.5/7758.5/1600.1ï¼ä¿®å¤åï¼åå
¥ **15986/15986/8227.5** 䏿ºè¡¨ä¸è´ï¼æ¥å¿ä¸ååè¯¥è¡ | â
| |
| | | | 2 | 导åº-åååæ¡£ | åä¸ | åãå½æææ°æ®ãçæ¡£ï¼id=181ï¼ | ä¿®å¤åï¼20081/2900/214ã竣工 2026ï¼ä¿®å¤åï¼**20377/3196/296ã竣工 2029**ï¼= åå °æºè¡¨ R71ï¼ | â
| |
| | | | 3 | 导åº-æªè¦çççï¼ç©æµï¼ | åä¸ | æªè¦çè¡ååºè¡å·+å¸å·+项ç®å+åå | æ¥å¿ï¼`ç©æµç«åºæèµæç» 2026-08ï¼åå
¥ 93 è¡ï¼ç»è½¬æ¯çåå¼ 6 è¡` + 6 æ¡ `[æªè¦ç] 第12è¡ æ¦æ±å¸ èªåæºæ
§ç©æµå â åºå
æ 2026-08 æåº¦æ°æ®`ï¼æå¸å·ç»è®¡ `{æ¦æ±å¸=6}`ï¼ | â
| |
| | | | 4 | 导åº-æªè¦çççï¼å®¢è¿ï¼ | åä¸ | åä¸ | `åå
¥ 37 è¡ï¼ç»è½¬æ¯çåå¼ 12 è¡ï¼å
¶ä¸åºå
æé¡¹ç®ä½å½ææ æ°æ® 9 è¡ï¼` + 12 æ¡æç»ï¼é»ç³ 1 / é»å 9 / æ©æ½ 1 / 仿¡ 1ï¼ | â
| |
| | | | 5 | 导å
¥-è¡¨å¤´å«æ¢è¡ï¼å¤©é¨ï¼ | `8æä»½ç©æµåä¸å¿å»ºè®¾é¡¹ç®(天é¨).xlsx`ï¼period=2026-08ï¼type=investmentLogistics | å
¥åº 16677.7 / 16677.7 / 500 | ä¿®å¤ååºå
0/0/0ï¼ä¿®å¤å `investment_monthly` = **16677.7 / 16677.7 / 500**ï¼æ¥å£è¿å success=1 | â
| |
| | | | 6 | 导å
¥-åå²é¡µç¾ï¼æ½æ±ï¼ | `æ½æ±2026.08.xlsx`ï¼å« 20 个åå² sheetï¼ | é彿 sheetï¼è¡¨å
æ¥è¡¨æ 2026.08.24ï¼ | ä¿®å¤åï¼å
¥åº **2018 å¹´**ãæ½æ±å¸å
¬è·¯é¡¹ç®ã5173/5173/1440ï¼éï¼ï¼ä¿®å¤åï¼å
¥åºã**ä¸å½è¾è°·å·é¾ä»å¨ç©æµå**ã11947.9/1135/0ï¼= æºè¡¨å½æ sheetï¼ï¼æ§éè¡è¢«åå¸å·åæé´æ¸
ç | â
| |
| | | | 7 | åå½-éæ ¼æ¯å¯¹ | ä¿®å¤åå¯¼åº vs 人工ç | 差弿°ä¸é䏿 æ°å¢å·®å¼ | 156 æ ¼ â **129 æ ¼**ï¼é 27ï¼ï¼å©ä½å·®å¼ä¸ä¿®å¤å鿡坹åºï¼æ æ°å¢ | â
| |
| | | | 8 | è´å-æªå¹é
è¡ä¸åéå¼ | æ¦æ± 6 è¡ï¼åºå
æ 2026-08 æ°æ®ï¼ | ä¿æåºç¨¿åå¼ä¸å¿
é¡»ææ¥å¿åè¦ | 6 è¡ä¿æåå¼ï¼æ¥å¿éè¡åè¦ï¼ä¸éé»ï¼ | â
| |
| | | |
| | | ### ä¿®å¤ååé页ç¾å¯¹ç
§ |
| | | |
| | | | æä»¶ / é¡µç¾ | ä¿®å¤å | ä¿®å¤å | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | 客è¿-æç» | 12 | 12 | æ¬æ¬¡æªå¨å®¢è¿å¹é
é»è¾ï¼å·®å¼å±åæ´/ææ¬å£å¾ï¼ | |
| | | | 客è¿-æ±æ» | 4 | 4 | åä¸ | |
| | | | ç©æµ-æ2 | 0 | 0 | â | |
| | | | ç©æµ-åé¡¹ç®æèµå®ææ
åµ | 108 | **91** | èå· â10ãåå ° â5ãå¤©é¨ â2 | |
| | | | ç©æµ-åå¸å·è§åå
å¤é¡¹ç®å®ææ
åµ | 15 | **11** | èå·ã天é¨éæç»é¡µå½ä½ | |
| | | | ç©æµ-å¸å·æ±æ» | 17 | **11** | åä¸ | |
| | | | **å计** | **156** | **129** | æ¶æ 27 æ ¼ | |
| | | |
| | | ## åãå©ä½å·®å¼ï¼129 æ ¼ï¼åç±»ä¸è´£ä»» |
| | | |
| | | | ç±»å« | æ ¼æ° | åå | è´£ä»»æ¹ / ä¸ä¸æ¥ | |
| | | | --- | --- | --- | --- | |
| | | | æ¦æ±æ´æ®µï¼æç» 24 + å计 3ï¼ | 27 | åºå
**æ æ¦æ±ç©æµå½ææ°æ®**ï¼8 ææ¦æ±æ å表ï¼ï¼å¯¼åºåªè½ç»è½¬åºç¨¿ 7 æå¼ | ä¸å¡è¡¥æ¦æ±åè¡¨ï¼ææç¡®"æ¦æ±ç±äººå·¥å¡«"ï¼ç°å·²æåè¦ï¼ | |
| | | | åå °æ¢çº½ 2 ä¸å
å·®å¼ | 3 | 人工çç¨æ§å¼ 11047/589/0ï¼æºè¡¨ä¸åºå
æ¯ 11049/591/2 | **软件对**ï¼äººå·¥çéæ´æ°ï¼å·²åå
¥å·®å¼æ¸
åï¼ | |
| | | | L åï¼å»ºè®¾é¶æ®µï¼æªè¦ç | 3 | å¯¼åºæ 2026-09-18 å£å¾ä¸å Lï¼æ²¿ç¨åºç¨¿ | éãå»ºè®¾é¶æ®µå½ä¸è¡¨ãåæ¾å¼ï¼è§ç¬¬äºèï¼ | |
| | | | D åï¼å»ºè®¾æ§è´¨ï¼æªè¦ç | 3 | åä¸ï¼I/L/G/D/E/F ä¸åï¼ | åä¸ | |
| | | | å·¥æ E/F åæ³ï¼æ¥æ vs å¹´ä»½ï¼ | 4 | äººå·¥çæ¯æ¥æåºåå·ï¼è½¯ä»¶å年份/ææ¬ | æ ¼å¼å£å¾ï¼å»ºè®®ä»¥æºè¡¨åæ ·ä¸ºå | |
| | | | åç»å°è®¡è¡ï¼6 个å¸å·ï¼ | 25 | è½¯ä»¶ææ¸ éæ±åä¸å¡«=å¸å·å计ï¼äººå·¥çç空 | å£å¾å·®å¼ï¼å»ºè®®äººå·¥çè¡¥é½ï¼è½¯ä»¶è§å䏿¦æ± R11/R16 å®å
¨ä¸è´ï¼ | |
| | | | 0 ä¸ç©ºç½ | 11 | åæ³ä¸å | ç»ä¸è§åï¼æºè¡¨ç©ºâç©ºãæºè¡¨ 0â0 | |
| | | | 客è¿åæ´ + ææ¬ | 16 | 人工çæååæ´ï¼203/2531/43225.9ï¼ï¼M26/M85 人工ç空ãL91 åºç¨¿æ§å¼ | 人工ç对é½ï¼L91 éå½ä¸è¡¨ | |
| | | | æªè¦çè¡ï¼æ°æ®ç¼ºå£æ¸
åï¼ | 18 è¡ | ç©æµï¼æ¦æ± 6ï¼å®¢è¿ï¼é»ç³ 1ãé»å 9ãæ©æ½ 1ã仿¡ 1 | è¡¥æºæä»¶/项ç®ä¸»æ¡£åéå¯¼ï¼æ¥å¿å·²éè¡ååºï¼ | |
| | | |
| | | ## äºãéçé®é¢ä¸å¤ç½® |
| | | |
| | | 1. **ãæ°åç°ï¼å·²ä¿®+éå¯¼ãæ½æ±å¯¼å
¥ééåå²é¡µç¾**ï¼2026-08 æ¾å¯¼å
¥ 2018 å¹´ãæ½æ±å¸å
¬è·¯é¡¹ç®ãçæ°æ®ï¼å·²ä¿®å¤é页ç¾é»è¾å¹¶é导 2026-08ã |
| | | - **ä»éç**ï¼æ½æ± **2026-06 / 2026-07** 两个æçæåº¦æ°æ®ä»æ¯åå² sheet éå¼ï¼éç¨ 6/7 ææºè¡¨é导ï¼ä¸è¦ç¨ 8 ææä»¶é导ï¼ä¼æ 8 ææ°åæ 7 æï¼ã |
| | | 2. **ãéå£å¾ææ¿ã"å
¨éè¦ç"æªå®æ½**ï¼ç°è¡å£å¾ï¼2026-09-18 ç¡®è®¤ï¼æ¯åªå H/J/K/Mï¼I/L/G ä¸å¨ãè¥è¦ä¸äººå·¥çå®å
¨ä¸è´ï¼é确认 L/D/E/F/I æ¯å¦ä¹æå½æåï¼ä¸ L éè¦ãæºè¡¨ç¨è¯âè¾åºç¨è¯ãå½ä¸è¡¨ï¼æºè¡¨æ 䏻使½å·¥/竣工æ¶å°¾/æªå¼å·¥/æ¬å¹´æ£å¼æ½å·¥/æåæ½å·¥/åæ çï¼äººå·¥çå å¨å»º/å®å·¥/åæ/æåæ½å·¥ï¼ã |
| | | 3. **ãæ°æ®ç¼ºå£ãé»åå®¢è¿ 8 ææ æºæä»¶**ï¼9 è¡ï¼ãé»ç³/æ©æ½/仿¡ 3 è¡åºå
æ 对åºé¡¹ç®ä¸»æ¡£ãæ¦æ±ç©æµæ å表 ââ 导åºå·²è½èªå¨åè¦ï¼ä½æ°æ®æ¬èº«éè¦ä¸å¡æä¾ã |
| | | 4. **ã对æ¯å·¥å
·åã** ç®å"æªè¦çè¡"åªè¿å端æ¥å¿ï¼å»ºè®®æ P1-9 约å®ï¼å¨å¯¼åºç»ææçæãæ ¡éªæ¥é_<å¹´æ>.xlsxãæåç«¯å¼¹çªæç¤ºï¼ç¨æ·è¦æ±"å¤±è´¥è¦æ¾ç¤ºè¡å·"ï¼æ¬æ¬¡å·²åå°æ¥å¿ççï¼é¡µé¢æç¤ºå¾
åï¼ã |
| | | |
| | | ## å
ãç»è®º |
| | | |
| | | - æ¬æ¬¡ä¿®å¤åï¼**éæ ¼å·®å¼ç± 156 æ ¼éè³ 129 æ ¼**ï¼ä¸å¤"ä¼å½±åæ°å"çåæ°ç¼ºé·ï¼èå·é¡¹ç®åå¹é
失败ãåå °åååæ¡£åæ§å¼ã天é¨å¯¼å
¥ä¸¢ H/J/Kï¼å
¨é¨éç¯å¹¶éæ¡åæº¯æºæä»¶éªè¯ã |
| | | - åæ¶ç«¯å°ç«¯æ´é²å¹¶ä¿®å¤äºä¸ä¸ªæ´ä¸¥éçé®é¢ï¼**æ½æ±å¯¼å
¥éå° 2018 å¹´åå²é¡µç¾**ï¼å±"ææ§å¹´ä»½æ°æ®å½å½ææ°æ®å
¥åº"ï¼ï¼æªè¦çè¡ç°å·²å¨æ¥å¿ä¸éè¡ååºï¼è¡å·+å¸å·+项ç®å+åå ï¼ï¼ä¸åéé»ã |
| | | - å©ä½ 129 æ ¼å·®å¼ä¸ï¼**åªææ¦æ± 27 æ ¼å±"ç¼ºæ°æ®"ãL/D å 6 æ ¼å±"å¾
æ¾å¼å£å¾"**ï¼å
¶ä½ä¸ºå¡«è¡¨ä¹ æ¯ï¼åç»è¡/0 ä¸ç©ºç½/åæ´ï¼ä¸äººå·¥çèªèº«æ§å¼ï¼åå·²å¨ãæ°æ®æ¯å¯¹æ¥åãä¸éæ¡æ 注"以è°ä¸ºå"ã |
| | | - 建议ä¸ä¸æ¥ï¼â ä¸å¡ç¡®è®¤ L/D/E/F è¦çå£å¾å¹¶åºãå»ºè®¾é¶æ®µå½ä¸è¡¨ãï¼â¡ è¡¥æ¦æ±ç©æµãé»åå®¢è¿æºæ°æ®ï¼â¢ æ P1-9 ææªè¦çæ¸
åè¾åºææ ¡éªæä»¶/é¡µé¢æç¤ºã |
| | | |
| | | ## ä¸ãæ¬æ¬¡æ°æ®åæ´è¯´æï¼æªå é¤ä»»ä½é¡¹ç®ä¸»æ¡£ï¼ |
| | | |
| | | | 表 | åæ´ | ä¿®å¤å | ä¿®å¤å | |
| | | | --- | --- | --- | --- | |
| | | | `investment_monthly`ï¼å¤©é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç® 2026-08ï¼ | éå¯¼ä¿®æ£ | start_cum/year_cum/month_done = 0/0/0 | **16677.7 / 16677.7 / 500** | |
| | | | `investment_monthly`ï¼æ½æ±å¸ 2026-08ï¼ | é导修æ£ï¼æ§éè¡å é¤ãæ°è¡åå
¥ï¼ | æ½æ±å¸å
¬è·¯é¡¹ç® 5173/5173/1440 | **ä¸å½è¾è°·å·é¾ä»å¨ç©æµå 11947.9/1135/0** | |
| | | |
| | | - æªå é¤ä»»ä½ `investment_project` 项ç®ä¸»æ¡£ï¼æªæ¹å¨å
¶ä»å¸å·ãå
¶ä»æé´æ°æ®ã |
| | | - å¤ç°å½ä»¤ï¼`POST /api/import/batch?type=investmentLogistics&period=2026-08`ï¼multipartï¼å段å `files`ï¼+ `GET /api/report/export/investLogisticsDetail?period=2026-08`ï¼åé `Authorization: Bearer <JWT>`ã |
| New file |
| | |
| | | # åè½æµè¯æ¥åï¼æ°æ®æ¥çå»ç»å䏿°æ®ç±»å䏿æ¡ï¼2026-09-22ï¼ |
| | | |
| | | > æ¥æï¼2026-09-22ãæ¨¡åï¼æ°æ®æ¥çï¼å端 DataView.vueï¼ãæµè¯äººï¼Codex |
| | | > è¯æ±æ¥æºï¼â æ¨ªåæ»å¨æ¶ä¼ä¸åç§°çä¸å°ï¼â¡æ°æ®ç±»åæ¹æä¸ä¸ªä¸ææ¡æ´ç®æ´ï¼â¢è·¨ææ±æ»çæ¶ç¹åå¤çå£å¾ã |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | |
| | | 1. **左侧å»ç»æ è¯å**ï¼`renderColumns` 计ç®å±æ§æè¡¨èªéåºå»ç»"è¿æ¯è°çæ°æ®"æéçè¿ç»å导åï¼æ¨ªåæ»å¨æ¶ä¸ä¼è·åºè§éã |
| | | - å»ç»éåï¼`reportPeriod` / `regionCode` / `city` / `regionName` / `periodType` / `enterpriseName` / `projectName` / `plateNo`ï¼ |
| | | - 模æ¿ç± `visibleColumns` æ¹ä¸º `renderColumns`ï¼å¹¶ä¼ `:fixed="c.fixed ? 'left' : false"`ã |
| | | 2. **æ°æ®ç±»ååç»ä¸ææ¡**ï¼å»æ"模ååéæé® + åç±»å䏿"çä¸¤çº§ç»æï¼å并为ä¸ä¸ª `el-select`ï¼`el-option-group` ææ¨¡ååç»ï¼`filterable` æ¯æè¾å
¥æç´¢ï¼ï¼éä¸ç±»åæ¶åæ¥ `activeModule`ã |
| | | 3. **è·¨ææ±æ»å£å¾ç¡®è®¤**ï¼æç¨æ·å³å®ï¼ï¼æ±æ»è§å¾**䏿¾æ¶ç¹å**ï¼è¿è¥è½¦è¾æ°ãè¥è¿è½¦è¾æ°ãä¼ä¸æ°ï¼ï¼åªæ¾æµéåä¸æç´¯è®¡å£å¾éç®çæ¯çåã |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | - å端ï¼`start-dev.ps1` å¯å¨ï¼8090ï¼æ¥å¿ `Started TrafficAuditApplication` / `Tomcat started on port(s): 8090` |
| | | - å端ï¼åä¸èæ¬å¯å¨ï¼8080ï¼`Compiled successfully` |
| | | - æ°æ®åºï¼æ¬æº MySQL `localhost:3308/traffic_audit`ï¼ç»å½ `admin/123456` |
| | | - æµè§å¨ï¼Codex å
ç½®æµè§å¨çæºæä½ï¼DOM + æ éç¢æ æ ¡éªï¼éä»
代ç 审æ¥ï¼ |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | ### 3.1 æ£åç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-1 | å±å¼"æ°æ®ç±»å"䏿 | åä¸æãææ¨¡ååç» | 5 ç» 18 项ï¼éè·¯è´§è¿ 5 / å
¬è·¯æ
客 3 / åå¸å®¢è¿ 5 / æèµ 3 / è½è 2ï¼æ åéæé®æ®ç | éè¿ | |
| | | | TC-2 | åå°"个ä½å®¢è¿é/å¨è½¬é" | ç«å³æ¥è¯¢å¹¶åºæ° | å
± 139 æ¡ï¼å»ç»å=æ¥è¡¨æ/æå±å°åº/å¸å·/ä¼ä¸åç§° | éè¿ | |
| | | | TC-3 | åå°"è´§è¿éå¨è½¬é"ï¼å®½è¡¨ï¼ | åºæ°ãå»ç»æ è¯å | å
± 234 æ¡ï¼æ£æ 48 åï¼å»ç»å=æ¥è¡¨æ/å¸å· | éè¿ | |
| | | | TC-4 | åå°"ç½çº¦è½¦æ»æ°" | åºæ° | å
± 20 æ¡ï¼å»ç»å=æ¥è¡¨æï¼è¯¥è¡¨æ åç§°ç±»åæ®µï¼ | éè¿ | |
| | | | TC-5 | åå°"åå¸å
Œ
±äº¤éæåº¦è¿è¥æ
åµ" | åºæ°ãå»ç»ä¼ä¸åç§° | å
± 2860 æ¡ï¼å»ç»å=æ¥è¡¨æ/æå±å°åº/å¸å·/ä¼ä¸åç§° | éè¿ | |
| | | | TC-6 | åå°"巡游åºç§æ±½è½¦è¿è¥æå¡æ
嵿æ¥" | åºæ° | å
± 340 æ¡ï¼å»ç»å=æ¥è¡¨æ/æå±å°åº/å¸å· | éè¿ | |
| | | | TC-7 | åå°"ç½çº¦è½¦è®¢ååå
¨çæ»é" | åºæ°ã宽表 | å
± 20 æ¡ï¼æ£æ 22 åï¼è®¢åå计 + 17 å¸å·ï¼ï¼å»ç»å=æ¥è¡¨æ | éè¿ | |
| | | | TC-8 | è´§è¿è¡ï¼h2032ï¼æ¨ªåæ»å¨ | å»ç»ç»å¸¸é©» | `el-table__fixed` 表头=æ¥è¡¨æ/æå±å°åº/ä¼ä¸åç§°ï¼ä¸å»ç»è¡¨å
ææ°æ®è¡ï¼å¦ 2025-04 / 429021 / ç¥åæ¶å¤§è¿ç©æµæéå
¬å¸ï¼ | éè¿ | |
| | | | TC-9 | 页é¢å次è¿å
¥ | é»è®¤ç±»å坿¥ | é»è®¤"é路货ç©è¿è¾æåº¦ç产æ
åµ"ï¼å
± 13056 æ¡ | éè¿ | |
| | | |
| | | ### 3.2 è´å/è¾¹ç |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-10 | æ åç§°ç±»åæ®µç表ï¼ç½çº¦è½¦æ»æ°/订åï¼ | åªå»ç»æ¥è¡¨æï¼ä¸è¯¯å»ç»æ°å¼å | å»ç»åä»
"æ¥è¡¨æ" | éè¿ | |
| | | | TC-11 | æªç»å½ç´æ¥è®¿é® `/api/data/list` | 401 | 401 `æªç»å½æç»å½å·²è¿æ` | éè¿ï¼æ¢æå®å
¨çç¥ï¼ | |
| | | | TC-12 | 䏿è¾å
¥å
³é®åçé | æ¯æè¾å
¥æç´¢ | `filterable` çæï¼æé项åè¿æ»¤ï¼ | éè¿ | |
| | | |
| | | ### 3.3 æ±æ»å£å¾æ ¸å¯¹ï¼æ¶ç¹å为ä½ä¸æ±æ»ï¼ |
| | | |
| | | æ¦æ±å¸å
¬äº¤è¿è¥è½¦è¾æ°ï¼`city_bus_monthly`ï¼2026 å¹´ï¼ï¼1 æ 8476 â 2 æ 8283 â 3 æ 8248 â 4~6 æ 8050 â 7~8 æ 7861ã |
| | | |
| | | | ç®æ³ | ç»æ | æ¯å¦æä¸å¡å«ä¹ | |
| | | | --- | --- | --- | |
| | | | éæç¸å | 64879 è¾ | å¦ï¼å䏿¹è½¦éå¤è®¡ 8 æ¬¡ï¼ | |
| | | | åææ«ï¼8 æï¼ | 7861 è¾ | æ¯ | |
| | | | åæé´å¹³å | 约 8100 è¾ | å¯é | |
| | | |
| | | ç»è®ºï¼æ¶ç¹åä¸åä¸ç´¯å ï¼æ±æ»è§å¾ä¸æ¾ç¤ºï¼ç¨æ·å³å®ï¼ã |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | 1. å»ç»åä¾èµ"æ è¯åè¿ç»åºç°å¨æåé¢"è¿ä¸ååºå设ï¼è¥åç»è°æ´ååºææ°å¢ç±»åï¼éåæ¥ç»´æ¤ `stickyProps` ä¸ `nameProps`ãå·²å¨ `renderColumns` 注éä¸è¯´æï¼æä¸æ¹å¨ã |
| | | 2. æ¬æ¬¡æ¹å¨å
å«ä¸å¤**æ¤åæªæäº¤çå»ç»åå®ç°**ï¼09:56 è½å¨å·¥ä½åºï¼ï¼æµè¯éè¿åä¸å¹¶æäº¤ï¼é¿å
éæ¼ã |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | æ°æ®ç±»å䏿æ¡ãæè¡¨èªéåºç左侧å»ç»ååéè¿çæºç¨ä¾ï¼åæ¢ 7 个类åè¡æ°ä¸æ¥å£ä¸è´ï¼æ åå½ãè·¨ææ±æ»çæ¶ç¹åå¤çå£å¾å·²ç¡®å®ï¼ä¸å䏿±æ»ã䏿¾ç¤ºã |
| New file |
| | |
| | | # åè½æµè¯æ¥åï¼æ°æ®æ¥çå£å¾çéã空åéèä¸è¡¨å¤´åä½ï¼2026-09-22ï¼ |
| | | |
| | | > æ¥æï¼2026-09-22ãæ¨¡åï¼æ°æ®æ¥çï¼å端 DataView.vue + å端 DataViewControllerï¼ãæµè¯äººï¼Codex |
| | | > è¯æ±æ¥æºï¼ç¨æ·å¤æ ¸ç¬¬ 2ã3 ç¹ââ空åè½å¦ä¸æ¾ç¤ºãå£å¾è½å¦æå°ä¸é¢ãææè¡¨å¤´æ¯å¦é½å¸¦åä½ã |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | |
| | | 1. **æºæä»¶æªæä¾ç空åä¸åæ¾ç¤º**ï¼è§ä¸è§ä¸æå表ç `è§ä¸è´§è¿é / è§ä¸è´§è¿é / å计货è¿é` ä¸åï¼æºæä»¶ã模æ¿_è§ä¸è§ä¸æåè¿è¾é.xlsxãæ²¡æè´§è¿éåï¼åºå
å
¨ç©ºï¼ä¸å±ç¤ºï¼ |
| | | åå®ä¹ä¸æ¥å£å段ä¿çï¼è¥å¡«æ¥æ¹åç»è¡¥ä¸è´§è¿éåï¼åæ¶å端éèå³å¯æ¢å¤ï¼ã |
| | | 2. **å£å¾ä¸ç§»ä¸ºçé**ï¼æå表ç `å£å¾`ï¼å½æ/累计ï¼ä¸åæ¯è¡¨æ ¼åï¼æ¹æå·¥å
·æ 䏿ï¼å
¨é¨ / 彿 / 累计ï¼ï¼å端 `/api/data/list` æ°å¢ `periodType` åæ°ï¼`MONTH` / `CUMULATIVE`ï¼ï¼ |
| | | "å
¨é¨"æ¶ä»ä¼åæ¶è¿å两ç§å£å¾çè¡ãåæ¢æ°æ®ç±»åæ¶å£å¾èªå¨å¤ä½ä¸º"å
¨é¨"ã |
| | | 3. **ææè¡¨å¤´è¡¥åä½**ï¼æåºå
åæ®µæ³¨é + æºæä»¶è¡¨å¤´ + äº¤åæ ¸å¯¹ï¼ä¸ºå表æ°å¼åè¡¥é½åä½ï¼å
± 12 类表ã60 ä½åï¼ |
| | | |
| | | | 模å | åä½å£å¾ | |
| | | | --- | --- | |
| | | | åå¸å
¬äº¤/巡游åºç§ | 客è¿é(ä¸äººæ¬¡)ãæ
客å¨è½¬é(ä¸äººå
¬é)ãå¹³åè¿è·(å
¬é)ãè¿è¥è½¦æ°(è¾)ã载客车次(车次)ãç«ç¹(个)ãå车次载客人æ°(人/车次) | |
| | | | å
¬è·¯æ
客ä¼ä¸ h2031 | 客è¿è½¦è¾(è¾)ã载客ä½(座)ã客è¿é(人)ãå¨è½¬é(人å
¬é)ãå¹³åè¿è·(å
Ž) | |
| | | | è´§è¿ä¼ä¸ h2032 | 车è¾(è¾)ãå¨ä½/æ è®°å¨ä½/å类货è¿é(å¨)ãå¨è½¬é(å¨å
¬é)ãå¹³åè¿è·(å
Ž) | |
| | | | è´§è¿éå¨è½¬éï¼å®½è¡¨ï¼ | è´§è¿éNæ(ä¸å¨)ãå¨è½¬éNæ(ä¸å¨å
¬é)ï¼å«å»å¹´åæåï¼ | |
| | | | è§ä¸è§ä¸æå | è§ä¸/è§ä¸/å计å¨è½¬é(ä¸å¨å
¬é)ãè´§è¿é(ä¸å¨)ãæå(å)ã忝(%) | |
| | | | è¿æ¿è½¦è¾ / 轨迹éç¨ | çµå¼è½¦ãæè½¦ãå
¶ä»è½¦(è¾)ãå¨ä½(å¨)ãæåº¦éç¨(å
¬é)ãæéç¨è½¦è¾(è¾) | |
| | | | æ
å®¢è¿æ¿è½¦è¾ | è½¦è¾æ°(è¾)ãè½½å®¢ä½æ°(座) | |
| | | | 个ä½å®¢è¿ | 个ä½å®¢è¿é(人)ãä¸ªä½æ
客å¨è½¬é(人å
Ž) | |
| | | | æèµ | æèµé¢(ä¸å
)ã建çé¢ç§¯(å¹³æ¹ç±³) | |
| | | | è½è车è¾/è¿æ¿è½¦è¾ | æ è®°å¨ä½(å¨)ãè´§è¿é(å¨)ãå¨è½¬é(å¨å
¬é)ãéç¨(å
¬é)ã车次(次)ï¼çæç±»æå¡«æ¥çæå使 注 | |
| | | | ç½çº¦è½¦ | è®¢åæ°(å)ã订åå æ¯(%)ã客è¿é(ä¸äººæ¬¡)ãæ
客å¨è½¬é(ä¸äººå
Ž) | |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | - å端 `start-dev.ps1`ï¼8090ï¼ï¼å端 dev serverï¼8080ï¼ï¼MySQL `localhost:3308/traffic_audit`ï¼è´¦å· admin/123456ï¼æµè§å¨ï¼Codex å
ç½®æµè§å¨çæºã |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | ### 3.1 æ¥å£ç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-1 | `type=scaleSplit&period=2026-08` | 两ç§å£å¾å
± 36 è¡ | total=36 | éè¿ | |
| | | | TC-2 | åä¸ `&periodType=CUMULATIVE` | ä»
累计 18 è¡ | total=18 | éè¿ | |
| | | | TC-3 | åä¸ `&periodType=MONTH` | ä»
彿 18 è¡ | total=18 | éè¿ | |
| | | | TC-4 | æå表åå | 带åä½ | è§ä¸è´§è¿é(ä¸å¨)ãè§ä¸å¨è½¬é(ä¸å¨å
¬é)ãè§ä¸æå(å)ãè§ä¸åæ¯(%) | éè¿ | |
| | | | TC-5 | `type=transportAuth` åå | 带åä½ | çµå¼è½¦æ°(è¾)ãæè½¦å¨ä½(å¨)ãå
¶ä»å¨ä½(å¨) | éè¿ | |
| | | | TC-6 | `type=freightTurnover` åå | 带åä½ | è´§è¿é1æ(ä¸å¨) ⦠å¨è½¬éNæ(ä¸å¨å
¬é) | éè¿ | |
| | | | TC-7 | `type=h2031` åå | 带åä½ | 客è¿è½¦è¾å计(è¾)ãæ ¸å®è½½å®¢ä½å计(座)ã客è¿éå计(人)ãå¨è½¬éå计(人å
¬é) | éè¿ | |
| | | |
| | | ### 3.2 çæºç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-8 | è´§è¿ä¼ä¸ææ¥ | 表头带åä½ãå»ç»å¸å·+ä¼ä¸åç§° | è½¦è¾æ°å计(è¾)ãæ è®°å¨ä½æ°å计(å¨)â¦ï¼å»ç»=å¸å·ãä¼ä¸åç§°ï¼å·¥å
·æ æ "å£å¾" | éè¿ | |
| | | | TC-9 | è§ä¸è§ä¸æå | å·¥å
·æ åºç°å£å¾çéãå£å¾åæ¶å¤±ãç©ºåæ¶å¤± | å·¥å
·æ ï¼æ¥è¡¨æ / æ°æ®ç±»å / å£å¾[å
¨é¨]ï¼è¡¨å¤´ä»"è§ä¸å¨è½¬é(ä¸å¨å
¬é)"å¼å§ï¼ä¸åè´§è¿éä¸ååºç°ï¼ | éè¿ | |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | 1. æå表ä¸ä¸ªè´§è¿éå**ä¸è½å¨é¡µé¢ä¸åºå"空"ä¸"é¶"**ï¼æºæä»¶æªæä¾è¯¥åï¼æ
æ¾ç¤ºä¸ºå
¨ç©ºãæ¬æ¬¡æç¨æ·æè§ä¸å±ç¤ºï¼è¥ä¸å¡éè¦ï¼éå
è®©å¡«æ¥æ¹å¨æ¨¡æ¿ä¸å¢å è´§è¿éåï¼å¯¼å
¥å·²æ¯æ"æ©å±å¸å±"èªå¨è¯å«ï¼ã |
| | | 2. "表头åä½"以åºå
åæ®µæ³¨é为åï¼å¦ `h2032.freight_total` 注é"è´§è¿é_æ»è®¡ï¼å¨ï¼"ï¼ï¼è½è表ççæç±»å段ï¼çææ¶èéãç¾å
¬éæ²¹èãå¨è½¬éæ²¹èï¼åºå
æ å使³¨éï¼æ 注为"(æçæåä½)"ï¼æªæ
èªåæåã |
| | | 3. å£å¾çéé»è®¤"å
¨é¨"ï¼ä¸¤ç§å£å¾åå±ï¼ï¼å 为åæé¡µé¢è¡ä¸ºå³å¦æ¤ï¼éè¦åªçåä¸æç´¯è®¡æ¶å忢ã |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | ä¸é¡¹è¯æ±å
¨é¨è½å°å¹¶éè¿æ¥å£ + çæºç¨ä¾ï¼ç©ºåä¸åæ¾ç¤ºãå£å¾ä¸ç§»ä¸ºçéï¼æ¥å£ `periodType` åæ°ï¼ã12 类表表头å
¨é¨å¸¦åä½ãåæçéãå»ç»ãæ ¼å¼åé»è¾æ åå½ã |
| New file |
| | |
| | | # åè½æµè¯æ¥åï¼æ°æ®æ¥çå±ç¤ºä¼åä¸ç½çº¦è½¦æå¸å·ç«æï¼2026-09-22ï¼ |
| | | |
| | | > æ¥æï¼2026-09-22ãæ¨¡åï¼æ°æ®æ¥çï¼å端 DataView.vue + å端 DataViewControllerï¼ãæµè¯äººï¼Codex |
| | | > è¯æ±æ¥æºï¼ç¨æ·å½æ¥å¤æ ¸åç 4 ç¹åé¦ã |
| | | |
| | | ## ä¸ãåè½è¯´æï¼æç¨æ· 4 ç¹åé¦éæ¡ï¼ |
| | | |
| | | 1. **æ°æ®ç±»å䏿åç»æ 颿 ·å¼**ï¼Element UI é»è®¤æ `el-select-group__title` åæ 12px ç°åï¼è§è§ä¸"æ¯é项æ´å°æ´æ·¡"ã |
| | | æ¹ä¸ºæç¡®çç»æ 颿 ·å¼ï¼13px / 700 / `#303133` / æµ
åº `#F5F7FA`ï¼ï¼å¹¶ä¸éé¡¹å·¦ç¼©è¿æå¼å±çº§ï¼éè¿ `popper-class="data-type-select"` 精确å½ä¸è¯¥ä¸æï¼ä¸å½±åå
¶å®é¡µé¢ã |
| | | 2. **å»ç»åè°æ´**ï¼æ¥è¡¨æä¸æå±å°åºä¸ååºç°å¨è¡¨æ ¼ä¸ï¼æ¥è¡¨æç±ç鿡件ä½ç°ï¼æå±å°åºæ¯ 6 ä½åºå代ç ï¼å·²ç±æ´¾çç"å¸å·"åæ¿ä»£ï¼ã |
| | | å»ç»åºåªä¿ç"è½è¾¨è¯æ°æ®å½å±"çåï¼æå¤ 3 åï¼å¸å·/å°åºãä¼ä¸åç§°/项ç®åç§°/车çå·ãå£å¾ã |
| | | - å端为ä¼ä¸ç±»è¡¨è¡¥æ´¾ç"å¸å·"åï¼`RegionUtil.cityByCode`ï¼ï¼h2032ãh2031ãh204 车è¾è½è壿¥ã个ä½å®¢è¿ï¼åæï¼ã |
| | | 3. **è§ä¸è§ä¸æåç©ºå¼æ ¸æ¥**ï¼æºæä»¶ã模æ¿_è§ä¸è§ä¸æåè¿è¾é.xlsxãçè¡¨å¤´åªæ"å¨è½¬é/æå/忝/å¢éæå"ï¼**没æè´§è¿éå**ï¼ |
| | | 导å
¥æ"å¨è½¬é"å¸å±è§£æï¼æè´§è¿éçæ©å±å¸å±ä¼èªå¨è¯å«ï¼ï¼æä»¥è§ä¸/è§ä¸/å计货è¿éä¸å为空ââ屿ºæ°æ®å½¢æï¼ä¸æ¯å¯¼å
¥æ
éã |
| | | ä¸å®¶å¨è½¬éååå·²æ æ³¨åä½ `(ä¸å¨å
¬é)`ï¼è´§è¿éååæ æ³¨ `(æ¥æºæä»¶æªæä¾è¯¥å)`ã |
| | | 4. **ç½çº¦è½¦è®¢ååå
¨çæ»éæ¹ä¸ºæå¸å·ç«æ**ï¼ç±"1 è¡/æ à 23 å宽表"æ¹ä¸º"å°åºï¼å
¨ç + 17 å¸å·ï¼Ã ææ "çé¿è¡¨ï¼ |
| | | åï¼`å°åº | æé´ | è®¢åæ°(å) | 订åå æ¯ | 客è¿é(ä¸äººæ¬¡) | æ
客å¨è½¬é(ä¸äººå
¬é) | å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡) | å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é) | 说æ`ã |
| | | - è®¢åæ°åå°è´¦åå¼ï¼è®¢åå æ¯ = 该å¸å·è®¢åæ° Ã· 订ååè®¡ï¼ |
| | | - 客è¿é/å¨è½¬é/åå¸å
两å**å¤ç¨ `WycSplitCalc`ï¼æåå£å¾ï¼**ï¼ä¸æ±æ»å¤§è¡¨ãç½çº¦è½¦ãé¡µåæºç®æ³ï¼å
¨çè¡ç´æ¥åå°è´¦ pin å¼ã |
| | | 5. **å¸å·ææ¥è¿åº¦æ¾ç¤ºé¡¹ç®åç§°**ï¼åè¡¨åªæ `project_id`ï¼é¡µé¢æ¾ç¤ºæ°åæ æ³è¾¨è¯ãç°æ `investment_project` è¿è¡¨è¡¥ `项ç®åç§°` + `å¸å·`ï¼`项ç®ID` åä¿ç卿¥å£ä¸ï¼ä¾è¿è¡¨ï¼ä½é¡µé¢ä¸å±ç¤ºã |
| | | 6. **æ°å¼æ¾ç¤ºè§è**ï¼å
¨é¨æ°æ®**åºå±ä¿æå
¨ç²¾åº¦**ï¼å¯¼åº/æ±æ»ä»ç¨åå¼ï¼ï¼ä»
æ¾ç¤ºå±æ ¼å¼åï¼ |
| | | - æ¯çç±»åï¼rate/yoy/mom/growth/ratio/percent/shareï¼åºå
æ¯å°æ°ï¼0.045 = 4.5%ï¼ï¼æ¾ç¤ºä¸ºç¾åæ¯ä¸¤ä½å°æ°ï¼ |
| | | - æåç±»åï¼rankï¼æ¾ç¤ºæ´æ°ï¼ |
| | | - å
¶ä½æ°å¼ååä½ãä¿ç两ä½å°æ°ï¼æ´æ°åæ ·æ¾ç¤ºï¼å¦è½¦è¾æ° 51ãæå 1ï¼ã |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | - å端ï¼`start-dev.ps1`ï¼8090ï¼ï¼å端ï¼dev serverï¼8080ï¼ï¼æ°æ®åºï¼æ¬æº MySQL `localhost:3308/traffic_audit`ï¼è´¦å· admin/123456ã |
| | | - æµè§å¨ï¼Codex å
ç½®æµè§å¨çæºæä½ï¼DOM æ ¡éªï¼ã |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | ### 3.1 æ¥å£ç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-1 | `type=wycOrder&period=2026-08` | 18 è¡ï¼å
¨ç + 17 å¸å·ï¼ | total=18ï¼å
¨çï¼è®¢å 30,508,652ã客è¿é 4997.74ãå¨è½¬é 29166.70ãåå¸å
4571.18/23367.09 | éè¿ | |
| | | | TC-2 | åä¸ï¼æ¦æ±å¸ | æè®¢åå æ¯æå | 订å 11,550,551ãå æ¯ 0.378599ã客è¿é 1892.14ãå¨è½¬é 13484.80 | éè¿ | |
| | | | TC-3 | `type=investmentMonthly&period=2026-08` | æ¾ç¤ºé¡¹ç®åç§°ä¸å¸å· | `éå±±å西综å客è¿ç«ï¼äºçº§ç«ï¼` / å¸å®å¸ï¼å为 projectId=1ï¼ | éè¿ | |
| | | | TC-4 | `type=h2032&period=2026-08` | æ´¾çå¸å·å | regionCode=429021 â å¸å·=ç¥åæ¶æåº | éè¿ | |
| | | | TC-5 | `type=cityBus` åå | 带åä½ | 客è¿é(ä¸äººæ¬¡) / æ
客å¨è½¬é(ä¸äººå
¬é) / å¹³åè¿è·(å
¬é) | éè¿ | |
| | | | TC-6 | `type=scaleSplit` åå | æ æ³¨åä½ä¸ç¼ºå£ | è§ä¸å¨è½¬é(ä¸å¨å
¬é) / è§ä¸è´§è¿é(æ¥æºæä»¶æªæä¾è¯¥å) | éè¿ | |
| | | |
| | | ### 3.2 çæºï¼æµè§å¨ï¼ç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-7 | å±å¼æ°æ®ç±»å䏿 | ç»æ 颿¯é项æ´éç® | ç»æ é¢ 13px / 700 / rgb(48,49,51)ï¼å为 12px ç°åï¼ | éè¿ | |
| | | | TC-8 | è´§è¿ä¼ä¸ææ¥ | å»ç»å¸å·+ä¼ä¸åç§°ï¼éèæ¥è¡¨æ/æå±å°åº | å»ç»è¡¨å¤´=å¸å·ãä¼ä¸åç§°ï¼æ£æé¦å=è½¦è¾æ°åè®¡ï¼æ æ¥è¡¨æ/æå±å°åº | éè¿ | |
| | | | TC-9 | åå¸å
¬äº¤ | åä¸ | å»ç»=å¸å·ãä¼ä¸åç§°ï¼ç¥åæ¶æåºè¡æ°æ®æ£å¸¸ | éè¿ | |
| | | | TC-10 | ç½çº¦è½¦è®¢å | å»ç»å°åº | å»ç»=å°åºï¼ååº=å°åºãæé´ãè®¢åæ°â¦ï¼360 è¡ï¼20 æ à 18ï¼ | éè¿ | |
| | | | TC-11 | è§ä¸è§ä¸æå | å»ç»å£å¾+å¸å· | å»ç»=å£å¾ãå¸å·ï¼è§ä¸åæ¯åæ¾ç¤ºç¾åæ¯ | éè¿ | |
| | | | TC-12 | æ°å¼æ ¼å¼ | ååä½ + 两ä½å°æ° + æ¯çç¾åæ¯ | 30,508,652 / 570,004.44 / 100.00% / ç©ºå¼ `-` | éè¿ | |
| | | |
| | | ### 3.3 å使 ¸å¯¹ï¼è§ä¸è§ä¸æåå¨è½¬éï¼ |
| | | |
| | | | 项 | å¼ | |
| | | | --- | --- | |
| | | | h2032 æ¦æ± 1-6 æè§ä¸å¨è½¬éï¼å¨å
¬éï¼ | 12,357,607,239 | |
| | | | æå表 æ¦æ± 2026-06 累计è§ä¸å¨è½¬éï¼ä¸å¨å
¬éï¼ | 1,235,760.72 | |
| | | | 1,235,760.72 à 10000 | 12,357,607,239ï¼å®å
¨ä¸è´ï¼ | |
| | | |
| | | ç»è®ºï¼æå表å¨è½¬éåä½ä¸º**ä¸å¨å
¬é**ï¼ä¸ h2032 çå¨å
¬éç¸å·® 1 ä¸åï¼ï¼è·¨è¡¨æ±æ»éæ¢ç®ã |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | 1. è§ä¸è§ä¸æåï¼`scale_split_transport`ï¼**è´§è¿éä¸åå
¨ç©ºãå¨è½¬éçæå¼**ï¼æ ¸æ¥æºæä»¶è¡¨å¤´ç¡®è®¤æºæ°æ®æ¬èº«æ²¡æè´§è¿éåï¼é导å
¥æ
éï¼å·²æååæ æ³¨ä¸º"æ¥æºæä»¶æªæä¾è¯¥å"ï¼å¹¶å»ºè®®ä¸ä¸å¡ç¡®è®¤æ¯å¦éè¦ä¾åºå补该åã |
| | | 2. `investment_monthly` åªå `project_id`ï¼é¡µé¢æ æ³è¾¨è¯é¡¹ç®ï¼å·²è¿è¡¨è¡¥é¡¹ç®åç§°ä¸å¸å·ã |
| | | 3. ç½çº¦è½¦å°è´¦æ¯å¤ææ··æï¼é»è®¤ 360 è¡ï¼ï¼"æ¥è¡¨æ"åå¨å
¨ç«è¢«éèï¼æ
该表ææé´åæ¹å为"æé´"å¹¶ç´§è·"å°åº"ï¼é¿å
å¤æè¡æ æ³åºåã |
| | | 4. å¾ç¨½æ ¡éªï¼ç½çº¦è½¦å
¨ç客è¿é 4997.74 ä¸ `wyc_total_monthly` 2026-08 ç pinK ä¸è´ã |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | ç¨æ·åé¦ç 4 ç¹å
¨é¨å¤çå¹¶éè¿çæºç¨ä¾ï¼ä¸æåç»æ 颿 ·å¼ãéèæ¥è¡¨æ/æå±å°åºå¹¶æ¶çªå»ç»åãæå表空å¼ä¸åä½è¯´æãç½çº¦è½¦æå¸å·ç«æãå¸å·ææ¥é¡¹ç®åç§°ãæ°å¼ä¸ç¾åæ¯æ¾ç¤ºè§èãåºå±æ°æ®ç²¾åº¦æªå任使¹å¨ã |
| New file |
| | |
| | | # åè½æµè¯æ¥åï¼æ°æ®æ¥çãæå¸å·æ±æ» + å¯¼åº Excelãï¼2026-09-22ï¼ |
| | | |
| | | > æ¥æï¼2026-09-22ãæ¨¡åï¼æ°æ®æ¥çï¼å端 CityRollupService/DataViewController + å端 DataView.vueï¼ãæµè¯äººï¼Codex |
| | | > å£å¾ä¾æ®ï¼2026-09-22 ç¨æ·ç¡®è®¤ââèµ·æ¢æä»»æéãç´¯è®¡åæ¯å¸¦ä¸å¹´åæãæååæ®µå¯éï¼ç空/æç´¯è®¡å¼éæï¼ã䏿¾æ¶ç¹åã |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | |
| | | 1. **å
¥å£**ï¼æ°æ®æ¥çå·¥å
·æ å ãè§å¾ï¼æç» / æå¸å·æ±æ»ã忢ï¼ä»
对æå¸å·ç»´åº¦çç±»ååºç°ï¼ã |
| | | 2. **æ±æ»æ¡ä»¶**ï¼èµ·æ¢æï¼ä»»æåºé´ï¼å¹´åè³ N æå³ 01~Nï¼ãæåå£å¾ï¼ç空 / æç´¯è®¡å¼éæï¼ãæ±æ»ãå¯¼åº Excelã |
| | | 3. **ç»æ**ï¼ãå
¨çå计ãè¡æ¾å¨**æåé¢**ï¼2026-09-22 ç¨æ·è¦æ±ï¼ä½äºæ¦æ±å¸ä¹ä¸ï¼ï¼å
¶å为 17 个å¸å·ï¼RegionUtil è§èåä¸é¡ºåºï¼ï¼å¯¼åº Excel ä¸å计è¡å ç²ã |
| | | 4. **å£å¾è§å**ï¼ |
| | | - æµéç±»ï¼å®¢è¿é/å¨è½¬é/è´§è¿é/è®¢åæ°ï¼â è·¨ææ±åï¼ |
| | | - **æ¶ç¹ç±»ï¼è½¦è¾æ°ãä¼ä¸æ°ãç«ç¹æ°ï¼ä¸å䏿±æ»ï¼ä¸åºç°å¨ç»æä¸**ï¼ |
| | | - æ¯çç±»æç´¯è®¡å£å¾éç®ï¼ç´¯è®¡åæ¯ = æ¬æç´¯è®¡ ÷ ä¸å¹´åæç´¯è®¡ â 1ï¼å¹³åè¿è· = 累计å¨è½¬é ÷ 累计客è¿éï¼ |
| | | - æåé»è®¤ç空ï¼éãæç´¯è®¡å¼éæãæ¶æç´¯è®¡å¼éåºç»å次ï¼å
¨çå计è¡ä¸æåï¼ |
| | | - å计è¡ç± 17 å¸å·ç¸å ï¼"æ¹åç"çå计è¡ä¸è®¡å
¥ï¼é¿å
éå¤ï¼ã |
| | | 5. **æ¥å£**ï¼`GET /api/data/rollupTypes`ï¼æ¯ææ±æ»çç±»åï¼ã`GET /api/data/summary`ã`GET /api/data/export`ï¼xlsxï¼æ°å¼å
¨ç²¾åº¦ãæ¾ç¤º 2 ä½å°æ° / ç¾åæ¯ï¼ã |
| | | 6. **æ¯æç±»åï¼7 ç±»ï¼**ï¼`cityBus`ã`cityTaxi`ã`h2032`ã`h2031`ã`passengerIndividual`ã`wycOrder`ï¼æåå£å¾ï¼ã`freightTurnover`ã |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | å端 `mvn spring-boot:run`ï¼8090ï¼`Started TrafficAuditApplication`ï¼ï¼å端 8080ï¼MySQL `localhost:3308/traffic_audit`ï¼è´¦å· admin/123456ï¼æµè§å¨ï¼Codex å
ç½®æµè§å¨çæºã |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | ### 3.1 æ¥å£ç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-1 | `rollupTypes` | è¿å 7 个类å | cityBus/cityTaxi/h2032/h2031/passengerIndividual/wycOrder/freightTurnover | éè¿ | |
| | | | TC-2 | å
¬äº¤ 2026-01~08 | ä¸æå·¥æ ¸ç®ä¸è´ | å
¨çå计客è¿é 110776.34 ä¸äººæ¬¡ãå¨è½¬é 738254.64 ä¸äººå
¬éãå¹³åè¿è· 6.66 å
¬éãç´¯è®¡åæ¯ â3.07%ï¼æ¦æ±å®¢è¿é 36935.38ï¼ä¸ SQL éæç¸å ä¸è´ï¼ | éè¿ | |
| | | | TC-3 | å
¬äº¤ 2026-03~06 | åºé´ç´¯è®¡ | å
¨çå计 59060.71 ä¸äººæ¬¡ï¼= 3~6 æéæç¸å ï¼ | éè¿ | |
| | | | TC-4 | è´§è¿ä¼ä¸ h2032 2026-01~08 | ä¸ SQL ä¸è´ | å
¨çå计货è¿é 313,998,248 å¨ãå¨è½¬é 49,271,617,743 å¨å
¬éãå¹³åè¿è· 156.92 å
¬éã忝 â17.37% | éè¿ | |
| | | | TC-5 | è´§è¿éå¨è½¬é 2026-01~08 | 17 å¸å·ä¹åï¼æé¤"æ¹åç"è¡ï¼ | 130,311.89 ä¸å¨ï¼ä¸ SQL ç´æ¥ 17 å¸å·ä¹åå®å
¨ä¸è´ï¼ä¿®å¤å误æ"æ¹åç"è¡ä¸åºé´éå¤å å ï¼æ¾å¾å° 1,149,579ï¼ | éè¿ | |
| | | | TC-6 | åä¸ `to=2026-09`ï¼è¯¥ææ æ°æ®ï¼ | èªå¨åéå°ææ°ææ°æä»½ | ç»æä¸ 01~08 ä¸è´ï¼æé´æ ç¾ä»æ¾ç¤ºè¯·æ±åºé´ | éè¿ | |
| | | | TC-7 | æå `rankMode=blank` | æåå为空 | ç©ºï¼æ¾ç¤º `-`ï¼ | éè¿ | |
| | | | TC-8 | æå `rankMode=recompute` | æç´¯è®¡å¼éåº | è´§è¿éï¼æ¦æ± 1ã宿 3ãé»ç³ 9ãåå ° 12ï¼å
¨çå计è¡ç空 | éè¿ | |
| | | | TC-9 | ç½çº¦è½¦ 2026-01~08 | æåå£å¾å计 | å
¨çå计订å 208,229,132 åã客è¿é 33864.94 ä¸äººæ¬¡ | éè¿ | |
| | | | TC-10 | `export`ï¼å
¬äº¤ 2026-01~08ï¼ | çæ xlsx | 5,790 åèï¼å¯æ£å¸¸æå¼ãå«è¡¨å¤´ä¸å计è¡ï¼å计è¡å ç²ãæ°å¼æ ¼å¼ `0.00`ãåæ¯æ ¼å¼ `0.00%` | éè¿ | |
| | | | TC-10b | å计è¡ä½ç½® | 卿¦æ±å¸ä¹ä¸ | 第 1 è¡=å
¨çå计ï¼å®¢è¿é 110776.34ï¼ï¼ç¬¬ 2 è¡=æ¦æ±å¸ï¼æå 1ï¼ï¼åè®¡è¡æåç空 | éè¿ | |
| | | |
| | | ### 3.2 çæºç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-11 | æ°æ®æ¥çé"é路货ç©è¿è¾æåº¦ç产æ
åµ" | åºç°ãè§å¾ã忢 | å·¥å
·æ ï¼æ¥è¡¨æ / æ°æ®ç±»å / è§å¾ | éè¿ | |
| | | | TC-12 | åå°"æå¸å·æ±æ»" | åºç°èµ·æ¢æãæåãæ±æ»ãå¯¼åº | å·¥å
·æ ï¼æ°æ®ç±»å / è§å¾ / èµ·æ¢æ / æåï¼æé®ï¼æ±æ»ãå¯¼åº Excel | éè¿ | |
| | | | TC-13 | æ§è¡æ±æ» | 18 è¡ãå¸å·å»ç»ãå£å¾æç¤º | 18 è¡ï¼å»ç»å=å¸å·ï¼æç¤º"å
± 18 æ¡è®°å½ | é路货ç©è¿è¾ä¼ä¸ï¼æå¸å·æ±æ»ï¼ 2026-01 ~ 2026-09 累计ï¼åæ¯åºæ° 2025-01 ~ 2025-09ï¼æåå£å¾ï¼ç空"ï¼å
¨çå计 313,998,248 å¨ / 49,271,617,743 å¨å
¬é | éè¿ | |
| | | | TC-14 | æ°å¼æ¾ç¤º | ååä½ + 2 ä½å°æ° + 忝ç¾åæ¯ | 100,729,811 / 16,328,908,098 / 162.11 / â24.39% | éè¿ | |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | 1. **è´§è¿éå¨è½¬é表å£å¾å**ï¼è¯¥è¡¨æ¯è¡æ¯"å¹´åè³å½æ"çè¡å
累计ï¼è¡å
å«åæåï¼ï¼è·¨æåå å ä¼éå¤è®¡ç®ï¼ä¸è¡¨å
"æ¹åç"è¡çäº 17 å¸å·ä¹åãå·²æ¹ä¸ºåªååºé´å
ææ°ä¸æé£ä¸è¡ã对åºé´æä»½æ±åï¼å¹¶æ¾å¼æé¤éå¸å·è¡ â ç± 1,149,579 ä¿®æ£ä¸º 130,311.89 ä¸å¨ï¼ä¸ç´æ¥ä¸è´ï¼ã |
| | | 2. ç»æææ æ°æ®ï¼å¦ 2026-09ï¼æ¶èªå¨åéå°ææ°ææ°æä»½ï¼é¿å
åºç°å
¨ 0 è¡ã |
| | | 3. æ±æ»æ¨¡å¼ä¸"æ¥è¡¨æ/å
³é®å"è¾å
¥æ¡éèï¼ç±èµ·æ¢ææ¿æ
æé´æ¡ä»¶ï¼ï¼é¿å
䏤奿鴿¡ä»¶å¹¶åã |
| | | 4. æåå£å¾é»è®¤"ç空"ï¼å¼å¯éæåæç´¯è®¡å¼éåºï¼å
¨çå计è¡ä¸å䏿åã |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | ãæå¸å·æ±æ» + å¯¼åº Excelãæç¨æ·ç¡®è®¤çå£å¾å®æå¹¶éè¿ 10 æ¡æ¥å£ç¨ä¾ + 4 æ¡çæºç¨ä¾ï¼ä¸æå·¥/SQL æ ¸ç®é项ä¸è´ãæ¶ç¹åä¸å䏿±æ»ãæ¯çæç´¯è®¡éç®ãæåå¯éï¼å¯¼åºä¿çå
¨ç²¾åº¦ã |
| New file |
| | |
| | | # åè½æµè¯æ¥åï¼æ°æ®æ¥çè¡¥é½ç½çº¦è½¦ä¸ä¸ªä½å®¢è¿ç±»åï¼2026-09-22ï¼ |
| | | |
| | | > æ¥æï¼2026-09-22ãæ¨¡åï¼æ°æ®æ¥çï¼å端 DataView + å端 DataViewControllerï¼ãæµè¯äººï¼Codex |
| | | > è¯æ±æ¥æºï¼æ°æ®æ¥ççæ°æ®ç±»ååºåå°"è½å¯¼å
¥ä»ä¹æ°æ®å°±è½çå°ä»ä¹æ°æ®"ï¼ç¨äºæ ¸å¯¹å¯¼å
¥æ¯å¦å®æ´ã |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | |
| | | æ°æ®æ¥ç页åå
åªæ 15 ä¸ªæ°æ®ç±»åï¼ç½çº¦è½¦ä¸ä¸ªä½å®¢è¿è½ç¶å·²æå¯¼å
¥æ¥å£å模æ¿ï¼ä½**æ²¡ææ¥çå
¥å£**ï¼å¯¼å
¥ååªè½æ¥æ°æ®åºãæ¬æ¬¡è¡¥é½ 3 个类åï¼ |
| | | |
| | | | æ°å¢ç±»å | 页é¢åç§° | æ°æ®è¡¨ | åæ° | |
| | | | --- | --- | --- | --- | |
| | | | `wycTotal` | ç½çº¦è½¦æ»æ° | `wyc_total_monthly` | 5 | |
| | | | `wycOrder` | ç½çº¦è½¦è®¢ååå
¨çæ»é | `wyc_order_monthly` | 23ï¼å« 17 å¸å·è®¢ååï¼ | |
| | | | `passengerIndividual` | 个ä½å®¢è¿é/å¨è½¬é | `passenger_individual_monthly` | 7ï¼å«ç±åºåä»£ç æ´¾çç"å¸å·"åï¼ | |
| | | |
| | | æ¹å¨ç¹ï¼ |
| | | - å端 `traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataViewController.java`ï¼æ°å¢ 3 个 `switch` 忝ã3 ç»åå®ä¹ã3 个 Mapper 注å
¥ï¼`passengerIndividual` ç¨ `RegionUtil.cityByCode` æ 6 ä½åºåä»£ç æ´¾ç为å¸å·åã |
| | | - å端 `traffic-audit-web/src/views/DataView.vue`ï¼å
¬è·¯æ
客模åå "个ä½å®¢è¿é/å¨è½¬é"ï¼åå¸å®¢è¿æ¨¡åå "ç½çº¦è½¦æ»æ°""ç½çº¦è½¦è®¢ååå
¨çæ»é"ã |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | - å端ï¼`mvn spring-boot:run -f traffic-audit-server/pom.xml`ï¼8090ï¼æ¥å¿åºç° `Started TrafficAuditApplication`ã`Tomcat started on port(s): 8090` |
| | | - å端ï¼`npm run serve`ï¼traffic-audit-webï¼ï¼8080ï¼`Compiled successfully in 4769ms` |
| | | - æ°æ®åºï¼æ¬æº MySQL `localhost:3308/traffic_audit`ï¼mysql CLI ç´æ¥æ ¸å¯¹ï¼ |
| | | - ç»å½ï¼`POST /api/auth/login`ï¼admin/123456ï¼å JWTï¼åç»æ¥å£å¸¦ `Authorization: Bearer <token>` |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | ### 3.1 æ£åç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-1 | `GET /api/data/list?type=wycTotal` | 20 è¡ã5 åï¼åå䏿¨¡æ¿ä¸è´ | total=20ï¼åï¼æ¥è¡¨æ/å
¨çç½çº¦è½¦å®¢è¿é/å
¶ä¸åå¸å
客è¿é/å
¨çç½çº¦è½¦å¨è½¬é/å
¶ä¸åå¸å
å¨è½¬éï¼é¦è¡ 2025-01ï¼2467.79 / 2325.25 / 14910.54 / 12202.49 | éè¿ | |
| | | | TC-2 | `type=wycOrder` | 20 è¡ã23 åï¼å« 17 å¸å·ï¼ | total=20ï¼23 åï¼é¦è¡ 2025-09ï¼orderSum=17652159ï¼æ¦æ± 8076610ãé»ç³ 676644â¦ç¥åæ¶ 1424 | éè¿ | |
| | | | TC-3 | `type=passengerIndividual` | 139 è¡ã7 åï¼å«æ´¾çå¸å· | total=139ï¼é¦è¡ 2025-01ï¼regionCode=420900 â å¸å·=åæå¸ï¼ä¸ªä½å®¢è¿é 6442ãå¨è½¬é 117502.08 | éè¿ | |
| | | | TC-4 | `type=wycOrder&period=2026-08` | ä»
2026-08 ä¸è¡ | total=1ï¼rows=1ï¼cols=23 | éè¿ | |
| | | | TC-5 | `type=passengerIndividual&period=2026-08` | ä»
2026-08 | total=6 | éè¿ | |
| | | | TC-6 | `type=passengerIndividual&keyword=åæ` | ä»
åæç¸å
³è¡ | total=40 | éè¿ | |
| | | | TC-7 | åç«¯ä¸æ | å
¬è·¯æ
客 3 项ãåå¸å®¢è¿ 5 项 | 䏿æ°å¢ 3 项ï¼`npm run serve` ç¼è¯æå | éè¿ | |
| | | |
| | | ### 3.2 è´åç¨ä¾ |
| | | |
| | | | ç¼å· | è¾å
¥ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | |
| | | | TC-8 | `type=notExist` | ç©ºç»æã䏿¥é | total=0ãrecords=0ãcolumns=0 | éè¿ | |
| | | | TC-9 | `type=wycOrder&period=1999-01`ï¼æ æ°æ®çæï¼ | ç©ºç»æ | total=0ãrecords=0ãåå®ä¹æ£å¸¸è¿å | éè¿ | |
| | | | TC-10 | ä¸å¸¦ token è®¿é® `/api/data/list` | 401ï¼æ¢æå®å
¨çç¥ï¼ | 401 | éè¿ï¼é缺é·ï¼ | |
| | | | TC-11 | `type=wycTotal&keyword=xx` | 该表æ åç§°åï¼å
³é®åä¸çæ | ä»è¿å 20 è¡ | éè¿ï¼è§éç 1ï¼ | |
| | | |
| | | ### 3.3 å
¥åºæ½æ¥ï¼æ¥å£æ¡æ° vs åºå
è¡æ°ï¼ |
| | | |
| | | | 表 | åºå
è¡æ° | æ¥å£ total | ç»è®º | |
| | | | --- | --- | --- | --- | |
| | | | `wyc_total_monthly` | 20 | 20 | ä¸è´ | |
| | | | `wyc_order_monthly` | 20 | 20 | ä¸è´ | |
| | | | `passenger_individual_monthly` | 139 | 139 | ä¸è´ | |
| | | |
| | | ### 3.4 åå½ï¼åæ 15 ç±»ä¸åå½±åï¼ |
| | | |
| | | `h2032` 13056 / `transportAuth` 1270 / `trackMileage` 628 / `scaleSplit` 288 / `freightTurnover` 234 / `h2031` 15811 / `passengerAuth` 0 / `cityBus` 2860 / `cityTaxi` 340 / `cityTaxiAuth` 85272 / `investmentProject` 152 / `investmentMonthly` 284 / `investmentSystem` 277 / `energyVehicle` 2568 / `energyAuth` 1203 ââ 忣叏è¿åï¼åæ°ä¸åã |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | 1. `wycTotal` / `wycOrder` 没æåç§°ç±»åæ®µï¼é¡µé¢ä¸"ä¼ä¸/å¸å·åç§°"å
³é®åæ¡å¯¹å®æ æï¼è¿åå
¨éï¼ã屿¢æäº¤äºçä¸è´æ§é®é¢ï¼æªå¨æ¬æ¬¡æ¹å¨ï¼åå
¥å¾
ä¼åã |
| | | 2. ç½çº¦è½¦è®¢å表为宽表ï¼17 å¸å·åä¸åï¼ï¼æç»é¡µæ¨ªå 23 åï¼éè¦æ¨ªåæ»å¨æ¥çï¼æªå转置ï¼ä¿æä¸å¯¼å
¥æä»¶ååºä¸è´ï¼ä¾¿äºæ ¸å¯¹ã |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | 3 个æ°å¢ç±»åå
¨é¨éè¿æ£åãè´åä¸å
¥åºæ½æ¥ç¨ä¾ï¼åæ 15 ç±»æ åå½ãæ°æ®æ¥çç°å·²è¦ç**å
¨é¨å¯å¯¼å
¥çæ°æ®ç±»å**ï¼å¯ç¨äºæ ¸å¯¹å¯¼å
¥å®æ´æ§ã |
| | | |
| | | ## å
ãéï¼è·¨ææ±æ»å£å¾ï¼ä¸ä¸æ¥å¾
ååè½çå£å¾ä¾æ®ï¼ |
| | | |
| | | ææ¥å表çæå¼å为**彿å¼**ãæå¸å·å"ä»»æèµ·æ¢æ"æ±æ»æ¶ï¼åææ§è´¨åä¸ç±»å¤çï¼ |
| | | - æµéç±»ï¼å®¢è¿éãå¨è½¬éãè´§è¿éãè®¢åæ°ï¼â éææ±åï¼ |
| | | - æ¶ç¹ç±»ï¼è¿è¥è½¦è¾æ°ãè¥è¿è½¦è¾æ°ãä¼ä¸æ°ï¼â 䏿±åï¼åææ«å¼ï¼å¦æ¦æ±å
¬äº¤è¿è¥è½¦è¾ 2026 åæ 8476â7861ï¼éæç¸å ä¼å¾å° 64879 è¾ï¼å®é
8 ææ«åªæ 7861 è¾ï¼ï¼ |
| | | - æ¯çç±»ï¼ç¯æ¯ã忝ãå¹³åè¿è·ãå æ¯ï¼â 䏿±åï¼æç´¯è®¡å£å¾éç®ã |
| New file |
| | |
| | | # åè½æµè¯æ¥å_æ±æ»å¤§è¡¨å¯¼åºç»æè½çç¼åå¤ç¨_2026-09-22 |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | |
| | | ç¨æ·è¯æ±ï¼ãæå·²ç»ä¸è½½è¿äºä¸ºä»ä¹è¿è¦éæ°çæå¢ï¼å¯ä»¥å¼ä¸ä¸ªè®°å¿åè½åââæä¸è½½è¿æä¸ªæ°æ®ï¼ç¬¬äºæ¬¡ä¸è½½æé´æ²¡ææ°å¯¼å
¥æ°æ®ï¼å°±ç´æ¥æ²¿ç¨ä¸æ¬¡ç®å¥½çç»æãä¸ç¶æ¯æ¬¡ä¸è½½é½è¦çå¾ä¹
ãã |
| | | |
| | | **æ¹é å**ï¼å·²æã10 åéå
+ æé´æ æ°å¯¼å
¥ãçå
åç¼åï¼ä½â çªå£åªæ 10 åéï¼â¡åå¨å
åéï¼è¿ç¨ä¸éå¯å°±æ²¡äº â æ£å¸¸åºæ¯ä¸ç¬¬äºæ¬¡ä¸è½½ä»è¦éç® 13~17 ç§ã |
| | | |
| | | **æ¹é å**ï¼ |
| | | 1. ç»æ**è½ç**ä¿åå° `docs/çææ±æ»å¤§è¡¨/_cache/`ï¼å·²å å
¥ `.gitignore`ï¼ï¼æä»¶å `<key>_v<æ°æ®çæ¬>.xlsx`ï¼ |
| | | 2. æäº¤å¯¼åºæ¶ï¼æªç¹ãéæ°çæãï¼ï¼**å
åç¼å â è½çç¼å â çç®**ï¼è½çå½ä¸è¦æ±ãå䏿¥è¡¨æ + å䏿°æ®çæ¬ãï¼ |
| | | 3. **æ°æ®çæ¬ = `MAX(import_batch.id)`**ï¼åªè¦æé´æä»»ä½ä¸æ¬¡æ°æ®å¯¼å
¥ï¼çæ¬å°±åï¼æ§ç¼åèªå¨å¤±æï¼ |
| | | 4. å¤ç¨ä¸é **7 天**ï¼é²éå¹´ç»æè¢«å½æ°è¡¨ååºï¼ï¼è¶
ææä»¶å¨ä¸æ¬¡æäº¤æ¶èªå¨æ¸
çï¼åä¸ key åªä¿çææ°çæ¬æä»¶ï¼ |
| | | 5. å端å½ä¸ç¼åæ¶æ¾ç¤ºãæ¬æ¬¡ç´æ¥æ²¿ç¨ <çææ¶é´> çæçç»æï¼æé´æ²¡ææ°çæ°æ®å¯¼å
¥ï¼ãå¦éæææ°æ°æ®éç®ï¼è¯·ç¹ãéæ°çæãããï¼å¹¶æä¸è¡å
ä¿¡æ¯æ¹æãæ¥è¡¨æ 2026-08ã䏿¬¡çæäº â¦ãï¼ä¸åæ¾ç¤ºã䏿¬¡çæç¨æ¶ 0.0 ç§ãï¼ï¼ |
| | | 6. ä¿®æè½çå½ä¸æ¶ `elapsedMs` ä¸ºè´æ°çé®é¢ï¼ä»¥çææ¶é´ä½ä¸ºä»»å¡èµ·ç¹ï¼ã |
| | | |
| | | æ¹å¨æä»¶ï¼`ReportExportTaskService.java`ï¼æ ¸å¿ï¼ã`ReportExportController.java`ï¼æ³¨éï¼ã`ReportExport.vue`ï¼ææ¡ï¼ã`.gitignore`ã |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | - å端 Spring Boot 8090ï¼éå¯å è½½æ°ä»£ç ï¼ï¼å端 `npm run serve` 8080ï¼`Compiled successfully`ï¼ |
| | | - æ°æ®åº MySQL 3308 / `traffic_audit`ï¼æ¥è¡¨æ 2026-08ï¼ææ¥ï¼ |
| | | - ç¼åç®å½ï¼`docs/çææ±æ»å¤§è¡¨/_cache/`ï¼å½ä¸å¤æ® `MAX(import_batch.id)`ï¼æµè¯æ¶ä¸º **541**ï¼ |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | | # | ç¨ä¾ | æä½ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | T01 | 馿¬¡æäº¤ï¼æ ç¼åï¼æ£åï¼ | `GET /api/report/exportTask/summaryWorkbook?period=2026-08` | çç®ï¼å®æååè½çç¼å | `RUNNING` â `DONE`ï¼12.4 sï¼ï¼çæ `summaryWorkbook_2026-08_month__v541.xlsx`ï¼1,204,461 Bï¼ | éè¿ | |
| | | | T02 | 忬¡æäº¤ï¼å
åå½ä¸ï¼ | å䏿¥ | ç«å³ DONEãfromCache=true | æäº¤èæ¶ **164 ms**ï¼`fromCache=true`ï¼ä¸è½½ 1,204,461 B ä¸ç¼åæä»¶ä¸è´ | éè¿ | |
| | | | T03 | **éå¯å端ååæäº¤ï¼è½çå½ä¸ï¼æ ¸å¿ï¼** | å/èµ·åå端åæäº¤ | ä»ç«å³ DONEï¼ä¸åéç®ï¼ | æäº¤ **1,194 ms**ï¼`fromCache=true`ï¼æ¥å¿ãå½ä¸è½çç¼åâ¦ãï¼ä¸è½½åèä¸è´ | éè¿ | |
| | | | T04 | ææ°å¯¼å
¥ï¼è´åï¼ | ä¸´æ¶æå
¥ä¸æ¡ `import_batch`ï¼id å 542ï¼åæäº¤ | ç¼å失æãéæ°çæ | `fromCache=false`ã`status=RUNNING` | éè¿ | |
| | | | T05 | å key åªçææ°çæ¬ | éç®å®æåçç¼åç®å½ | æ§çæ¬æä»¶è¢«å é¤ | ç®å½åªå© `â¦_v542.xlsx`ï¼v541 å·²å ï¼ | éè¿ | |
| | | | T06 | çæ¬åè½å | å æä¸´æ¶å¯¼å
¥è¡ï¼çæ¬åå° 541ï¼ååæäº¤ | ä¸å½ä¸ v542ï¼éç®å¹¶åå v541 | `fromCache=false` â éç®å®æï¼ç®å½åªå© `â¦_v541.xlsx` | éè¿ | |
| | | | T07 | æ¶é¿æ¾ç¤ºï¼åå½ä¿®å¤ï¼ | è½çå½ä¸æ¶ç `elapsedMs` / å端å
ä¿¡æ¯ | ä¸ä¸ºè´æ° | ä¿®å¤å `elapsedMs=-72937`ï¼ä¿®å¤å `elapsedMs=0`ï¼å端æ¾ç¤ºãæ¥è¡¨æ 2026-08ã䏿¬¡çæäº 2026-09-22 11:27:32ã | éè¿ | |
| | | | T08 | æµè§å¨ç«¯å°ç«¯ï¼æ£åï¼ | admin/123456 â æ¥è¡¨çæ â æ±æ»å¤§è¡¨ â 2026-08 â å¯¼åº | ç§åºå¹¶èªå¨ä¸è½½ï¼ææ¡æ£ç¡® | ç¹å»å**ç«å³**ãæ±æ»å¤§è¡¨å·²çæã100%ï¼æ¾ç¤ºãæ¬æ¬¡ç´æ¥æ²¿ç¨ 2026-09-22 11:27:32 çæçç»æï¼æé´æ²¡ææ°çæ°æ®å¯¼å
¥ï¼ãããå·²èªå¨ä¸è½½ï¼çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08.xlsx ï¼1.15 MBï¼â¦ãï¼æé®ä»
ãéæ°çæ / å
³éãï¼æ§å¶å° 0 æ¥é | éè¿ | |
| | | | T09 | ç¼åä¸ä¸²æï¼éæï¼ | ââ | ä¸åæ¥è¡¨æ/模å¼äºä¸å½ä¸ | keyï¼type\|period\|mode\|toMonthï¼åæ¶è¿å
¥å
åé®ä¸è½çæä»¶ååç¼ | éè¿ï¼éæï¼ | |
| | | | T10 | èªå¨æ¸
ç | ââ | è¶
ææä»¶è¢«å é¤ | æ¯æ¬¡æäº¤è°ç¨ `cleanupExpired()`ï¼å
åæ¡ç®ä¸ç£çæä»¶è¶
è¿ 7 天峿¸
| éè¿ï¼éæï¼ | |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | | # | é®é¢ | å¤ç½® | |
| | | | --- | --- | --- | |
| | | | P1 | è½çå½ä¸æ¶å端ãç¨æ¶ãä¸ºè´æ°ï¼`elapsedMs=-72937`ï¼å 为任å¡èµ·ç¹æ¯ç°å¨ãç»ææ¶é´æ¯åå²çææ¶é´ï¼ | 已修ï¼è½çå½ä¸æ¶æä»»å¡èµ·ç¹è®¾ä¸ºçææ¶é´ï¼å端ç¼åå½ä¸ä¸åæ¾ç¤ºç¨æ¶ï¼æ¹æ¾ç¤ºã䏿¬¡çæäº â¦ã | |
| | | | P2 | æµè¯ç¨çä¸´æ¶ `import_batch` è¡ | å·²å é¤ï¼`MAX(id)` åå° 541ãæ¹æ¬¡ 419 æ¡ï¼ï¼ä»
ç¨äºéªè¯ã导å
¥å³å¤±æã | |
| | | | P3 | æ°æ®çæ¬æ¯**å
¨å±**çï¼ä»»ä½ä¸æ¬¡å¯¼å
¥ï¼å«ä¸æ±æ»å¤§è¡¨æ å
³çæèµ/è½è导å
¥ï¼é½ä¼è®©æ±æ»ç¼å失æ | å±ä¿å®è®¾è®¡ï¼å®å¯éç®ä¸å¯åºéï¼ãè¥å¸æãåªæç¸å
³æ°æ®å¯¼å
¥æå¤±æãï¼éè¦æ `import_type` ç»åä¾èµï¼å¾
ç¨æ·ç¡®è®¤åææ | |
| | | | P4 | è½çç®å½ | æ°å¢ `docs/çææ±æ»å¤§è¡¨/_cache/` å¹¶å å
¥ `.gitignore`ï¼ç»ææä»¶ä¸å
¥åºï¼ | |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | - ãä¸è½½è¿ä¸æ¬¡ãæé´æ²¡ææ°å¯¼å
¥ â ç¬¬äºæ¬¡ç´æ¥æ²¿ç¨ãå·²å®ç°ï¼ä¸**è·¨å端é坿æ**ï¼è¿æ¯æ¬æ¬¡çå
³é®å¢éï¼ï¼ |
| | | - å¤ç¨æ£ç¡®æ§ç±ãæ°æ®çæ¬ï¼`MAX(import_batch.id)`ï¼+ 7 天ä¸éãåéæå
³ï¼ææ°å¯¼å
¥å¿
å®éç®ï¼æµè¯å·²è¦çï¼ |
| | | - ç¨æ·ä½éªï¼å½ä¸ç¼åæ¶ç¹å¯¼åº**ç§å**ï¼æ¯«ç§çº§ï¼ï¼ä¸åæ¯æ¬¡ç 13~17 ç§ï¼ãéæ°çæãä¿ç为强å¶éç®å
¥å£ï¼ |
| | | - æµè§å¨ç«¯å°ç«¯å®æµéè¿ï¼æ æ§å¶å°æ¥éã |
| | | |
| | | æµè¯äººï¼Codexï¼AIï¼ãæµè¯æ¥æï¼2026-09-22 |
| New file |
| | |
| | | # åè½æµè¯æ¥å_æ±æ»å¤§è¡¨è¿åº¦å¼¹çªä¼å_2026-09-22 |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | |
| | | ç¨æ·é®é¢ï¼ãæ±æ»è¡¨çè¿åº¦æ¡å¼¹çªçãä¿åãä¼ä½¿ä¸è½½çæ±æ»è¡¨å次ä¸è½½ï¼è¿ä¸ªå¼¹çªå¯ä»¥æä¹ä¼åä¸ä¸å¢ï¼ã |
| | | |
| | | **åå **ï¼ä»»å¡å®ææ¶ `downloadTaskFile(true)` ä¼èªå¨ä¸è½½ä¸æ¬¡ï¼èå¼¹çªåºé¨ä¸ç´æçãä¿åæä»¶ãï¼ç¼åå½ä¸æ¶æ¯ãä¸è½½ãï¼ï¼ç¹ä¸ä¸ä¼**忬¡è¯·æ±å端æ¿åä¸ä¸ªæä»¶å¹¶ç¬¬äºæ¬¡ä¸è½½**ï¼çèµ·æ¥åãä¿ååä¸äºä¸éããåæ¶å¼¹çªæ é¢å§ç»æ¯ãæ£å¨çææ±æ»å¤§è¡¨ãï¼å®æ/失败åä¸ååã |
| | | |
| | | **æ¹å¨**ï¼`traffic-audit-web/src/views/ReportExport.vue`ï¼ï¼ |
| | | |
| | | | # | æ¹å¨ | 说æ | |
| | | | --- | --- | --- | |
| | | | 1 | å®æåæ¾ç¤ºãå·²èªå¨ä¸è½½ã | `å·²èªå¨ä¸è½½ï¼<æä»¶å>ï¼<大å°>ï¼ï¼æä»¶å¨æµè§å¨é»è®¤ä¸è½½ç®å½ã` | |
| | | | 2 | **å·²èªå¨ä¸è½½åä¸åæ¾ç¤ºä¸è½½æé®** | 宿ååºé¨åªå©ãéæ°çæ / å
³éãï¼åªæ**èªå¨ä¸è½½å¤±è´¥**æ¶æåºç°ãä¿åæä»¶ãå
åºæé®ï¼è§ §å
åæ´è®°å½ï¼ | |
| | | | 3 | èªå¨ä¸è½½å¤±è´¥å
åº | `taskDownloaded=false` æ¶æç¤ºãèªå¨ä¸è½½æ²¡æåï¼å¯ç¹ãä¿åæä»¶ãåå䏿¬¡ãï¼å¹¶æ¾ç¤ºãä¿åæä»¶ãæé® | |
| | | | 4 | å¼¹çªæ é¢éç¶æåå | æ£å¨çææ±æ»å¤§è¡¨ / **æ±æ»å¤§è¡¨å·²çæ** / æ±æ»å¤§è¡¨çæå¤±è´¥ | |
| | | | 5 | 宿æä¸»æé®æ¹ä¸ºãå
³éã | çæä¸ä»æ¯ãåå°è¿è¡ãï¼å®æå主æé®æ¯ãå
³éãï¼ä¸è½½æé®é为次è¦ï¼ | |
| | | | 6 | æ¯æ¬¡æ°ä»»å¡éç½®ç¶æ | `taskDownloaded/taskFileName/taskFileSize/taskBlob` å¨ `startSummaryTask` 鿏
é¶ | |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | |
| | | - å端ï¼`npm run serve`ï¼8080ï¼ï¼æ¹åçç¼è¯ `Compiled successfully in 592ms`ï¼10:00:24ï¼ |
| | | - å端ï¼Spring Boot 8090ï¼ä»æ¥è¿è¡ä¸ï¼ï¼æ°æ®åº MySQL 3308 / `traffic_audit` |
| | | - æµè§å¨ï¼Codex å
ç½®æµè§å¨ï¼è§å£ 1280Ã720ï¼ï¼ç»å½ `admin/123456` |
| | | - æ¥è¡¨æï¼2026-08ï¼ææ¥ï¼æ±æ»å¤§è¡¨ãéè·¯è¿è¾éæ±æ»è¡¨ï¼æ´æ¬ï¼ãæ°æ®ç¶æ=æ°æ®å°±ç»ªï¼ |
| | | - çæèæ¶ï¼**13.5 ç§**ï¼æªå½ä¸ç¼åï¼ï¼äº§ç© `çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08.xlsx`ï¼**1.15 MB** |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | |
| | | | # | ç¨ä¾ | è¾å
¥/æä½ | 颿 | å®é
| ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | T01 | çæä¸å¼¹çªç¶æï¼æ£åï¼ | é 2026-08 â ç¹ã导åºã | æ é¢ãæ£å¨çææ±æ»å¤§è¡¨ãï¼è¿åº¦éå¢ï¼æé®ãä¿åæä»¶(ç¦ç¨)/éæ°çæ(ç¦ç¨)/åå°è¿è¡ã | æ 颿£ç¡®ï¼è¿åº¦ 6%â45%ï¼æ¥éª¤æåãè¯»åæ¯çå·¥ä½ç°¿ãâãå·æ°æå页ä¸è·¨é¡µåæé¡µãï¼æé®ç¶æä¸é¢æä¸è´ | éè¿ | |
| | | | T02 | 宿åèªå¨ä¸è½½ + æç¤ºï¼æ£åï¼ | çå¾
ä»»å¡ç»æ | æ é¢åãæ±æ»å¤§è¡¨å·²çæãï¼æ¾ç¤ºãå·²èªå¨ä¸è½½ï¼æä»¶åï¼å¤§å°ï¼ãï¼æé®åã忬¡ä¸è½½/éæ°çæ/å
³éã | è¿åº¦ 100%ãã宿ããå·²ç¨ 13.5 ç§ï¼æç¤ºãå·²èªå¨ä¸è½½ï¼çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08.xlsx ï¼1.15 MBï¼ãï¼æé®å·²åæ´ | éè¿ | |
| | | | T03 | 宿å**ä¸åæä¾ä¸è½½æé®**ï¼æ£åï¼æ ¸å¿ï¼ | ä»»å¡å®æ | åºé¨åªæãéæ°çæ / å
³éã | åºé¨æé®ä¸ºãéæ°çæ / å
³éãï¼æ ä¸è½½æé® | éè¿ | |
| | | | T04 | å
³éæé®ï¼æ£åï¼ | ç¹ãå
³éã | å¼¹çªæ¶å¤±ãå表页å¯ç»§ç»æä½ | `.el-dialog__wrapper` display=noneï¼å表æ£å¸¸ | éè¿ | |
| | | | T05 | æ§å¶å°æ æ¥éï¼åå½ï¼ | 读å dev logsï¼error/warnï¼ | æ æ°å¢é误 | 0 æ¡ | éè¿ | |
| | | | T06 | å
¶å®æ¥è¡¨å¯¼åºè·¯å¾æªåå½±åï¼åå½ï¼éæï¼ | ââ | åå¼ /æ¹é导åºä»èµ°å `downloadBlob` | æ¬æ¬¡åªæ¹æ±æ»å¤§è¡¨å¼æ¥ä»»å¡åæ¯ï¼`exportChecked` ä¸å
¶å®åæ¯æªå¨ | éè¿ï¼éæï¼ | |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | |
| | | | # | é®é¢ | å¤ç½® | |
| | | | --- | --- | --- | |
| | | | P1 | å¼¹çªæ é¢ä¸æé®ææ¡åçå®ç¶æä¸ç¬¦ï¼å·²å®æä»åãæ£å¨çæãï¼å·²èªå¨ä¸è½½ä»åãä¿åæä»¶ãï¼ | å·²ä¿®ï¼æ é¢éç¶æãæé®ææ¡éä¸è½½ç¶æï¼ | |
| | | | P2 | åä¸ä»½æä»¶è¢«éå¤ä¸è½½/éå¤è¯·æ±å端ï¼1.15 MBï¼ | 已修ï¼èªå¨ä¸è½½åä¸åæ¾ç¤ºä¸è½½æé®ï¼ä»æ ¹ä¸æ¶é¤éå¤ä¸è½½ï¼èªå¨ä¸è½½å¤±è´¥æ¶æåºç°ãä¿åæä»¶ãå
åº | |
| | | | P3 | éªè¯æ¹æ³è®°å½ï¼Element UI æä»½éæ©æ¡æ¯ **readonly** è¾å
¥æ¡ï¼èªå¨åä¸è½ç¨ fill/typeï¼å¿
é¡»å
ç¹å¼å¼¹å±åéæä»½ï¼`setValue` 对该æ§ä»¶æ æ | ä»
è®°å½ä¸ºæµè¯æ¹æ³å¤æ³¨ï¼éç³»ç»ç¼ºé· | |
| | | |
| | | ## äºãç»è®º |
| | | |
| | | - å¼¹çªç°å¨è½æç¡®åè¯ç¨æ·ãå·²èªå¨ä¸è½½äºä»ä¹æä»¶ãå¤å¤§ãï¼æé®è¯ä¹ä¸è¡ä¸ºä¸è´ï¼ã忬¡ä¸è½½ã= ååä¸ä»½ï¼èµ°æ¬å°ç¼åï¼ï¼ |
| | | - éå¤ä¸è½½ä¸åéå¤è¯·æ±å端ï¼ä½éªä¸å¸¦å®½é½æ¹åï¼ |
| | | - çæä¸/已宿/失败ä¸ç§ç¶æå¨æ é¢ãè¿åº¦ãæé®ä¸é½æåºåï¼ |
| | | - æµè§å¨ç«¯å®æµ 6 æ¡ç¨ä¾éè¿ï¼æ æ§å¶å°æ¥éã |
| | | |
| | | æµè¯äººï¼Codexï¼AIï¼ãæµè¯æ¥æï¼2026-09-22 |
| | | |
| | | ## å
ãåæ´è®°å½ï¼ç¨æ·åé¦åè°æ´ï¼ |
| | | |
| | | | çæ¬ | è¡ä¸º | 说æ | |
| | | | --- | --- | --- | |
| | | | v1ï¼09-22 ä¸åï¼ | 宿åèªå¨ä¸è½½ä¸æ¬¡ï¼æé®åã忬¡ä¸è½½ãï¼èµ°å
åç¼åï¼0 请æ±ï¼ | è§£å³äºãéå¤è¯·æ±å端ãï¼ä½ç¨æ·åé¦ï¼**ãå·²ç»ä¸è½½è¿äºå°±ä¸éè¦äºï¼ä¸ºä»ä¹è¿è¦æä¸ä¸ªå次ä¸è½½ã** | |
| | | | **v2ï¼09-22 ä¸åï¼æç»ï¼** | 宿åèªå¨ä¸è½½ä¸æ¬¡ï¼**åºé¨åªä¿çãéæ°çæ / å
³éã**ï¼ä»
å½èªå¨ä¸è½½å¤±è´¥ï¼`taskDownloaded=false`ï¼æ¶ææ¾ç¤ºãä¿åæä»¶ãå
åºæé® | å·²å é¤ã忬¡ä¸è½½ãæé®ä¸å
å Blob ç¼åï¼æç¤ºè¯æ¹ä¸ºãå·²èªå¨ä¸è½½ï¼<æä»¶å>ï¼<大å°>ï¼ï¼æä»¶å¨æµè§å¨é»è®¤ä¸è½½ç®å½ãã | |
| | | |
| | | **v2 æµè§å¨å¤éª**ï¼admin/123456ï¼2026-08ï¼æªå½ä¸ç¼å 13.6 ç§ï¼ï¼çæä¸åºé¨ä¸ºãéæ°çæ(ç¦ç¨)/åå°è¿è¡ãï¼å®æåæ é¢ãæ±æ»å¤§è¡¨å·²çæããæç¤ºãå·²èªå¨ä¸è½½ï¼çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08.xlsx ï¼1.15 MBï¼ï¼æä»¶å¨æµè§å¨é»è®¤ä¸è½½ç®å½ãããåºé¨ä¸ºãéæ°çæ/**å
³é**ãï¼æ§å¶å° 0 æ¥éï¼ç¹ãå
³éãåå¼¹çª `display:none`ã |
| New file |
| | |
| | | # æ°æ®æ¯å¯¹æ¥å â æèµæç»è¡¨ã软件çæãvsã人工çãï¼2026-08ï¼ |
| | | |
| | | > æ¯å¯¹æ¥æï¼2026-09-22 |
| | | > èå´ï¼æ¥è¡¨çæ â æèµ âã客è¿ç«æèµæç»è¡¨ããç©æµç«åºæèµæç»ã |
| | | > æ¹æ³ï¼é页ç¾ãéè¡ãéæ ¼æ°å¼æ¯å¯¹ï¼èæ¬ `_tmp_diff_invest_0922.py`ï¼ï¼å¹¶å溯å°ãæºæä»¶ / æ°æ®åº / åºç¨¿æ¨¡æ¿ã䏿¹å®ä½æ ¹å |
| | | > ååï¼æãé¡µç¾ + è¡ + åãä¸¥æ ¼å¯¹é½ï¼åªåçå®å·®å¼ï¼æµ®ç¹è¡¨ç¤ºå·®å¼ï¼å¦ `783078.1665` ä¸ `783078.1664999999`ï¼ä¸è®¡ |
| | | |
| | | ## ä¸ãæ¯å¯¹æºæä»¶ |
| | | |
| | | | ç±»å | æä»¶ | åè | SHA256(å16) | ä¿®æ¹æ¶é´ | |
| | | | --- | --- | --- | --- | --- | |
| | | | 人工ç-å®¢è¿ | `D:\05_æ°æ®åç±»\æèµ\8æ\8æå®¢è¿ç«æèµæç»è¡¨.xlsx` | 34226 | `0C2150B97B87F860` | 2026-09-01 10:53:39 | |
| | | | 人工ç-ç©æµ | `D:\05_æ°æ®åç±»\æèµ\8æ\8æç©æµç«åºæèµæç».xls` | 122368 | `1B768D2341CADC41` | 2026-09-01 10:53:38 | |
| | | | 软件ç-å®¢è¿ | `D:\æ¡é¢\çææ°æ®\çæ_æéæ¥è¡¨_2026-08 (1)\çæ_客è¿ç«æèµæç»è¡¨.xlsx` | 29462 | `4A2EA9C915E5D107` | 2026-09-22 14:16:28 | |
| | | | 软件ç-ç©æµ | `D:\æ¡é¢\çææ°æ®\çæ_æéæ¥è¡¨_2026-08 (1)\çæ_ç©æµç«åºæèµæç».xls` | 134144 | `F21481D62F680366` | 2026-09-22 14:16:28 | |
| | | | åºç¨¿ï¼å®¢è¿ï¼ | `docs\æèµ\模æ¿\模æ¿_Xæå®¢è¿ç«æèµæç»è¡¨.xlsx` | 34311 | `1926A91E7C416529` | 2026-08-10 15:44:18 | |
| | | | åºç¨¿ï¼ç©æµï¼ | `docs\æèµ\模æ¿\模æ¿_Xæç©æµç«åºæèµæç».xls` | 121856 | `12A61A27B9438E19` | 2026-08-10 15:44:10 | |
| | | |
| | | ç»æå®å
¨ä¸è´ï¼å®¢è¿ãæç»ã121Ã20 +ãæ±æ»ã24Ã5ï¼ç©æµãæ2ã32Ã24ãã åé¡¹ç®æèµå®ææ
åµã192Ã20ããåå¸å·è§åå
å¤é¡¹ç®å®ææ
åµã21Ã8ããå¸å·æ±æ»ã24Ã5ã |
| | | **éè¡æ ¸å¯¹ B åï¼é¡¹ç®åç§°ï¼ï¼ä¸¤ä»½æä»¶ 192/121 è¡å
¨é¨ä¸ä¸å¯¹åºï¼æ å¢è¡ãæ å è¡ãæ éä½**ï¼å æ¤éæ ¼æ¯å¯¹ç»æå¯ç´æ¥ä½¿ç¨ã |
| | | |
| | | ## äºãç»è®ºæè¦ |
| | | |
| | | | æä»¶ | é¡µç¾ | 差弿 ¼æ° | |
| | | | --- | --- | --- | |
| | | | 客è¿ç«æèµæç»è¡¨ | æç» | 12 | |
| | | | 客è¿ç«æèµæç»è¡¨ | æ±æ» | 4 | |
| | | | ç©æµç«åºæèµæç» | æ2 | 0 | |
| | | | ç©æµç«åºæèµæç» | åé¡¹ç®æèµå®ææ
åµ | 108 | |
| | | | ç©æµç«åºæèµæç» | åå¸å·è§åå
å¤é¡¹ç®å®ææ
åµ | 15 | |
| | | | ç©æµç«åºæèµæç» | å¸å·æ±æ» | 17 | |
| | | | **å计** | | **156** | |
| | | |
| | | ### æ ¹å ï¼å·²ç¨æºæä»¶ / æ°æ®åº / åºç¨¿ä¸æ¹è¯æ®éå®ï¼ |
| | | |
| | | **A. è½¯ä»¶å¯¼åº = å¨åºç¨¿ã模æ¿_Xæâ¦æèµæç»ãä¸ï¼æåºå
å½ææ°æ®æã项ç®åç§°ãå¹é
è¦ç H/J/Kï¼ç´¯è®¡/èªå¹´å/æ¬æï¼ä¸ Mï¼å½¢è±¡è¿åº¦ï¼ãå¡å¹é
ä¸ä¸ãæåºå
没æå½ææ°çè¡ï¼ä¸å¾æ²¿ç¨åºç¨¿ï¼ä¸ä¸æï¼æ§å¼ã** |
| | | |
| | | ç±æ¤äº§ç 4 ç±»ç©æµå·®å¼ï¼ |
| | | |
| | | 1. **åºå
没æå½ææ°æ® â æ´æ®µä¿ç䏿å¼**ï¼æ¦æ±å¸ 6 ä¸ªç©æµé¡¹ç®å¨åºå
**䏿¡æåº¦è®°å½é½æ²¡æ**ï¼`investment_monthly` æ¦æ±ç©æµååº 0 è¡ï¼å 为 8 ææ¦æ±æ å表ï¼ï¼æä»¥è½¯ä»¶çæ¦æ± 8 è¡å
¨æ¯åºç¨¿ç 7 ææ°ï¼å计 146313.9/72166/10116ï¼ï¼äººå·¥çæ¯ 155513.9/81366/9200ã |
| | | 2. **项ç®åç§°ä¸ä¸è´ â 该è¡ä¸è¦ç**ï¼åºå
项ç®åæ¯ãä¸å½ä¾é**.**å
¬å®åè´¸ç©æµåãï¼ä¸é´å¤ä¸ä¸ªç¹ï¼ï¼æç»è¡¨è¡åæ¯ãä¸å½ä¾éå
¬å®åè´¸ç©æµåï¼å
¬å®å¿åéééé
ä¸å¿ï¼ãâ å¹é
失败ï¼è½¯ä»¶çä¿çåºç¨¿æ§å¼ 7758.5/7758.5/1600.1ï¼åºå
2026-08 å®é
æ¯ **15986/15986/8227.5**ï¼= æºæä»¶ãèå·ç©æµæèµï¼2026å¹´8ææ¥çï¼ãR21 åå¼ï¼ï¼äººå·¥çæ£ç¡®ã |
| | | 3. **åºå
åååæ¡£ â åå°æ§æ¡£**ï¼åå °ãå¿«éç©æµäº§ä¸åäºæãå¨åºå
æä¸¤æ¡£ ââ `id=154`ãåå °å¸å¿«éç©æµäº§ä¸å**äºæ**ï¼â¦ï¼ã竣工 2026ï¼`id=181`ãåå °å¸å¿«éç©æµäº§ä¸åï¼**äºæ**â¦ï¼ã竣工 2029ãæç»è¡¨è¡åå¯¹åº `id=154`ï¼å
¶ææ°æåº¦åªå° **2026-07**ï¼20081/2900/214ï¼ï¼äºæ¯è½¯ä»¶çåäº 7 æå¼ + 竣工 2026ï¼äººå·¥çç¨çæ¯ `id=181` ç 2026-08ï¼20377/3196/296ï¼ç«£å·¥ 2029ï¼= æºæä»¶ R71 åå¼ã |
| | | 4. **åºå
彿æ°ä¸º 0 â ååº 0**ï¼å¤©é¨ã天é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç®ãåºå
2026-08 ç `start_cum/year_cum/month_done` **齿¯ 0**ï¼èæºæä»¶ã8æä»½ç©æµåä¸å¿å»ºè®¾é¡¹ç®(天é¨).xlsxãR13 æææ¯ **16677.7 / 16677.7 / 500**ï¼è¯´ææ¯**导å
¥ç¯èæè¿ 3 个æ°ä¸¢äº**ï¼äººå·¥çæ£ç¡®ï¼ã |
| | | |
| | | **B. 软件ä¼åãåç»å°è®¡è¡ãã人工çä¸å**ï¼éå·/æ©æ½/仿¡/æ½æ±/æåº/天é¨è¿äºãåªæä¸ä¸ªèµéæ¸ éãçå¸å·ï¼è½¯ä»¶ææ¸ éæå¸å·å计æè¿è¯¥æ¸ éè¡ï¼äººå·¥ç沿ç¨åºç¨¿ç空ç½ãéé¢ä¸å¸å·å计ä¸è´ï¼ä¸å½±åæ»æ°ï¼åªæ¯å¡«è¡¨ä¹ æ¯å·®å¼ã |
| | | |
| | | **C. 软件导åºä¸è¦ç Lï¼å»ºè®¾é¶æ®µï¼çééé¢å**ï¼`D/E/F/I/L` ä¿çåºç¨¿å¼ãæä»¥é»ç³å¤§å¶æ¹å·é¾ L=æåãåå °æ¢çº½ L=åæãè¥é³å·é¾ä¸å¿ L=å¨å»ºãéå·æ°çç©èµ M çã2026å¹´07æâ¦ãç齿¯**ä¸ä¸æåºç¨¿çæ®ç**ï¼äººå·¥çè¿å å¤åèæ¯å¯¹çï¼ã |
| | | |
| | | **D. 客è¿é¨åçå·®å¼ä¸»è¦æ¯ã人工çæååèäºå
¥ã**ï¼åºç¨¿é 203 / 203 è¿ç±»æåæ´æ°ï¼äººå·¥ç沿ç¨äºï¼è½¯ä»¶ææºè¡¨åå¼å 202.9565ã |
| | | |
| | | ## ä¸ã客è¿ç«æèµæç»è¡¨å·®å¼ï¼16 æ ¼ï¼ |
| | | |
| | | ### 3.1 éé¢å·®å¼ 12 æ ¼ï¼æç» 8 æ ¼ + æ±æ» 4 æ ¼ï¼å®è´¨åå¼ï¼äººå·¥çåæ´ï¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | 说æ | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | R9 | H9 | å 计ï¼èªå¼å§å»ºè®¾ç´¯è®¡ï¼ | 622591.3 | 622591.2565 | 人工çåèäºå
¥å° 1 ä½ | |
| | | | R9 | J9 | å 计ï¼èªå¹´åç´¯è®¡ï¼ | 43225.9 | 43225.8565 | åä¸ | |
| | | | R42 | H42 | è¥é³å¸ï¼å¸å·è¡ï¼ | 27985.3 | 27985.2565 | åä¸ | |
| | | | R42 | J42 | è¥é³å¸ï¼å¸å·è¡ï¼ | 2531 | 2530.9565 | åä¸ | |
| | | | R49 | H49 | ä¸ãåæç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | åºç¨¿æåå¼ 203 | |
| | | | R49 | J49 | ä¸ãåæç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | åºç¨¿æåå¼ 203 | |
| | | | R50 | H50 | è¥å·åºç¨æ²³éå å£ç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | åºç¨¿æåå¼ 203 | |
| | | | R50 | J50 | è¥å·åºç¨æ²³éå å£ç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | åºç¨¿æåå¼ 203 | |
| | | | R7 | C7 | æ±æ»-å计ï¼èªå¹´åç´¯è®¡ï¼ | 43225.9 | 43225.8565 | é H/J åæ´ | |
| | | | R7 | E7 | æ±æ»-å计ï¼å 年度计å%ï¼ | 59.2307223257 | 59.2306627194 | ç±åæ´æ´¾ç | |
| | | | R12 | C12 | æ±æ»-è¥é³ï¼èªå¹´åç´¯è®¡ï¼ | 2531 | 2530.9565 | ç±åæ´æ´¾ç | |
| | | | R12 | E12 | æ±æ»-è¥é³ï¼å 年度计å%ï¼ | 125.6927752726 | 125.6906150057 | ç±åæ´æ´¾ç | |
| | | |
| | | ### 3.2 ææ¬å·®å¼ 4 æ ¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | æ ¸å¯¹ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | R26 | M26 | é§è¥¿å¿å®¢è¿æ¢ä¹ä¸å¿ï¼å½¢è±¡è¿åº¦ï¼ | ï¼ç©ºï¼ | æ¢ä¹ä¸å¿ç»æå°é¡¶ï¼å
å¢å®æï¼é
å¥è®¾æ½å·²å®å | **软件对**ï¼æºæä»¶ãåå °å¸2026å¹´8æåºå®èµäº§ææ¥çµåçæèµè¡¨æ ¼.xlsxãR12 Mãåºå
2026-08 `progress_desc` å为该æåï¼äººå·¥ç沿ç¨åºç¨¿ç空 | |
| | | | R85 | M85 | éå±±å¿çå¦å®¢è¿ç«ï¼ä¸çº§ç«ï¼ | ï¼ç©ºï¼ | å建工ç¨åºç¡ | **软件对**ï¼æºæä»¶ã2026å¹´8æå¸å®å¸å®¢è¿ç«åºæèµç»è®¡ææ¥è¡¨(1)ç表.xlsãR15 Mãåºå
2026-08 å为ãå建工ç¨åºç¡ãï¼äººå·¥ç空 | |
| | | | R91 | L91 | 大å¹ä¹¡ç»¼åè¿è¾æå¡ç«ï¼å»ºè®¾é¶æ®µï¼ | å¨å»º | æåæ½å·¥ | **äººå·¥çæ´æ¥è¿**ï¼æºè¡¨ R20 L=䏻使½å·¥ãåºå
8 æ `progress_stage`=䏻使½å·¥ï¼è½¯ä»¶çãæåæ½å·¥ãæ¥èªåºç¨¿ R91 çæ§å¼ï¼å¯¼åºä¸è¦ç L åï¼ | |
| | | | R116 | M116 | ç¥åæ¶æ¢çº½ç« | 建ææäº§ | 建ææäº§ã | ä»
å¤ä¸ä¸ªå¥å·ï¼è½¯ä»¶=åºå
å¼ï¼ï¼æ å®è´¨å·®å¼ | |
| | | |
| | | > 注ï¼M26/M85 两å¤äººå·¥çä¸ºç©ºï¼æ¯ãäººå·¥çæ²¡ææºè¡¨ç形象è¿åº¦è¡¥è¿å»ãï¼L91 æ¯ã软件çæåºç¨¿æ§çå»ºè®¾é¶æ®µç䏿¥äºãã |
| | | |
| | | ## åãç©æµç«åºæèµæç»å·®å¼ï¼140 æ ¼ï¼ |
| | | |
| | | ### 4.1 éé¢å·®å¼æå¸å·æ±æ»ï¼è¿æ¯è¦å¤ççéç¹ï¼ |
| | | |
| | | | å¸å· | é¡¹ç® | 人工ç | 软件ç | å·® | æ ¸å¯¹ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | æ¦æ± | å¸å·è¡ 累计/èªå¹´å/æ¬æ | 155513.9 / 81366 / 9200 | 146313.9 / 72166 / 10116 | â9200 / â9200 / +916 | **人工ç对**ï¼åºå
æ æ¦æ±ç©æµå½ææ°ï¼è½¯ä»¶çæ¯åºç¨¿ 7 æå¼ | |
| | | | åå ° | å¸å·è¡ 累计/èªå¹´å/æ¬æ | 81182 / 29482 / 1671 | 80888 / 29188 / 1591 | â294 / â294 / â80 | å·® 294 å
¨é¨æ¥èªãå¿«éç©æµäº§ä¸åäºæãï¼è¯¦è§ 4.2ï¼ | |
| | | | èå· | å¸å·è¡ 累计/èªå¹´å/æ¬æ | 311700.5 / 46548 / 8606 | 303473 / 38320.5 / 1978.6 | â8227.5 / â8227.5 / â6627.4 | **人工ç对**ï¼å·® 8227.5 æ¥èªãä¸å½ä¾éå
¬å®åè´¸ç©æµåãï¼è¯¦è§ 4.2ï¼ | |
| | | | å¤©é¨ | å¸å·è¡ 累计/èªå¹´å/æ¬æ | 16677.7 / 16677.7 / 500 | ï¼ç©ºï¼ | | **人工ç对**ï¼æºæä»¶æå¼ï¼åºå
è¢«åæ 0 | |
| | | | éå·/æ©æ½/仿¡/æ½æ±/æåº | ä»
åç»å°è®¡è¡ | ï¼ç©ºï¼ | = å¸å·å计 | 0 | å¡«è¡¨ä¹ æ¯å·®å¼ï¼éé¢ä¸å²çª | |
| | | | å计 | 累计/èªå¹´å/æ¬æ | 2064669.55 / 789311.6 / 89644.1 | 2030270.35 / 754912.4 / 83352.7 | â34399.2 / â34399.2 / â6291.4 | æ±æ»ä»¥ä¸å项 | |
| | | |
| | | ### 4.2 ä¸ä¸ªãæéæ°ãçè¡ï¼å¿
é¡»ä¿®ï¼ |
| | | |
| | | | é¡¹ç® | åæ®µ | 人工ç | 软件ç | åºå
2026-08 | æºæä»¶ | ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | --- | |
| | | | åå °å¸å¿«éç©æµäº§ä¸åäºæï¼åå °å¸ç©æµæ¢çº½éçè¿åºå°ï¼ | 竣工/累计/èªå¹´å/æ¬æ/形象è¿åº¦ | 2029 / 20377 / 3196 / 296 /ãâ¦B3æ°å»ºåºç¡æ½å·¥ãB4åæ¿å¤ç«é¢è£
饰è£
ä¿®æ½å·¥ãã | 2026 / 20081 / 2900 / 214 /ãâ¦B3ãB7æ°å»ºåºç¡æ½å·¥ãã | `id=181` = 20377/3196/296ï¼`id=154` ææ°åªå° 2026-07 = 20081/2900/214 | åå °æ±æ»è¡¨ R71 = 2029/20377/3196/296 | **软件çæäºæ§æ¡£ `id=154`**ï¼åºå
åå¹¶/å éå¤é¡¹ç®ä¸»æ¡£ | |
| | | | ä¸å½ä¾éå
¬å®åè´¸ç©æµåï¼å
¬å®å¿åéééé
ä¸å¿ï¼ | 累计/èªå¹´å/æ¬æ/形象è¿åº¦ | 15986 / 15986 / 8227.5 /ãæ¯ä»åå°æ¬¾ï¼å®æå建â¦ã | 7758.5 / 7758.5 / 1600.1 /ã宿å建ãè£
饰â¦ã | 15986 / 15986 / 8227.5 /ãæ¯ä»åå°æ¬¾ï¼å®æå建â¦ã | èå· 8 ææ¥ç R21 åä¸ | **软件çå 项ç®åä¸å¹é
æªè¦ç**ï¼åºå
åå¤ä¸ä¸ªç¹ï¼ï¼ç¨äºåºç¨¿ 7 æå¼ | |
| | | | 天é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç® | 累计/èªå¹´å/æ¬æ | 16677.7 / 16677.7 / 500 | 0 / 0 / 0 | 0 / 0 / 0ï¼å¯¼å
¥åæ 0ï¼ | å¤©é¨ 8 ææºæä»¶ R13 = 16677.7 / 16677.7 / 500 | **导å
¥ä¸¢æ°**ï¼ä¸æ¯å¯¼åºé®é¢ï¼ï¼é修导å
¥ + éå¯¼å¤©é¨ | |
| | | |
| | | ### 4.3 ææ¬ä¸å段差å¼ï¼å»ºè®¾æ§è´¨ / å»ºè®¾é¶æ®µ / 形象è¿åº¦ / å·¥æï¼ |
| | | |
| | | | è¡ | å | é¡¹ç® / ä½ç½® | 人工ç | 软件ç | æ ¸å¯¹ç»è®º | |
| | | | --- | --- | --- | --- | --- | --- | |
| | | | R27 | L27 | é»ç³å¤§å¶æ¹é«æ°åºæºæ
§å·é¾ç©æµå | å¨å»º | æå | æºè¡¨/åºå
=å¨å»ºï¼è½¯ä»¶=åºç¨¿æ§å¼ãæåã | |
| | | | R35 | L35 | åå °ç产æå¡åå½å®¶ç©æµæ¢çº½å·¥ç¨é¡¹ç® | å¨å»º | åæ | æºè¡¨/åºå
=å¨å»ºï¼è½¯ä»¶=åºç¨¿æ§å¼ãåæã | |
| | | | R75 | L75 | è¥é³é«æ°åºç©æµåå±ä¸å¿é¡¹ç®âå·é¾äº§ä¸éæä¸å¿ | å®å·¥ | å¨å»º | æºè¡¨ R17 L=å®å·¥ï¼è½¯ä»¶=åºç¨¿æ§å¼ | |
| | | | R47 | M47 | ç§å½å¿èæ©äº§ä¸ç»¼åç©æµä¸å¿ | å®å·¥ | äºæä¸»ä½å·¥ç¨å®æï¼æ£å¨è¿è¡é
å¥å·¥ç¨æ½å·¥ã | 软件=æºè¡¨/åºå
åæï¼äººå·¥çåäºç®å | |
| | | | R48 | D48 | å®é½ä¾éåè´¸ç©æµåï¼å»ºè®¾æ§è´¨ï¼ | ç»å»º | æ°å»º | æºè¡¨ R7 D=ç»å»º â 人工ç对 | |
| | | | R49 | D49 | é¿é³å¿å乡å·é¾ç©æµååå
¶é
å¥è®¾æ½å»ºè®¾é¡¹ç® | ç»å»º | æ°å»º | æºè¡¨ R8 D=ç»å»º â 人工ç对 | |
| | | | R51 | D51 | æ¨å®¶å±ç«ç©æµè®¾å¤æ´æ°æ¹é é¡¹ç® | æ¹å»º | æ°å»º | æºè¡¨ R10 D=æ°å»º â 软件对 | |
| | | | R67 | F67 | ä¼ åéè¥¿åæºæ
§ç©æµä¸å¿é¡¹ç®ï¼ç«£å·¥æ¶é´ï¼ | 46539ï¼æ¥æ 2027-06-01ï¼ | 2026å¹´10æ | æºè¡¨ R7 F=ã2027å¹´6æãâ 人工ç对ï¼è½¯ä»¶ç弿¥æºä¸æ | |
| | | | R75 | E75/F75 | è¥é³é«æ°åºç©æµåå±ä¸å¿é¡¹ç® | 45292 / 46600ï¼æ¥ææ ¼å¼ï¼ | 2024 / 2027 | æ°å¼åä¹ï¼2024å¹´1æ / 2027å¹´8æï¼ï¼å±æ ¼å¼å·®å¼ | |
| | | | R51âR54 | M51âM54 | 宿 4 个项ç®å½¢è±¡è¿åº¦ | 䏻使½å·¥ | 䏻使½å·¥ã | ä»
å¥å·ï¼æºè¡¨å¸¦å¥å·ï¼ | |
| | | | R82 | M82 | æ¦æ±ä¸å¨Â·åä¸å·é¾æ¸¯ | ï¼ç©ºï¼ | å·åºä¸»ä½æ½å·¥ | 软件=æºè¡¨/åºå
ï¼äººå·¥ç空ï¼åºç¨¿ç©ºï¼ | |
| | | | R94 | M94 | æ¹åæå³°å½é
ç©æµå | â¦æ£å¼æå
¥è¿è¥ | â¦æ£å¼æå
¥è¿è¥ã | ä»
å¥å· | |
| | | | R119 | M119 | ä¸å½ä¾éå
¬å®åè´¸ç©æµå | æ¯ä»åå°æ¬¾ï¼å®æå建⦠| 宿å建ãè£
饰⦠| è§ 4.2 | |
| | | | R136 | M136 | æ¦æ±åä¼ ååå¸ç©æµä¸å¿ | 建设é
å¥åå
¬åé£å ï¼ä¸æå·²å®å·¥ | 建设é
å¥åå
¬åé£å | 人工çå¤ã䏿已å®å·¥ãï¼åºç¨¿ L ååæ ·åçã䏿已å®å·¥ãï¼ | |
| | | | R145 | M145 | åº·åæºæ
§ç©æµå | æ¬ææ 建设å
容 | æ¬ææ 建设è¿å± | æªè¾ä¸åï¼éä¸å¡å®ç¨¿ | |
| | | | R156 | M156 | æ°çç©èµåå¸é
éåä»å¨ç©æµå»ºè®¾é¡¹ç® | 2026å¹´07æâ¦7ææèµé¢ï¼53ä¸å
æ´ | 2026å¹´08æâ¦ | **软件对**ï¼åºå
8 æåæï¼ï¼äººå·¥çæ¯ 7 ææåæªæ´æ° | |
| | | | R184 | M184 | 天é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç® | 1.2.3#åæ¿å¨å´éè·¯ç ¼æµçå®æâ¦ | 4æ åæ¿åå
¬å®¤ï¼å«çé´â¦ | 两份åå«åèªæºè¡¨ç两个ä¸åä½ç½®ï¼æºè¡¨åæ¶å«ä¸¤æ®µï¼ | |
| | | | R92 | M92 | æ²æ´å¤å¼èè¿ç°ä»£ç©æµå | é¿ææ¬ | é¿ææ¬ | å
容æå¢å ï¼æºè¡¨ 8 æä¸ºè½¯ä»¶çï¼ | |
| | | |
| | | ### 4.4 ã0ãä¸ã空ç½ãç忳差å¼ï¼ä¸å½±åéé¢ï¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | |
| | | | --- | --- | --- | --- | --- | |
| | | | R41 | I41 / K41 | åå ° åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 0 / 0 | ï¼ç©ºï¼ | |
| | | | R96 | K96 | èé¨ åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 0 | ï¼ç©ºï¼ | |
| | | | R175 | K175 | æ½æ±ï¼å¸å·è¡ï¼ | 0 | ï¼ç©ºï¼ | |
| | | | R187 | K187 | æåºï¼å¸å·è¡ï¼ | 0 | ï¼ç©ºï¼ | |
| | | | R8 | G8 / H8 | åå¸å·è§åå
å¤-è¥é³ï¼è§åå¤é¡¹ç®ä¸ªæ°/æèµï¼ | 0 / 0 | ï¼ç©ºï¼ | |
| | | | R18 | E18 | åå¸å·è§åå
å¤-æ½æ± | 0 | ï¼ç©ºï¼ | |
| | | | R22 / R24 | D22 / D24 | å¸å·æ±æ»-æ½æ± / æåºï¼æ¬æå®æï¼ | 0 | ï¼ç©ºï¼ | |
| | | |
| | | ### 4.5 å
¨é差弿¸
åï¼156 æ ¼ï¼ |
| | | |
| | | #### 客è¿-æç»ï¼é¡µç¾ãæç»ãï¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | |
| | | | --- | --- | --- | --- | --- | |
| | | | R9 | H9 | å 计 | 622591.3 | 622591.2565 | |
| | | | R9 | J9 | å 计 | 43225.9 | 43225.8565 | |
| | | | R26 | M26 | é§è¥¿å¿å®¢è¿æ¢ä¹ä¸å¿ | (空) | æ¢ä¹ä¸å¿ç»æå°é¡¶ï¼å
å¢å®æï¼é
å¥è®¾æ½å·²å®å | |
| | | | R42 | H42 | è¥é³å¸ï¼å¸å·è¡ï¼ | 27985.3 | 27985.2565 | |
| | | | R42 | J42 | è¥é³å¸ï¼å¸å·è¡ï¼ | 2531 | 2530.9565 | |
| | | | R49 | H49 | ä¸ãåæç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | |
| | | | R49 | J49 | ä¸ãåæç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | |
| | | | R50 | H50 | è¥å·åºç¨æ²³éå å£ç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | |
| | | | R50 | J50 | è¥å·åºç¨æ²³éå å£ç»¼åè¿è¾æå¡ç« | 203 | 202.9565 | |
| | | | R85 | M85 | éå±±å¿çå¦å®¢è¿ç«ï¼ä¸çº§ç«ï¼ | (空) | å建工ç¨åºç¡ | |
| | | | R91 | L91 | 大å¹ä¹¡ç»¼åè¿è¾æå¡ç« | å¨å»º | æåæ½å·¥ | |
| | | | R116 | M116 | ç¥åæ¶æ¢çº½ç« | 建ææäº§ | 建ææäº§ã | |
| | | |
| | | #### 客è¿-æ±æ»ï¼é¡µç¾ãæ±æ»ãï¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | |
| | | | --- | --- | --- | --- | --- | |
| | | | R7 | C7 | å计 | 43225.9 | 43225.8565 | |
| | | | R7 | E7 | å计 | 59.2307223257 | 59.2306627194 | |
| | | | R12 | C12 | è¥é³ | 2531 | 2530.9565 | |
| | | | R12 | E12 | è¥é³ | 125.6927752726 | 125.6906150057 | |
| | | |
| | | #### ç©æµ-åé¡¹ç®æèµå®ææ
åµï¼é¡µç¾ã åé¡¹ç®æèµå®ææ
åµãï¼å
± 108 æ ¼ï¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | |
| | | | --- | --- | --- | --- | --- | |
| | | | R7 | H7 | å计 | 2064669.55 | 2030270.35 | |
| | | | R7 | J7 | å计 | 789311.6 | 754912.4 | |
| | | | R7 | K7 | å计 | 89644.1 | 83352.7 | |
| | | | R8 | H8 | æ¦æ±ï¼å¸å·è¡ï¼ | 155513.9 | 146313.9 | |
| | | | R8 | J8 | æ¦æ±ï¼å¸å·è¡ï¼ | 81366 | 72166 | |
| | | | R8 | K8 | æ¦æ±ï¼å¸å·è¡ï¼ | 9200 | 10116 | |
| | | | R11 | H11 | æ¦æ± ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 129483.9 | 122383.9 | |
| | | | R11 | J11 | æ¦æ± ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 55336 | 48236 | |
| | | | R11 | K11 | æ¦æ± ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 7100 | 6716 | |
| | | | R12 | H12 | æ¦æ± èªåæºæ
§ç©æµå | 62081.8 | 59081.8 | |
| | | | R12 | J12 | æ¦æ± èªåæºæ
§ç©æµå | 17475 | 14475 | |
| | | | R12 | K12 | æ¦æ± èªåæºæ
§ç©æµå | 3000 | 2500 | |
| | | | R13 | K13 | æ¦æ± ä¸éä¾åºé¾æ¹å管çä¸å¿é¡¹ç® | 0 | 416 | |
| | | | R14 | H14 | æ¦æ± é³é»æ¸¯éæ°´èè¿äºæä¸æ¬§çåéç»ä¸å¿ | 6400 | 6100 | |
| | | | R14 | J14 | æ¦æ± é³é»æ¸¯éæ°´èè¿äºæä¸æ¬§çåéç»ä¸å¿ | 6400 | 6100 | |
| | | | R15 | H15 | æ¦æ± æå
ééåä¸ç©æµæ¢çº½åºå°é¡¹ç® | 27746 | 23946 | |
| | | | R15 | J15 | æ¦æ± æå
ééåä¸ç©æµæ¢çº½åºå°é¡¹ç® | 27746 | 23946 | |
| | | | R15 | K15 | æ¦æ± æå
ééåä¸ç©æµæ¢çº½åºå°é¡¹ç® | 3800 | 3500 | |
| | | | R16 | H16 | æ¦æ± åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 26030 | 23930 | |
| | | | R16 | J16 | æ¦æ± åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 26030 | 23930 | |
| | | | R16 | K16 | æ¦æ± åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 2100 | 3400 | |
| | | | R17 | H17 | æ¦æ± æ¹åè¿ç¿è¾¾ä¾åºé¾æ»é¨ç ååç产åºå°é¡¹ç® | 17730 | 16630 | |
| | | | R17 | J17 | æ¦æ± æ¹åè¿ç¿è¾¾ä¾åºé¾æ»é¨ç ååç产åºå°é¡¹ç® | 17730 | 16630 | |
| | | | R17 | K17 | æ¦æ± æ¹åè¿ç¿è¾¾ä¾åºé¾æ»é¨ç ååç产åºå°é¡¹ç® | 1100 | 2900 | |
| | | | R18 | H18 | æ¦æ± åä¸å°åºåå¦åä»åºé¡¹ç® | 8300 | 7300 | |
| | | | R18 | J18 | æ¦æ± åä¸å°åºåå¦åä»åºé¡¹ç® | 8300 | 7300 | |
| | | | R18 | K18 | æ¦æ± åä¸å°åºåå¦åä»åºé¡¹ç® | 1000 | 500 | |
| | | | R27 | L27 | é»ç³ é»ç³å¤§å¶æ¹é«æ°åºæºæ
§å·é¾ç©æµå | å¨å»º | æå | |
| | | | R31 | H31 | åå °ï¼å¸å·è¡ï¼ | 81182 | 80888 | |
| | | | R31 | J31 | åå °ï¼å¸å·è¡ï¼ | 29482 | 29188 | |
| | | | R31 | K31 | åå °ï¼å¸å·è¡ï¼ | 1671 | 1591 | |
| | | | R34 | H34 | åå ° ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 80152 | 79858 | |
| | | | R34 | J34 | åå ° ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 28452 | 28158 | |
| | | | R34 | K34 | åå ° ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 1671 | 1591 | |
| | | | R35 | H35 | åå ° åå °ç产æå¡åå½å®¶ç©æµæ¢çº½å·¥ç¨é¡¹ç® | 11047 | 11049 | |
| | | | R35 | J35 | åå ° åå °ç产æå¡åå½å®¶ç©æµæ¢çº½å·¥ç¨é¡¹ç® | 589 | 591 | |
| | | | R35 | K35 | åå ° åå °ç产æå¡åå½å®¶ç©æµæ¢çº½å·¥ç¨é¡¹ç® | 0 | 2 | |
| | | | R35 | L35 | åå ° åå °ç产æå¡åå½å®¶ç©æµæ¢çº½å·¥ç¨é¡¹ç® | å¨å»º | åæ | |
| | | | R36 | F36 | åå ° åå °å¸å¿«éç©æµäº§ä¸åäºæï¼åå °å¸ç©æµæ¢çº½éçè¿åºå°ï¼ | 2029 | 2026 | |
| | | | R36 | H36 | åå ° åå °å¸å¿«éç©æµäº§ä¸åäºæï¼åå °å¸ç©æµæ¢çº½éçè¿åºå°ï¼ | 20377 | 20081 | |
| | | | R36 | J36 | åå ° åå °å¸å¿«éç©æµäº§ä¸åäºæï¼åå °å¸ç©æµæ¢çº½éçè¿åºå°ï¼ | 3196 | 2900 | |
| | | | R36 | K36 | åå ° åå °å¸å¿«éç©æµäº§ä¸åäºæï¼åå °å¸ç©æµæ¢çº½éçè¿åºå°ï¼ | 296 | 214 | |
| | | | R36 | M36 | åå ° åå °å¸å¿«éç©æµäº§ä¸åäºæï¼åå °å¸ç©æµæ¢çº½éçè¿åºå°ï¼ | â¦B3æ°å»ºåºç¡æ½å·¥ãB4åæ¿å¤ç«é¢è£
饰è£
ä¿®æ½å·¥ã | â¦B3ãB7æ°å»ºåºç¡æ½å·¥ã | |
| | | | R41 | I41 | åå ° åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 0 | (空) | |
| | | | R41 | K41 | åå ° åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 0 | (空) | |
| | | | R47 | M47 | 宿 ç§å½å¿èæ©äº§ä¸ç»¼åç©æµä¸å¿ | å®å·¥ | äºæä¸»ä½å·¥ç¨å®æï¼æ£å¨è¿è¡é
å¥å·¥ç¨æ½å·¥ã | |
| | | | R48 | D48 | 宿 å®é½ä¾éåè´¸ç©æµå | ç»å»º | æ°å»º | |
| | | | R49 | D49 | 宿 é¿é³å¿å乡å·é¾ç©æµååå
¶é
å¥è®¾æ½å»ºè®¾é¡¹ç® | ç»å»º | æ°å»º | |
| | | | R51 | D51 | 宿 æ¨å®¶å±ç«ç©æµè®¾å¤æ´æ°æ¹é é¡¹ç® | æ¹å»º | æ°å»º | |
| | | | R51 | M51 | 宿 æ¨å®¶å±ç«ç©æµè®¾å¤æ´æ°æ¹é é¡¹ç® | 䏻使½å·¥ | 䏻使½å·¥ã | |
| | | | R52 | M52 | 宿 ä¸å³¡ä¸´ç©ºåè´¸ç©æµå | 䏻使½å·¥ | 䏻使½å·¥ã | |
| | | | R53 | M53 | 宿 æ¹åç¦æ»æºé£åæéå
¬å¸æ°´ææ·±å å·¥åæºæ
§å·é¾ç©æµä»å¨é¡¹ç® | 䏻使½å·¥ | 䏻使½å·¥ã | |
| | | | R54 | M54 | 宿 ææ±å¸é¡¾å®¶åºä»å¨ç©æµä¸å¿ï¼ä¸æï¼ | 䏻使½å·¥ | 䏻使½å·¥ã | |
| | | | R67 | F67 | è¥é³ ä¼ åéè¥¿åæºæ
§ç©æµä¸å¿é¡¹ç® | 46539ï¼2027-06-01ï¼ | 2026å¹´10æ | |
| | | | R75 | E75 | è¥é³ è¥é³é«æ°åºç©æµåå±ä¸å¿é¡¹ç®âå·é¾äº§ä¸éæä¸å¿ | 45292ï¼2024-01-01ï¼ | 2024 | |
| | | | R75 | F75 | è¥é³ è¥é³é«æ°åºç©æµåå±ä¸å¿é¡¹ç®âå·é¾äº§ä¸éæä¸å¿ | 46600ï¼2027-08-01ï¼ | 2027 | |
| | | | R75 | L75 | è¥é³ è¥é³é«æ°åºç©æµåå±ä¸å¿é¡¹ç®âå·é¾äº§ä¸éæä¸å¿ | å®å·¥ | å¨å»º | |
| | | | R80 | G80 | éå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 270490 | |
| | | | R80 | H80 | éå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 169345.2 | |
| | | | R80 | I80 | éå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 21000 | |
| | | | R80 | J80 | éå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 12289.1 | |
| | | | R80 | K80 | éå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 1250 | |
| | | | R82 | M82 | éå· æ¦æ±ä¸å¨Â·åä¸å·é¾æ¸¯ | (空) | å·åºä¸»ä½æ½å·¥ | |
| | | | R92 | M92 | èé¨ æ²æ´å¤å¼èè¿ç°ä»£ç©æµå | ï¼é¿ææ¬ï¼è§æºæä»¶å·®å¼ï¼ | ï¼é¿ææ¬ï¼ | |
| | | | R94 | M94 | èé¨ æ¹åæå³°å½é
ç©æµå | â¦æ£å¼æå
¥è¿è¥ | â¦æ£å¼æå
¥è¿è¥ã | |
| | | | R96 | K96 | èé¨ åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | 0 | (空) | |
| | | | R110 | H110 | èå·ï¼å¸å·è¡ï¼ | 311700.5 | 303473 | |
| | | | R110 | J110 | èå·ï¼å¸å·è¡ï¼ | 46548 | 38320.5 | |
| | | | R110 | K110 | èå·ï¼å¸å·è¡ï¼ | 8606 | 1978.6 | |
| | | | R113 | H113 | èå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 84799.7 | 76572.2 | |
| | | | R113 | J113 | èå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 22044.6 | 13817.1 | |
| | | | R113 | K113 | èå· ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | 8441 | 1813.6 | |
| | | | R119 | H119 | èå· ä¸å½ä¾éå
¬å®åè´¸ç©æµåï¼å
¬å®å¿åéééé
ä¸å¿ï¼ | 15986 | 7758.5 | |
| | | | R119 | J119 | èå· ä¸å½ä¾éå
¬å®åè´¸ç©æµåï¼å
¬å®å¿åéééé
ä¸å¿ï¼ | 15986 | 7758.5 | |
| | | | R119 | K119 | èå· ä¸å½ä¾éå
¬å®åè´¸ç©æµåï¼å
¬å®å¿åéééé
ä¸å¿ï¼ | 8227.5 | 1600.1 | |
| | | | R119 | M119 | èå· ä¸å½ä¾éå
¬å®åè´¸ç©æµåï¼å
¬å®å¿åéééé
ä¸å¿ï¼ | æ¯ä»åå°æ¬¾ï¼å®æå建ãè£
é¥°ãæºçµãæ¶é²ã叿¿çå·¥ç¨ | 宿å建ãè£
é¥°ãæºçµãæ¶é²ã叿¿çå·¥ç¨ | |
| | | | R136 | M136 | é»å æ¦æ±åä¼ ååå¸ç©æµä¸å¿ | 建设é
å¥åå
¬åé£å ï¼ä¸æå·²å®å·¥ | 建设é
å¥åå
¬åé£å | |
| | | | R145 | M145 | å¸å® åº·åæºæ
§ç©æµå | æ¬ææ 建设å
容 | æ¬ææ 建设è¿å± | |
| | | | R156 | M156 | éå· æ°çç©èµåå¸é
éåä»å¨ç©æµå»ºè®¾é¡¹ç® | 2026å¹´07æâ¦ï¼7 ææåï¼ | 2026å¹´08æâ¦ï¼8 ææåï¼ | |
| | | | R160 | G160 | æ©æ½ ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 308255 | |
| | | | R160 | H160 | æ©æ½ ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 126741 | |
| | | | R160 | I160 | æ©æ½ ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 49800 | |
| | | | R160 | J160 | æ©æ½ ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 41574 | |
| | | | R160 | K160 | æ©æ½ ä¸ã纳å
¥è§åæªä½¿ç¨çé¨çº§èµéå»ºè®¾é¡¹ç® | (空) | 2116 | |
| | | | R170 | G170 | 仿¡ äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 123710.5 | |
| | | | R170 | H170 | 仿¡ äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 29403 | |
| | | | R170 | I170 | 仿¡ äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 39200 | |
| | | | R170 | J170 | 仿¡ äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 29403 | |
| | | | R170 | K170 | 仿¡ äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 3782 | |
| | | | R175 | K175 | æ½æ±ï¼å¸å·è¡ï¼ | 0 | (空) | |
| | | | R179 | G179 | æ½æ± åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | (空) | 22000 | |
| | | | R179 | H179 | æ½æ± åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | (空) | 11947.9 | |
| | | | R179 | I179 | æ½æ± åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | (空) | 12000 | |
| | | | R179 | J179 | æ½æ± åã使ç¨ç¤¾ä¼èµéå»ºè®¾é¡¹ç® | (空) | 1135 | |
| | | | R181 | H181 | 天é¨ï¼å¸å·è¡ï¼ | 16677.7 | (空) | |
| | | | R181 | J181 | 天é¨ï¼å¸å·è¡ï¼ | 16677.7 | (空) | |
| | | | R181 | K181 | 天é¨ï¼å¸å·è¡ï¼ | 500 | (空) | |
| | | | R183 | G183 | å¤©é¨ äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 36835 | |
| | | | R183 | I183 | å¤©é¨ äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 30635 | |
| | | | R184 | H184 | å¤©é¨ å¤©é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç® | 16677.7 | 0 | |
| | | | R184 | J184 | å¤©é¨ å¤©é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç® | 16677.7 | 0 | |
| | | | R184 | K184 | å¤©é¨ å¤©é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç® | 500 | 0 | |
| | | | R184 | M184 | å¤©é¨ å¤©é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç® | 1.2.3#åæ¿å¨å´éè·¯ç ¼æµçå®æâ¦æ¥å
¥å¸æ¿é¨æ±¡æ°´å£ç®¡é | 4æ åæ¿åå
¬å®¤â¦åå·åæ¿ç ä½å¢å®æäºæç»æå®æã | |
| | | | R187 | K187 | æåºï¼å¸å·è¡ï¼ | 0 | (空) | |
| | | | R189 | G189 | æåº äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 7440.35 | |
| | | | R189 | H189 | æåº äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 7535.45 | |
| | | | R189 | I189 | æåº äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 31 | |
| | | | R189 | J189 | æåº äºã使ç¨ççæ²¹ç¨è¿è¿èµéå»ºè®¾é¡¹ç® | (空) | 26.1 | |
| | | |
| | | #### ç©æµ-åå¸å·è§åå
å¤é¡¹ç®å®ææ
åµï¼15 æ ¼ï¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | |
| | | | --- | --- | --- | --- | --- | |
| | | | R4 | D4 | æ¦æ± | 81366 | 72166 | |
| | | | R4 | F4 | æ¦æ± | 55336 | 48236 | |
| | | | R4 | H4 | æ¦æ± | 26030 | 23930 | |
| | | | R6 | D6 | åå ° | 29482 | 29188 | |
| | | | R6 | F6 | åå ° | 28452 | 28158 | |
| | | | R8 | G8 | è¥é³ | 0 | (空) | |
| | | | R8 | H8 | è¥é³ | 0 | (空) | |
| | | | R12 | D12 | èå· | 46548 | 38320.5 | |
| | | | R12 | F12 | èå· | 22044.6 | 13817.1 | |
| | | | R18 | E18 | æ½æ± | 0 | (空) | |
| | | | R19 | D19 | å¤©é¨ | 16677.7 | (空) | |
| | | | R19 | F19 | å¤©é¨ | 16677.7 | (空) | |
| | | | R21 | D21 | å计 | 789311.6 | 754912.4 | |
| | | | R21 | F21 | å计 | 661947 | 629647.8 | |
| | | | R21 | H21 | å计 | 127364.6 | 125264.6 | |
| | | |
| | | #### ç©æµ-å¸å·æ±æ»ï¼17 æ ¼ï¼ |
| | | |
| | | | è¡ | å | ä½ç½® | 人工ç | 软件ç | |
| | | | --- | --- | --- | --- | --- | |
| | | | R7 | C7 | å计 | 789311.6 | 754912.4 | |
| | | | R7 | D7 | å计 | 89644.1 | 83352.7 | |
| | | | R7 | E7 | å计 | 79.4316061253 | 75.9698760489 | |
| | | | R8 | C8 | æ¦æ± | 81366 | 72166 | |
| | | | R8 | D8 | æ¦æ± | 9200 | 10116 | |
| | | | R8 | E8 | æ¦æ± | 76.5437441204 | 67.8889934149 | |
| | | | R10 | C10 | åå ° | 29482 | 29188 | |
| | | | R10 | D10 | åå ° | 1671 | 1591 | |
| | | | R10 | E10 | åå ° | 139.0660377358 | 137.679245283 | |
| | | | R16 | C16 | èå· | 46548 | 38320.5 | |
| | | | R16 | D16 | èå· | 8606 | 1978.6 | |
| | | | R16 | E16 | èå· | 78.2319327731 | 64.4042016807 | |
| | | | R22 | D22 | æ½æ± | 0 | (空) | |
| | | | R23 | C23 | å¤©é¨ | 16677.7 | (空) | |
| | | | R23 | D23 | å¤©é¨ | 500 | (空) | |
| | | | R23 | E23 | å¤©é¨ | 54.4400195854 | 0 | |
| | | | R24 | D24 | æåº | 0 | (空) | |
| | | |
| | | #### ç©æµ-æ2ï¼0 æ ¼ï¼ |
| | | |
| | | å®å
¨ä¸è´ï¼æ å·®å¼ã |
| | | |
| | | ## äºãå¤ç½®å»ºè®®ï¼æä¼å
çº§ï¼ |
| | | |
| | | 1. **ãP0ãä¿®ãæé¡¹ç®åå¹é
ãçèå¼±æ§**ï¼æç»è¡¨è¡åä¸åºå
项ç®åä¸ä¸è´ï¼å¤ç¹/å°æ¬å·/æ°æ§åå¹¶åï¼å°±æ´è¡ä¸è¦çã建议æ¹ä¸ºæãå¸å· + åºå·/项ç®åå½ä¸åï¼å»æ ç¹ç©ºæ ¼ï¼+ å»ºåºæ¶é´ãå¹é
ï¼å¹é
ä¸å°æ¶**å¿
é¡»å¨è¿è¡æ¥å¿/æ ¡éªæ¥éä¸ååºè¡å·**ï¼ç¬¦åç¨æ·ã导å
¥å¤±è´¥è¦æ¾ç¤ºè¡å·ãçè¦æ±ï¼ã |
| | | 2. **ãP0ã修导å
¥ä¸¢æ°ï¼å¤©é¨ï¼**ï¼æ ¸å¯¹ã8æä»½ç©æµåä¸å¿é¡¹ç®(天é¨).xlsxãç H/J/K ä¸åæ å°ï¼ä¿®å¤åé导ï¼å¤æ¥ `investment_monthly` 2026-08ã |
| | | 3. **ãP0ãæ¸
çéå¤é¡¹ç®ä¸»æ¡£**ï¼åå °ãå¿«éç©æµäº§ä¸åäºæã`id=154`ï¼2026 竣工ï¼ä¸ `id=181`ï¼2029 竣工ï¼å¹¶åï¼åºå
åå¹¶ååå¯¼åºæ¯å¯¹ï¼åç±»åå²éå项ç®å»ºè®®å
¨è¡¨æ«ä¸éã |
| | | 4. **ãP1ã导åºè¡¥å Lï¼å»ºè®¾é¶æ®µï¼**ï¼ç®å L 沿ç¨åºç¨¿ï¼å¯¼è´ãæå/åæ/å¨å»ºãè¿ç±»é¶æ®µä¿¡æ¯å¯è½æ¯ä¸ä¸æçï¼å»ºè®®ä¸ M 䏿 ·æå½ææ°æ®è¦çã |
| | | 5. **ãP1ãæ¦æ±ç©æµæ æºè¡¨**ï¼å¯¹åºäº¤æ¥ææ¡£ P1-8ï¼ï¼åºå
0 æ¡å½æè®°å½ï¼å¯¼åºåªè½æ²¿ç¨æ§å¼ï¼è¦ä¹è¡¥æ¦æ±å表ï¼è¦ä¹å¨å¯¼åºæ¶æç¤ºã该å¸å·æ å½ææ°æ®ãã |
| | | 6. **ãP2ãåç»å°è®¡è¡ä¸ 0/空ç½åæ³**ï¼ä¸ä¸å¡ç¡®è®¤ç»ä¸ï¼äººå·¥çä¸å¡«åæ¸ éåç»è¡ã0 å 0ï¼è½¯ä»¶å¡«ã0 å空ï¼ã |
| | | 7. **ãP2ãå£å¾ææ¡**ï¼åº·å M145ãæ¬ææ å»ºè®¾å
容/æ¬ææ 建设è¿å±ãã宿 4 å¤å¥å·çï¼å»ºè®®ææºè¡¨åæç»ä¸ï¼é¿å
äººå·¥åæ¹ï¼ã |
| | | |
| | | ## å
ãç»è®º |
| | | |
| | | æ¬æ¬¡æ¯å¯¹å
±åç° **156 æ ¼å·®å¼**ï¼å
¶ä¸ï¼ |
| | | |
| | | - **ä¼å½±åæ¥çæ°åç**ï¼ç©æµ 3 个项ç®è¡ï¼åå °å¿«é产ä¸åäºæãèå·ä¸å½ä¾éå
¬å®ã天é¨ç©æµä¸å¿ï¼+ æ¦æ±æ´æ®µï¼6 è¡ï¼ï¼å计使软件çç©æµãèªå¼å§ç´¯è®¡ãå° **34399.2 ä¸å
**ããèªå¹´å累计ãå° **34399.2 ä¸å
**ããæ¬æå®æãå° **6291.4 ä¸å
**ï¼ |
| | | - **ä¸å½±åæ°åãåªå½±åçå¼/å£å¾ç**ï¼åç»å°è®¡è¡å¡«æ³ã0/空ç½åæ³ãå¥å·ãæ¥ææ°åæ ¼å¼çï¼ |
| | | - **è°å¯¹è°éï¼å·²åæº¯æºæä»¶/åºå
ï¼**ï¼ç©æµç 3 个ãæéæ°ãå¤å
¨é¨æ¯**人工ç对**ï¼å®¢è¿ç M26/M85 æ¯**软件ç对**ï¼äººå·¥ç缺形象è¿åº¦ï¼ï¼L91 æ¯**软件çåäºåºç¨¿æ§å¼**ï¼éå· M156 æ¯**软件ç对**ï¼äººå·¥çè¿æ¯ 7 ææåï¼ã |
| | | |
| | | 软件çè¦ä¿®çæ¯ãåæ°ãè䏿¯ãç®æ¯ãââåºç¨¿+åç§°å¹é
çæºå¶å¨æ°æ®é½å
¨æ¶ç»ææ£ç¡®ï¼ä¸æ¦ã项ç®åä¸ä¸è´ / éååæ¡£ / å½æç¼ºæ°ãå°±ä¼é黿²¿ç¨ä¸æå¼ï¼å±äº**ä¼éé»åºé**çç±»åï¼å»ºè®®æç¬¬äºè 1~3 项ä¼å
ä¿®ã |
| New file |
| | |
| | | # 工使¥ç»_2026-09-22 |
| | | |
| | | ## ä¸ãä»å¤©åäºä»ä¹ |
| | | |
| | | ### 1. æ°æ®æ¥ç页补é½ç½çº¦è½¦ä¸ä¸ªä½å®¢è¿ç±»åï¼"è½å¯¼å
¥å°±è½ç"ï¼ |
| | | |
| | | ç¨æ·è¯æ±ï¼æ°æ®æ¥ççæ°æ®ç±»ååºåå°"è½å¯¼å
¥ä»ä¹æ°æ®å°±è½çå°ä»ä¹æ°æ®"ï¼ç¨äºæ ¸å¯¹å¯¼å
¥æ¯å¦å®æ´ã |
| | | åå
ç½çº¦è½¦æ»æ°ãç½çº¦è½¦è®¢åã个ä½å®¢è¿ä¸å¼ 表**æå¯¼å
¥æ¥å£å模æ¿ä½æ²¡ææ¥çå
¥å£**ï¼å¯¼å
¥ååªè½æ¥æ°æ®åºã |
| | | |
| | | - å端 `DataViewController`ï¼æ°å¢ `wycTotal` / `wycOrder` / `passengerIndividual` ä¸ä¸ªåæ¯ + ä¸ç»åå®ä¹ + ä¸ä¸ª Mapper 注å
¥ï¼ |
| | | `passengerIndividual` ç¨ `RegionUtil.cityByCode` æ 6 ä½åºåä»£ç æ´¾ç为"å¸å·"åï¼å¦ 420900 â åæå¸ï¼ã |
| | | - å端 `DataView.vue`ï¼å
¬è·¯æ
客模åå "个ä½å®¢è¿é/å¨è½¬é"ï¼åå¸å®¢è¿æ¨¡åå "ç½çº¦è½¦æ»æ°""ç½çº¦è½¦è®¢ååå
¨çæ»é"ï¼è®¢å表 23 åï¼17 å¸å·åä¸åï¼ä¿æä¸å¯¼å
¥æä»¶ååºä¸è´ï¼ã |
| | | |
| | | ### 2. è·¨æ"æå¸å·æ±æ»"çå£å¾è°ç + æ ·ä¾ |
| | | |
| | | - çææ ·ä¾ `D:\æ¡é¢\æå¸å·æ±æ»_2026å¹´1-8æç´¯è®¡_æ ·ä¾.xlsx`ï¼å
¬äº¤ã巡游åºç§ãè´§è¿è§ä¸ä¼ä¸ä¸å¼ 表ï¼17 å¸å· + å
¨çåè®¡è¡ + "å£å¾è¯´æ"页ã |
| | | - æ ¸å®å表æå¼å£å¾ä¸º**彿å¼**ï¼å
¬äº¤ 2025 åæå
¨ç 1.2~1.5 亿人次é级ï¼ï¼æ
è·¨ææ±æ»æåæ§è´¨åä¸ç±»ï¼ |
| | | - æµéç±»ï¼å®¢è¿é/å¨è½¬é/è´§è¿é/è®¢åæ°ï¼â æ±åï¼ |
| | | - æ¶ç¹ç±»ï¼è¿è¥è½¦è¾æ°/è¥è¿è½¦è¾æ°/ä¼ä¸æ°ï¼â åææ«ï¼æ¦æ±å
¬äº¤ 2026 åæ 8476â7861ï¼éæç¸å å¾ 64879 è¾ï¼å®é
8 ææ«ä»
7861 è¾ï¼ï¼ |
| | | - æ¯çç±»ï¼ç¯æ¯/忝/å¹³åè¿è·/å æ¯ï¼â æç´¯è®¡å£å¾éç®ã |
| | | - è´§è¿ä¼ä¸è¡¨çå¸å·ç± 6 ä½åºå代ç å 4 ä½å½å¹¶ï¼4290xx ç´ç®¡å¸æ 6 ä½ä¼å
ï¼ï¼17 å¸å·å
¨é¨è¯å«ï¼æ "æªè¯å«"ã |
| | | |
| | | ### 3. æ ¸æ¥"æ°æ®æ¥çå·²å æ±æ»åè½"çç°ç¶ |
| | | |
| | | ç¨æ·å¨å«å¤çå°"æ±æ»"æé®ï¼å®é
æ ¸æ¥ï¼å端 `DataView.vue` å
¨ææ "æ±æ»/导åº"ï¼`ReportExport.vue` ææï¼ï¼åç«¯åªæ `/api/data/list`ï¼å
¨ä» + `traffic-audit-web/dist` + é¨ç½² jar + gitea è¿ç«¯ `main` åæ ç¸å
³ä»£ç ãå·²åç¨æ·è¯´æï¼æ"å°æªå®ç°ãç±æ¬ä»å®ç°"æ¨è¿ã |
| | | |
| | | ### 4. æ±æ»å¤§è¡¨è¿åº¦å¼¹çªä¼åï¼ç¨æ·ï¼"ä¿å"ä¼å¯¼è´åä¸è½½ä¸æ¬¡ï¼ |
| | | |
| | | - **æ ¹å **ï¼ä»»å¡å®ææ¶ä¼èªå¨ä¸è½½ä¸æ¬¡ï¼ä½å¼¹çªåºé¨ä»æçãä¿åæä»¶ãæé®ï¼ç¹å®ä¼å次请æ±å端æ¿åä¸ä»½æä»¶å¹¶ç¬¬äºæ¬¡ä¸è½½ï¼åæ¶æ é¢/æé®ææ¡ä¸éç¶æååã |
| | | - **æ¹å¨**ï¼`traffic-audit-web/src/views/ReportExport.vue`ï¼ï¼ |
| | | 1. å®æåæ¾ç¤ºãå·²èªå¨ä¸è½½ï¼<æä»¶å>ï¼<大å°>ï¼ã+ æç¤ºå¯ç¹ã忬¡ä¸è½½ãï¼æ¬å°ç¼åï¼ä¸åè¯·æ±æå¡å¨ï¼ï¼ |
| | | 2. æé®ææ¡éç¶æï¼å次ä¸è½½ / ä¸è½½ / ä¿åæä»¶ï¼çæä¸ç¦ç¨ï¼ï¼ |
| | | 3. 馿¬¡ä¸è½½åæ Blob åå
åï¼éå¤ä¿å **0 请æ±**ï¼ |
| | | 4. å¼¹çªæ é¢éç¶æï¼æ£å¨çæ / **å·²çæ** / çæå¤±è´¥ï¼å®ææä¸»æé®æ¹ä¸ºãå
³éãï¼ |
| | | 5. æ¯æ¬¡æ°ä»»å¡éç½® `taskDownloaded/taskFileName/taskFileSize/taskBlob`ã |
| | | - **æµè§å¨å®æµ**ï¼admin/123456ï¼2026-08ï¼ï¼çæ 13.5 ç§ãäº§ç© 1.15 MBï¼å®æåæ é¢ãæ±æ»å¤§è¡¨å·²çæããæç¤ºãå·²èªå¨ä¸è½½ï¼çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08.xlsx ï¼1.15 MBï¼ãï¼æ§å¶å° 0 æ¥éã |
| | | - **ç¨æ·åé¦åæ¹ v2**ï¼ãå·²ç»ä¸è½½è¿äºå°±ä¸éè¦å次ä¸è½½ãâ å æã忬¡ä¸è½½ãæé®ä¸å
åç¼åï¼**宿ååºé¨åªçãéæ°çæ / å
³éã**ï¼ä»
å½èªå¨ä¸è½½å¤±è´¥æ¶æåºç°ãä¿åæä»¶ãå
åºãå¤éªï¼çæä¸ãéæ°çæ(ç¦ç¨)/åå°è¿è¡ãâ 宿åãéæ°çæ/å
³éãï¼æç¤ºè¯ä¸ºãå·²èªå¨ä¸è½½ï¼â¦ï¼æä»¶å¨æµè§å¨é»è®¤ä¸è½½ç®å½ããï¼13.6 ç§ãæ§å¶å° 0 æ¥éã |
| | | |
| | | ### 5. æ°æ®æ¥çä½éªä¼åï¼ç¬¬äºè½®ï¼ç¨æ·å½æ¥åé¦ï¼ |
| | | |
| | | ç¨æ·ä¸ç¹åé¦ï¼â è·¨ææ±æ»æ¶ç¹åæä¹å¤çââå³å®**䏿¾æ¶ç¹å**ï¼â¡æ¨ªåæ»å¨æ¶çä¸å°ä¼ä¸åç§°ï¼â¢æ°æ®ç±»ååæä¸ææ¡æ´ç®æ´ã |
| | | |
| | | - **æ°æ®ç±»åæ¹ä¸ºåç»å䏿æ¡**ï¼å»æ"模ååéæé® + ç±»å䏿"ä¸¤çº§ç»æï¼å并为ä¸ä¸ª `el-select`ï¼æ 5 个模ååç»ãæ¯æè¾å
¥æç´¢ï¼ï¼åæ¢ç±»åæ¶åæ¥ `activeModule`ã |
| | | - **左侧å»ç»æ è¯å**ï¼`renderColumns` æè¡¨èªéåºå»ç» `æ¥è¡¨æ/æå±å°åº/å¸å·/ä¼ä¸åç§°` çå导åï¼æ¤å®ç° 09:56 å·²è½å¨å·¥ä½åºä½æªæäº¤ï¼æ¬æ¬¡çæºéªè¯åä¸å¹¶æäº¤ï¼ã |
| | | - **è·¨ææ±æ»å£å¾å®ç¨¿**ï¼æµéåæ±åãæ¶ç¹åä¸å䏿±æ»ä¸ä¸æ¾ç¤ºãæ¯çåæç´¯è®¡å£å¾éç®ã |
| | | |
| | | ### 6. æ°æ®æ¥çå±ç¤ºä¼åï¼ç¬¬ä¸è½®ï¼ç¨æ·å¤æ ¸åé¦ 4 ç¹ï¼ |
| | | |
| | | - **䏿åç»æ é¢**ï¼æ¹æ 13px/700/æ·±è²+æµ
åºï¼å为 Element UI é»è®¤ 12px ç°åï¼ï¼`popper-class` 精确å½ä¸ï¼ |
| | | - **éèæ¥è¡¨æä¸æå±å°åº**ï¼å»ç»åºæ¶çªä¸º"å¸å·/å°åº + ä¼ä¸åç§°/项ç®åç§° + å£å¾"ï¼æå¤ 3 åï¼ï¼å端为ä¼ä¸ç±»è¡¨ï¼h2032/h2031/h204 车è¾è½èï¼è¡¥æ´¾çå¸å·åï¼ |
| | | - **è§ä¸è§ä¸æå空å¼å®æ§**ï¼æºæä»¶ã模æ¿_è§ä¸è§ä¸æåè¿è¾é.xlsxãåªæ"å¨è½¬é"åï¼æ è´§è¿éå â ä¸åç©ºå±æºæ°æ®å½¢æï¼å¨è½¬éå使 ¸å¯¹ä¸º**ä¸å¨å
¬é**ï¼1,235,760.72Ã10000=12,357,607,239 å¨å
¬éï¼ä¸ h2032 æ¦æ± 1-6 æå®å
¨ä¸è´ï¼ï¼ååå·²æ æ³¨åä½ï¼ |
| | | - **ç½çº¦è½¦è®¢åæ¹æå¸å·ç«æ**ï¼å°åºï¼å
¨ç+17 å¸å·ï¼Ã ææ ï¼æé´/è®¢åæ°/订åå æ¯/客è¿é/æ
客å¨è½¬é/åå¸å
两项/说æï¼ï¼å®¢è¿éä¸å¨è½¬éå¤ç¨ `WycSplitCalc` æåå£å¾ï¼å
¨çè¡åå°è´¦ pinï¼ |
| | | - **å¸å·ææ¥è¿åº¦**ï¼è¿ `investment_project` 补项ç®åç§°ä¸å¸å·ï¼åè¡¨åªæ project_idï¼é¡µé¢æ¾ç¤ºæ°åæ æ³è¾¨è¯ï¼ï¼ |
| | | - **æ°å¼æ¾ç¤ºè§è**ï¼åºå±å
¨ç²¾åº¦ä¸åï¼æ¾ç¤ºå±ååä½+两ä½å°æ°ãæ¯ç类转ç¾åæ¯ãæååæ®µæ´æ°ã |
| | | |
| | | ### 7. æ°æ®æ¥çï¼å£å¾ä¸ç§»çéã空åéèã表头补åä½ï¼ç¬¬åè½®ï¼ |
| | | |
| | | - **空å䏿¾ç¤º**ï¼æå表"è§ä¸/è§ä¸/å计货è¿é"ï¼æºæä»¶æªæä¾ãåºå
å
¨ç©ºï¼ä¸åå±ç¤ºï¼å段ä¿çï¼ |
| | | - **å£å¾ä¸ç§»**ï¼æå表"å£å¾"ä»è¡¨æ ¼åæ¹ä¸ºå·¥å
·æ 䏿ï¼å
¨é¨/彿/累计ï¼ï¼å端 `/api/data/list` æ°å¢ `periodType` åæ°ï¼åæ¢ç±»åèªå¨å¤ä½ï¼ |
| | | - **表头补åä½**ï¼12 类表 60 ä½åæåºå
注é/æºæä»¶æ ¸å¯¹è¡¥é½ï¼ä¸äººæ¬¡ãä¸äººå
¬éãå¨ãå¨å
¬éãä¸å¨ãä¸å¨å
¬éã人ã人å
¬éãè¾ã座ãå
¬éã车次ãä¸å
ãå¹³æ¹ç±³ãåã%ï¼ï¼ |
| | | è½èçæä¸é¡¹åºå
æ å使³¨éï¼æ 注"(æçæåä½)"æªèé ã |
| | | |
| | | ### 8. æ°æ®æ¥çãæå¸å·æ±æ» + å¯¼åº Excelãè½å°ï¼ç¬¬äºè½®ï¼ä¸»çº¿åè½ï¼ |
| | | |
| | | - æ°å¢ `CityRollupService` + ä¸ä¸ªæ¥å£ï¼`/api/data/rollupTypes`ã`/api/data/summary`ã`/api/data/export`ï¼ |
| | | - æ¯æ 7 ç±»ï¼å
¬äº¤ã巡游åºç§ãè´§è¿ä¼ä¸ãå
¬è·¯æ
客ä¼ä¸ã个ä½å®¢è¿ãç½çº¦è½¦ï¼æåå£å¾ï¼ãè´§è¿éå¨è½¬éï¼ |
| | | - å£å¾ï¼ä»»æèµ·æ¢æï¼æµéæ±åã**æ¶ç¹åä¸åä¸**ãæ¯çæç´¯è®¡éç®ï¼ç´¯è®¡åæ¯èªå¨åä¸å¹´åæï¼ï¼æåå¯éãç空 / æç´¯è®¡å¼éæãï¼ç»æ = 17 å¸å· + å
¨çåè®¡ï¼ |
| | | - å端ï¼å·¥å
·æ å ãè§å¾ï¼æç» / æå¸å·æ±æ»ãï¼æ±æ»æ¨¡å¼æä¾èµ·æ¢æãæåãæ±æ»ãå¯¼åº Excelï¼ |
| | | - ä¿®å¤ä¸¤ä¸ªå£å¾åï¼è´§è¿éå¨è½¬é表ç"è¡å
累计 + æ¹åçå计è¡"éå¤è®¡ç®ï¼1,149,579 â 130,311.89 ä¸å¨ï¼ãç»æææ æ°æ®èªå¨åéï¼ |
| | | - ä¸æå·¥æ ¸ç®ä¸è´ï¼å
¬äº¤ 1-8 æ 110776.34 ä¸äººæ¬¡ãè´§è¿ä¼ä¸ 313,998,248 å¨ãè´§è¿éå¨è½¬é 130,311.89 ä¸å¨ã |
| | | - æ¶å°¾ï¼æç¨æ·è¦æ±æãå
¨çå计ãè¡æå°æåé¢ï¼æ¦æ±å¸ä¹ä¸ï¼ï¼å¯¼åº Excel ä¸å计è¡å ç²ã |
| | | |
| | | ### 9. æ±æ»å¤§è¡¨å¯¼åºç»æè½çç¼åï¼ç¨æ·ï¼"ä¸è½½è¿å°±ä¸è¯¥åçå¾ä¹
ï¼è½ä¸è½è®°ä½ä¸æ¬¡ç»æ"ï¼ |
| | | |
| | | - **èæ¯**ï¼åæ¥åªæã10 åéå
+ æé´æ æ°å¯¼å
¥ãç**å
å**ç¼åï¼çªå£çãéå¯å³å¤±æ â ç¬¬äºæ¬¡ä¸è½½è¿è¦ç 13~17 ç§ã |
| | | - **æ¹å¨**ï¼`ReportExportTaskService.java` 为主ï¼ï¼ |
| | | 1. ç»æ**è½ç**å° `docs/çææ±æ»å¤§è¡¨/_cache/`ï¼æä»¶å `<key>_v<æ°æ®çæ¬>.xlsx`ï¼æ°æ®çæ¬=`MAX(import_batch.id)`ï¼ï¼å·²å `.gitignore`ï¼ |
| | | 2. æäº¤é¡ºåºï¼å
åç¼å â è½çç¼åï¼åæ¥è¡¨æ + åæ°æ®çæ¬ + 7 天å
ï¼â çç®ï¼çææåååçå¹¶å é¤å key æ§çæ¬ï¼ |
| | | 3. åç«¯ææ¡ï¼å½ä¸ç¼åæ¾ç¤ºãæ¬æ¬¡ç´æ¥æ²¿ç¨ <æ¶é´> çæçç»æï¼æé´æ²¡ææ°çæ°æ®å¯¼å
¥ï¼ãï¼å
ä¿¡æ¯æ¹ä¸ºã䏿¬¡çæäº â¦ãã |
| | | - **顺带修 bug**ï¼è½çå½ä¸æ¶ `elapsedMs` ä¸ºè´æ°ï¼ä»»å¡èµ·ç¹ç¨ç°å¨ãç»ææ¶é´æ¯åå²çææ¶é´ï¼â å·²æ¹ä¸ºä»¥çææ¶é´ä½èµ·ç¹ã |
| | | - **宿µ**ï¼é¦æ¬¡ 12.4 s åç¼åï¼å次æäº¤ **164 ms** å½ä¸å
åï¼**éå¯å端åæäº¤ 1.19 s å½ä¸è½ç**ï¼ä¸´æ¶æä¸æ¡å¯¼å
¥è®°å½å `fromCache=false` éæ°çæï¼éªè¯ãææ°å¯¼å
¥å³å¤±æãï¼ï¼æµè§å¨ç¹å¯¼åºç§åºãææ¡ä¸æé®æ£ç¡®ãæ§å¶å° 0 æ¥éã |
| | | |
| | | ### 10. 导åºç¼åå®å«åçº§ä¸ºãæ°æ®æçº¹ã+ 失ææç¤ºï¼ç¨æ·ï¼æä½ 说çåï¼ |
| | | |
| | | - **èæ¯**ï¼ä¸ä¸çç¼åå®å«ç¨å
¨å± `MAX(import_batch.id)`ï¼â 导å
¥æèµ/è½èçæ å
³æ°æ®ä¼ç½å¤±æï¼â¡**ä¸å«æ¯çæä»¶**ï¼æ¢æ¯çæ¶ä¼é误å½ä¸æ§ç»æï¼æ£ç¡®æ§æ¼æ´ï¼ã |
| | | - **æ¹å¨**ï¼`ReportExportTaskService.java`ï¼ï¼ |
| | | 1. æçº¹ =ãä¾èµæºè¡¨ `CHECKSUM TABLE` æ ¡éªåï¼è½ææåå° UPDATEï¼ã+ãæ¯çç®å½å
¨é¨æä»¶ + ç½çº¦è½¦è®¢å xlsx çåç§°/大å°/ä¿®æ¹æ¶é´ãï¼SHA-256 å 8 åèåè¿ç¼åæä»¶åï¼ |
| | | 2. æºè¡¨èå´ç¨**æé¤æ³**ï¼æé¤æèµ 3 / è½è 2 / å®¡æ ¸ 4 / ç³»ç» 6 / `import_batch`ï¼å
¶ä½å
¨çº³å
¥ï¼å®å¯å¤ç®ä¸å¯åºéï¼ï¼ |
| | | 3. 失ææç¤ºï¼ç¬¬ 3 æ¥æç¤ºçï¼ï¼æ²¡å½ä¸ä¸ææ§ç»ææ¶ï¼è¿åº¦å¼¹çªæ¾ç¤ºã䏿¬¡çæçç»æå·²å æ°æ®ææ¯çåå失æï¼æ¬æ¬¡æææ°æ°æ®éç®ãã |
| | | - **宿µ**ï¼æ å
³å¯¼å
¥ï¼æèµé¡¹ç® + 导å
¥è®°å½åæä¸è¡ï¼**ä»å½ä¸**ç¼åï¼ç¸å
³æºè¡¨åå° UPDATEãæ¹æ¯ç mtime **å¿
å®å¤±æ**å¹¶éç®ï¼å½ä¸ç¼åæ¶ä¸åæ®çæç¤ºï¼æµè§å¨å®æµæç¤ºè¡æ¾ç¤ºæ£å¸¸ãæ§å¶å° 0 æ¥éï¼æµè¯æ°æ®å·²å
¨é¨è¿åï¼419 æ¹æ¬¡ / 152 项ç®ï¼ã |
| | | |
| | | ### 11. äº¤æ¥æ¶å°¾ï¼åæ¥åäºè¿å± + å©ä½é¡¹æ ¸æ¥ï¼ç¨æ·åå¤å¼æ°ä¼è¯ï¼ |
| | | |
| | | - **åäºè¿å±æ ¸å®**ï¼è¿ä¸å¤© xyc / zyj è´¦å·çæäº¤ï¼ï¼æ¹å¨**å
¨é¨éä¸å¨æ±æ»å¤§è¡¨çº¿**ââ |
| | | `abf468c` ä¸å£å¾æåç´¯è®¡åæ¯åºæ°æ¹ç¨æ¯ç 2025 éæåï¼æ¹æ¡ Aï¼`ReportExportService.java`ï¼ã`47a8734` 软件è¾åºä¸æå·¥å®ç¨¿å·®å¼æ¥åã |
| | | `ceaa5f2` AGENTS æ¹å
¬å¸ gitea åä»åºã`a5a9545` 09-22 è®°å½ä¸ Codex å¡é¡¿å¤æ ¸ã`zyj` ç 8 ææ¯ç 196 æ ¼ææ¬è½¬æ°å¼ + 差弿¸
åã |
| | | - **å©ä½å¾
åéæ¡æ ¸æ¥ï¼åäºåæªè§¦ç¢°**ï¼æè¯æ®ï¼ï¼ |
| | | 1. P0-2ã亿å
æèµé¡¹ç®ãæ Q7 追å ââ `ReportExportService.java:6251` ä»åå䏿 ¼ï¼ç¬¬ 24 åï¼ï¼æ 追åé»è¾ï¼ |
| | | 2. P0-3 导åºååºæ°ä½æ£ +ãæ°æ®ç¼ºå¤±æ¸
åã页 ââ `getLastMidIssues()` å
¨ä»åºæ è°ç¨æ¹ï¼ |
| | | 3. P0-4 缺 2026-06 / 2026-09 æ¯ç ââ æ¯çç®å½æ è¿ä¸¤ä¸ªææä»¶ï¼ |
| | | 4. P1-7 æèµèµéæ¸ éåç» ââ æ `fund_channel` åæ®µï¼ |
| | | 5. P1-9 æèµå¯¼åºææåç®å½ + è¿è¡æ¥å¿/æ ¡éªæ¥é ââ æ å®ç°ï¼ |
| | | 6. P2-1 D ç»ãå¢éæåãæªè¾ ââ æ ãæä¸æåãé»è¾ã |
| | | - **äº¤æ¥ææ¡£å·²åæ¥**ï¼commit `06b1cb7`ï¼ï¼Â§0 æç´§æ¥æ¸
å 4â3 ä»¶å¹¶ååºä¸é¡¹å·²éç¯ï¼åå °æºæä»¶ / ä¸å£å¾åºæ°åè½¨å¶ / 导åºç¼åï¼ï¼ |
| | | P1-1 è¡¥æäº¤å· `abf468c`ï¼Â§1.3 ä¸ Â§7.4 ä»ãåä»åºãæ¹ä¸º**å
¬å¸ gitea åä»åº**ï¼Â§6 ç´¢å¼è¡¥åäºä¸¤ä»½ææ¡£ã |
| | | - **å¾
æ ¸å®ï¼çç»æ°ä¼è¯ï¼**ï¼P2-2ãåå¸å®¢è¿é¡µè¡¨å¤´ä»æ¯æ¥æåºåå·ãå¯è½å·²è¿æ¶ââ代ç éæ `fixCityMonthHeaderText()`ï¼09-03 å å
¥ï¼ |
| | | 伿åå¸å®¢è¿ç±»è¡¨å¤´åºåå·æ¹åæãYYYYå¹´Mæãï¼å»ºè®®è·ä¸æ¬¡ 2026-08 å¯¼åºæ ¸å¯¹å®é
表头ååæ´æ°äº¤æ¥ææ¡£ã |
| | | |
| | | ## äºãæµè¯ç»ææè¦ |
| | | |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ°æ®æ¥çè¡¥é½ç½çº¦è½¦ä¸ä¸ªä½å®¢è¿ç±»å_2026-09-22.md` |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ°æ®æ¥çå»ç»å䏿°æ®ç±»å䏿æ¡_2026-09-22.md`ï¼å»ç»å/䏿æ¡çæºç¨ä¾ 12 æ¡å
¨éè¿ï¼ |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ°æ®æ¥çå±ç¤ºä¼åä¸ç½çº¦è½¦æå¸å·ç«æ_2026-09-22.md`ï¼æ¥å£ 6 æ¡ + çæº 6 æ¡å
¨éè¿ï¼ |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ°æ®æ¥çå£å¾çéä¸è¡¨å¤´åä½_2026-09-22.md`ï¼æ¥å£ 7 æ¡ + çæº 2 æ¡å
¨éè¿ï¼ |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ°æ®æ¥çæå¸å·æ±æ»ä¸å¯¼åº_2026-09-22.md`ï¼æ¥å£ 10 æ¡ + çæº 4 æ¡å
¨éè¿ï¼ |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ±æ»å¤§è¡¨è¿åº¦å¼¹çªä¼å_2026-09-22.md`ï¼6 æ¡ç¨ä¾éè¿ï¼çæä¸ç¶æ / 宿æç¤º / 忬¡ä¸è½½èµ°ç¼å / å
³é / æ æ§å¶å°æ¥é / å
¶å®å¯¼åºæªåå½±åï¼ |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æ±æ»å¤§è¡¨å¯¼åºç»æè½çç¼åå¤ç¨_2026-09-22.md`ï¼10 æ¡ç¨ä¾éè¿ï¼é¦æ¬¡çæåç¼å / å
åå½ä¸ 164ms / **éå¯åè½çå½ä¸ 1.19s** / ææ°å¯¼å
¥å³å¤±æ / å key åªçææ°çæ¬ / æ¶é¿æ¾ç¤ºä¿®å¤ / æµè§å¨ç«¯å°ç«¯ï¼ |
| | | - æ¥åï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_导åºç¼åæ¹ç¨æ°æ®æçº¹_2026-09-22.md`ï¼12 æ¡ç¨ä¾éè¿ï¼æ å
³å¯¼å
¥ä»å½ä¸ / ç¸å
³æºè¡¨åå° UPDATE å¿
失æ / **æ¢æ¯çå¿
失æ** / 失ææç¤ºæ¾ç¤º / å½ä¸æ æç¤º / æ°æ®è¿åæ ¸å¯¹ï¼ |
| | | - ç¯å¢ï¼å端 `mvn spring-boot:run`ï¼8090ï¼`Started TrafficAuditApplication`ï¼ï¼å端 `npm run serve`ï¼8080ï¼`Compiled successfully in 4769ms`ï¼ï¼MySQL `localhost:3308/traffic_audit`ï¼ç»å½ admin/123456 å JWTã |
| | | - ç»æï¼3 个æ°ç±»åæ£åï¼å«æé´/å
³é®åçéï¼ãè´åï¼æªç¥ç±»åãæ æ°æ®æãæ tokenï¼å
¨é¨éè¿ï¼å
¥åºæ½æ¥æ¡æ°ä¸åºå
ä¸è´ï¼20 / 20 / 139ï¼ï¼åæ 15 ç±»å彿£å¸¸ã |
| | | |
| | | ## ä¸ãéçé®é¢ä¸å¾
å |
| | | |
| | | 1. ãå·²å®æãæ°æ®æ¥ç"æå¸å·æ±æ» + å¯¼åº Excel"ï¼è§ç¬¬ 8 èä¸ãåè½æµè¯æ¥å_æ°æ®æ¥çæå¸å·æ±æ»ä¸å¯¼åº_2026-09-22.mdãï¼ã |
| | | 2. æ±æ»å£å¾ç»åå¾
ä¸å¡ç¡®è®¤ï¼æååæ®µè·¨æééæ°æåï¼å
ç空ï¼ï¼ç´¯è®¡åæ¯éè¦èªå¨åä¸å¹´åææé´ã |
| | | 3. å
³é®åæ¡å¯¹æ åç§°åç表ï¼ç½çº¦è½¦æ»æ°ãç½çº¦è½¦è®¢åï¼æ æï¼å¾
ä¼åã |
| | | 4. å»ç»åä¾èµ"æ è¯åè¿ç»æå¨åé¢"çååºå设ï¼è¥ä»¥åè°æ´ååº/æ°å¢ç±»åéåæ¥ç»´æ¤ `stickyProps`/`nameProps`ã |
| | | 5. `scale_split_transport`ï¼è§ä¸/è§ä¸æåï¼288 è¡æ°å¼å
¨ä¸º NULLï¼è¥åªå¼ æ¥è¡¨ä¾èµå®æå¸å·åºæ°ä¼åä¸å°å¼ï¼å»ºè®®ä¸åäºç¡®è®¤å¯¼å
¥æ¥æºã |
| | | 6. Codex æ¡é¢ç«¯æ¨¡åæ¾ç¤ºï¼09-21 æéçï¼ï¼å·²å `model_catalog_json` æ¸
åï¼å¾
ç¨æ·éå¯å®¢æ·ç«¯ç¡®è®¤ç颿¾ç¤º `deepseek-flash`ã |
| | | |
| | | ## åãæå¤©è®¡å |
| | | |
| | | 1. å¼å·¥"æå¸å·æ±æ» + å¯¼åº Excel"ï¼å端å `/api/data/summary` ä¸ `/api/data/export`ï¼å端å "æç»/æ±æ»"忢ä¸å¯¼åºæé®ã |
| | | 2. æ±æ»ç»æä¸æ¥è¡¨/æå·¥ä½ä¸æ½æ ·æ ¸å¯¹ï¼1-8 æå
¬äº¤ã巡游åºç§ãè´§è¿è§ä¸ä¼ä¸ï¼ã |
| | | |
| | | ## äºãCodex æ¡é¢ç«¯è¾å
¥å¡é¡¿å¤æ ¸ï¼2026-09-22ï¼ |
| | | |
| | | - æ 09-21 çä¿®å¤æ¹æ¡ï¼ç¨æ·éå¯çµèå Codex å夿 ¸ã |
| | | - è¿ç¨ï¼ChatGPT äº 2026-09-22 12:54 æ°å¯å¨ï¼ä¿®å¤èæ¬ `fix-codex-typing-retry-storm.js` åå¨ä¸ `user_scripts.json` ä»ä¸º `enabled=true`ã |
| | | - æ§è½ï¼ä¸»æ¸²æè¿ç¨ï¼PID 7044ï¼è¿ç» 10 ç§éæ ·çº¦ `13.28%` åæ ¸ï¼ä¿®å¤å约 `115%` åæ ¸ã |
| | | - å®å«ï¼è°è¯ç«¯å£ 9229 读å `window.__codexPlusRetryTimerGuardInstalled=true`ï¼æ¬æ¬¡ä¼è¯ `window.__codexPlusRetryTimerGuardDropped=16`ã |
| | | - ç»è®ºï¼è¾å
¥å¡é¡¿ä¿®å¤å¨éå¯åä»çæï¼é®é¢å·²è§£å³ã |
| | | |
| | | |
| | | ## å
ãæèµæç»è¡¨ãè½¯ä»¶çæ vs 人工çãæ°æ®æ¯å¯¹ï¼2026-08ï¼ |
| | | |
| | | ç¨æ·è¦æ±ï¼æè½¯ä»¶çæçã客è¿ç«æèµæç»è¡¨ããç©æµç«åºæèµæç»ãä¸äººå·¥ç»´æ¤ç两份å®ç¨¿éæ ¼æ¯å¯¹ï¼ååºææä¸åã |
| | | |
| | | - **æ¯å¯¹æä»¶**ï¼äººå·¥ç `D:\05_æ°æ®åç±»\æèµ\8æ\8æå®¢è¿ç«æèµæç»è¡¨.xlsx`ã`8æç©æµç«åºæèµæç».xls` |
| | | vs 软件ç `D:\æ¡é¢\çææ°æ®\çæ_æéæ¥è¡¨_2026-08 (1)\çæ_客è¿ç«æèµæç»è¡¨.xlsx`ã`çæ_ç©æµç«åºæèµæç».xls`ã |
| | | - **æ¯å¯¹æ¹æ³**ï¼èæ¬é页ç¾éæ ¼æ¯å¯¹ï¼`_tmp_diff_invest_0922.py`ï¼ï¼å
æ ¸å¯¹ B å项ç®åéè¡å¯¹é½ï¼192/121 è¡å
¨é¨ä¸è´ï¼æ éä½ï¼ï¼åç»è®¡å·®å¼ï¼æååæº¯æºæä»¶ / æ°æ®åº / åºç¨¿æ¨¡æ¿å®ä½æ ¹å ã |
| | | - **ç»æ**ï¼å
± **156 æ ¼å·®å¼** ââ 客è¿ãæç»ã12 +ãæ±æ»ã4ï¼ç©æµãåé¡¹ç®æèµå®ææ
åµã108 +ãåå¸å·è§åå
å¤ã15 +ãå¸å·æ±æ»ã17ï¼ãæ2ãæ å·®å¼ã |
| | | - **æ ¹å ï¼ä¸æ¹è¯æ®éå®ï¼**ï¼ |
| | | 1. è½¯ä»¶å¯¼åº = å¨åºç¨¿ã模æ¿_Xæâ¦æèµæç»ãä¸ï¼æåºå
å½ææ°æ®**æé¡¹ç®åç§°å¹é
**è¦ç H/J/K ä¸ Mï¼**å¹é
ä¸ä¸æåºå
æ 彿æ°å°±é黿²¿ç¨ä¸æå¼** ââ æ¦æ±å¸ç©æµï¼åºå
0 æ¡æåº¦è®°å½ï¼æ´æ®µä¿ç 7 æå¼ï¼èå·ãä¸å½ä¾éå
¬å®åè´¸ç©æµåãï¼åºå
åå¤ä¸ä¸ªç¹ï¼å¹é
失败ï¼ä¿ç 7 æå¼ 7758.5/1600.1ï¼åºå
/æºè¡¨å®é
15986/8227.5ï¼ã |
| | | 2. åºå
**åååæ¡£**ï¼åå °ãå¿«éç©æµäº§ä¸åäºæãæ `id=154`ï¼ç«£å·¥ 2026ï¼ä¸ `id=181`ï¼ç«£å·¥ 2029ï¼ä¸¤æ¡£ï¼å¯¼åºåå°æ§æ¡£ï¼åäº 7 æå¼ 20081/2900/214ï¼åº 20377/3196/296ï¼ã |
| | | 3. **导å
¥ä¸¢æ°**ï¼å¤©é¨ã天é¨å¸ç©æµä¸å¿å»ºè®¾é¡¹ç®ãåºå
2026-08 ç累计/èªå¹´å/æ¬æå
¨æ¯ 0ï¼æºæä»¶æ¯ 16677.7/16677.7/500ï¼P1-5 åè®°å½ãæºæä»¶ H/J/K å为空ãä¸ç°æä»¶ä¸ç¬¦ï¼ã |
| | | 4. 导åº**ä¸è¦ç Lï¼å»ºè®¾é¶æ®µï¼çééé¢å** â é»ç³å¤§å¶æ¹å·é¾ L=æåãåå °æ¢çº½ L=åæãè¥é³å·é¾ä¸å¿ L=å¨å»ºãéå·æ°çç©èµ M ç 7 ææåï¼é½æ¯åºç¨¿æ®çã |
| | | 5. 忏 éå¸å·ç**åç»å°è®¡è¡**ï¼è½¯ä»¶å¡«=å¸å·å计ï¼äººå·¥çä¸å¡«ï¼0 ä¸ç©ºç½çåæ³ä¸¤è¾¹ä¸åï¼ä¸å½±åéé¢ï¼ã |
| | | 6. 客è¿é¨åå·®å¼ä¸»è¦æ¯**人工çæååèäºå
¥**ï¼203 / 2531 / 43225.9 çï¼ï¼ä»¥å 3 å¤å½¢è±¡è¿åº¦/å»ºè®¾é¶æ®µï¼M26ãM85 人工ç空ï¼è½¯ä»¶çåèªæºè¡¨ä¸åºå
ãæ¯å¯¹çï¼ï¼L91 人工çãå¨å»ºãæ£ç¡®ãè½¯ä»¶çæ¯åºç¨¿æ§å¼ãæåæ½å·¥ãã |
| | | - **å½±åéé¢**ï¼è½¯ä»¶çç©æµãèªå¼å§ç´¯è®¡ããèªå¹´å累计ãåå° **34399.2 ä¸å
**ããæ¬æå®æãå° **6291.4 ä¸å
**ã |
| | | - **æ¥å**ï¼`docs/åè½æµè¯æ¥å/æ°æ®æ¯å¯¹æ¥å_æèµæç»è¡¨è½¯ä»¶çæä¸äººå·¥ç_2026-09-22.md`ï¼å« 156 æ ¼å
¨éæ¸
å + éæ¡æ ¸å¯¹ç»è®º + å¤ç½®å»ºè®®ï¼ã |
| | | - **临æ¶èæ¬ï¼ä¿çï¼**ï¼`_tmp_diff_invest_0922.py`ã`_tmp_dump_invest_full_0922.py`ã`_tmp_diff_invest_annot_0922.py`ã`_tmp_diff_tables_0922.py`ã`_tmp_src_spotcheck_0922.py`ã`_tmp_src_spotcheck2_0922.py`ã`_tmp_db_probe*_0922.py`ã`_tmp_tpl_*_0922.py` åå¯¹åº `_*.txt` è¾åºã |
| | | |
| | | |
| | | |
| | | ## ä¸ãæèµæç»è¡¨åæ°ä¿®å¤ï¼ç¬¬ä¸è½®ï¼å·²ç¼è¯/éå¯/端å°ç«¯éªè¯ï¼ |
| | | |
| | | æç¬¬å
èæ¯å¯¹ç»è®ºå¨æä¿®äºä¸å¤"ä¼éé»åºæ°"çåæ°ç¼ºé·ï¼å¹¶é¡ºå¸¦ç«¯å°ç«¯æ´é²+ä¿®å¤äºæ½æ±å¯¼å
¥ééåå²é¡µç¾ã |
| | | |
| | | - **导åº**ï¼`ReportExportService.java`ï¼ï¼ |
| | | 1. `normInvestName()` å½ä¸åè¡¥æ ç¹ï¼å/å
¨è§å¥ç¹ãé¡¿å·ãåå·çï¼â èå·ãä¸å½ä¾é.å
¬å®åè´¸ç©æµåãå¯å¹é
ï¼åå
¥åºå
15986/15986/8227.5ï¼ |
| | | 2. æ°å¢ `preferMonthlyCandidate()`ï¼åå夿¡£ä¼å
åãå½æææ°æ®ãçæ¡£ â åå °ãå¿«éç©æµäº§ä¸åäºæãæ¹å id=181ï¼åå
¥ 20377/3196/296ã竣工 2029ï¼ |
| | | 3. æ°å¢ `logSkippedRows()`ï¼æªè¦çè¡éè¡ WARNï¼`[æªè¦ç] 第Nè¡ å¸å· 项ç®å â åå ` + æå¸å·ç»è®¡ï¼ï¼ä¸åéé»ç»è½¬ä¸æå¼ã |
| | | - **导å
¥**ï¼`DataImportService.java`ï¼ï¼ |
| | | 1. `investHeaderKey()` å
å»å
¨é¨ç©ºç½ï¼å«æ¢è¡/å
¨è§ç©ºæ ¼ï¼åå¤å®å
³é®è¯ â å¤©é¨ H/J/K ä¸åæ¢å¤è¯å«ï¼2026-08 å
¥åº 16677.7/16677.7/500ï¼å为 0/0/0ï¼ï¼ |
| | | 2. æ°å¢ `investSheetPeriodCellHit()` + è¯åå æ 2000000ï¼æè¡¨å
æ¥è¡¨æï¼`2026.08.24`ï¼é sheetï¼ä¼å
äºãsheet åå«åæãâ æ½æ±ä¸åæ **2018 å¹´**ãæ½æ±ï¼8æï¼ãå½ 2026-08ï¼é导å 2026-08 å
¥åºãä¸å½è¾è°·å·é¾ä»å¨ç©æµåã11947.9/1135/0ã |
| | | - **éªè¯**ï¼`mvn -o compile` éè¿ï¼åæ§èµ·æ°å端ï¼8090 就绪ï¼ï¼æ¥å£é导 + éè· 2026-08 导åºï¼éæ ¼æ¯å¯¹**156 æ ¼ â 129 æ ¼**ï¼é 27 æ ¼ï¼ç©æµåé¡¹ç® 108â91ãåå¸å· 15â11ãå¸å·æ±æ» 17â11ï¼ï¼æ æ°å¢å·®å¼ã |
| | | - **æªè¦çæ¸
åï¼æ°å¢è½åï¼æ¥èªæ¥å¿ï¼**ï¼ç©æµ 6 è¡ï¼å
¨é¨æ¦æ±ï¼åºå
æ å½ææ°æ®ï¼ï¼å®¢è¿ 12 è¡ï¼é»ç³ 1ã鳿°ç»¼åå®¢è¿æ¢çº½ç«ããé»å 9ãæ©æ½ 1ãå¸ä¸°å¿åªåè¥æ
游客è¿ç«ãã仿¡ 1ã仿¡å¸æ¯å´å®¢è¿ç«ãï¼ã |
| | | - **æ¥å**ï¼`docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_æèµæç»è¡¨åæ°ä¿®å¤_2026-09-22.md`ã |
| | | - **éçï¼éææ¿/è¡¥æ°ï¼**ï¼â L/D/E/F æ¯å¦æå½æè¦çï¼éãå»ºè®¾é¶æ®µå½ä¸è¡¨ãï¼ï¼â¡ æ¦æ±ç©æµãé»åå®¢è¿ 8 ææºæ°æ®ç¼ºå¤±ï¼â¢ æ½æ± 2026-06/07 æåº¦ä»æ¯åå² sheet éå¼ï¼éç¨ 6/7 ææºè¡¨é导ï¼**ä¸è¦**ç¨ 8 ææä»¶é导ï¼ï¼â£ æªè¦çæ¸
åç®ååªè¿æ¥å¿ï¼å»ºè®®æ P1-9 åºãæ ¡éªæ¥é_<å¹´æ>.xlsxãæé¡µé¢æç¤ºã |
| | | - **æ°æ®åæ´**ï¼ä»
é导修æ£äºå¤©é¨ãæ½æ±ä¸¤å¤ 2026-08 æåº¦å¼ï¼æªå é¤ä»»ä½é¡¹ç®ä¸»æ¡£ãæªå¨å
¶ä»å¸å·/æé´ï¼ä¸´æ¶èæ¬ä¸äº§ç©ä¿çï¼`_tmp_*_0922.*`ã`_tmp/gen_new_0922/`ï¼ã |
| | | |
| | | |
| | | ## å
«ãæ±æ»å¤§è¡¨è½¯ä»¶è¾åºä¸æå·¥å®ç¨¿å·®å¼å¤æ ¸ï¼2026-08ï¼ |
| | | |
| | | - æ¯å¯¹æä»¶ï¼è½¯ä»¶è¾åº `çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08 (5).xlsx`ï¼æå·¥å®ç¨¿ `2026å¹´8æå®¢è¿éãè´§è¿éå®ç¨¿.xlsx`ã |
| | | - æ¹æ³ï¼å
ç¨ Excel COM 坹䏤份坿¬å
¨ééç®ï¼åæé¡µç¾ãæ°æ®åãè¡æ ç¾ãå头åè¯ä¹å¯¹é½åéæ ¼æ¯å¯¹ï¼é¿å
读å XLSX æ§ç¼åé æ `#VALUE!` åå·®å¼ã |
| | | - ç»æï¼930 æ¡éæ ¼å·®å¼ä¸ï¼å®è´¨æ°å¼å·®å¼ 314 æ¡ãå
¶ä¸ 304 æ¡æ¯å
¬äº¤/åºç§/ç½çº¦è½¦/ä¸å£å¾æç»ç 2025 累计åå°å 7ã8 æï¼ä¸å¡å·²ç¡®è®¤è¯¥å坿¸
空ï¼å¦ 10 æ¡æ¯ ` è´§è¿` 2022 å¹´ç´¯è®¡åæ¯ï¼ä¸å¡å·²ç¡®è®¤è½¯ä»¶æ£ç¡®ã |
| | | - å
¶ä½å·®å¼ï¼ææ¬åæ°å 286 æ¡ã忴尾差 194 æ¡ãä»
软件æå¼ 129 æ¡ãä»
æå·¥æå¼ 2 æ¡ãéè¯¯å¼ 2 æ¡ãææ¬ä¸å 2 æ¡ãç±»åä¸å 1 æ¡ã |
| | | - ç»æå·®å¼ï¼å叿±æ»/åå¸åå¸å·/ä¸å£å¾åæ/ä¸å£å¾æååå¨è½¯ä»¶å¤åºç 8 æåæä¸åå¸å±ï¼ä¸¤ä¸ªè´§è¿æå页ç¾å顺åºç¸åï¼åå¸å®¢è¿æå·¥å¤ä¸å AJï¼éè·¯è¿è¾å¨è½¬éæå·¥å¤ AA/AB 空åã坿¯ä¸å¡æ°æ®åå·²éå坹齿 ¸å¯¹ã |
| | | - ä¸çæ¥åä¸ç `ç线å
车` 2019ã2020 å¹´åå²å `#VALUE!` ç»éç®ç¡®è®¤æ¯ç¼ååå·®å¼ï¼æ¬æ¬¡å·²åé¤ã |
| | | - 交ä»ï¼`docs/é®é¢æ±æ»/æ±æ»å¤§è¡¨_软件è¾åºä¸æå·¥å®ç¨¿å·®å¼æ¸
å_2026-08_20260922.md`ï¼éæ ¼æç» `docs/é®é¢æ±æ»/æ±æ»å¤§è¡¨_差弿ç»_2026-08_20260922.csv`ã |
| | | |
| | | ## ä¹ãå
³æºäº¤æ¥å¿«ç
§ï¼2026-09-22 17:20ï¼ |
| | | |
| | | - **git**ï¼æåå¹¶åå¹¶å
¬å¸ä»åºææ° `db0ee92`ï¼æèµæç»åæ°/导å
¥ä¿®å¤ + æ¥ç»ç¬¬ä¸/å
«èï¼ï¼å并忬å°ç¼è¯ `mvn -q -DskipTests compile` éè¿ãå
³æºåå° HANDOFFãæ¬æ¥ç»å¿«ç
§æäº¤å¹¶æ¨é `origin/main`ã |
| | | - **è¿è¡ç¶æ**ï¼dev å端 `8090`ãå端 `8080` åæªè¿è¡ï¼æªåç°å¯¹åº Java/Node è¿ç¨ï¼`backend.log` æååå
¥ 09-21 17:29ï¼`frontend.log` æååå
¥ 09-21 17:36ãMySQL80(`3305`)ãMySQL57(`3306`) Runningï¼å
³æºåèªå¨åæ¢ï¼æ éæå·¥å¤çã |
| | | - **䏿¬¡å¯å¨**ï¼é¡¹ç®æ ¹ç®å½æ§è¡ `powershell -NoProfile -ExecutionPolicy Bypass -File start-dev.ps1`ï¼æ°æ®åºåçæç¼åå·²æä¹
åã |
| | | - **ä¿ç产ç©**ï¼æ±æ»å¤§è¡¨å·®å¼æ¥å/CSVãæèµ 156â129 æ ¼æ¥åã`_tmp*_0922.*` ä¸ `_tmp/gen_new_0922/` çåä¿çï¼æªç»ç¡®è®¤ä¸å é¤ã |
| | | - **䏿¬¡ä¼å
**ï¼P0-2ã亿å
æèµé¡¹ç®ãæ Q7 追åãP0-3 导åºååºæ°ä½æ£ãP0-4 2026-09 æ¯çï¼æèµéçéè¡¥æ¦æ±ç©æµ/é»åå®¢è¿ 8 ææºæ°æ®ãéå¯¼æ½æ± 2026-06/07 åå²éå¼ãå°æªè¦çæ¸
åè½æä»¶æé¡µé¢ã |
| New file |
| | |
| | | sheet,kind,rlab,chdr,pc,mc,pv,mv,typ |
| | | å
¬äº¤,æ°æ®,å
¨ç|客è¿é(ä¸äººæ¬¡),,U5,U5,88908.90999999999,114285.68,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,å
¨ç|æ
客å¨è½¬é(ä¸äººå
¬é),,U6,U6,601850.32,774997.32,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,å
¨ç|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U7,U7,81324.48,104006.93,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,å
¨ç|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U8,U8,407371.23000000004,522761.21,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ¦æ±|客è¿é(ä¸äººæ¬¡),46174,M9,M9,4970.63,'4970.63',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ¦æ±|客è¿é(ä¸äººæ¬¡),,U9,U9,30315.319999999996,38419.829999999994,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M10,M10,26403.98,'26403.98',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),,U10,U10,160320.99,203544.41999999998,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M11,M11,4946.860000000001,'4946.86',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U11,U11,30187.77,38245.189999999995,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G12,G12,27097.570000000003,'27097.57',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M12,M12,25809.77,'25809.77',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U12,U12,156976.42,199239.31,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»ç³|客è¿é(ä¸äººæ¬¡),46174,M13,M13,1010.85,'1010.85',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»ç³|客è¿é(ä¸äººæ¬¡),,U13,U13,6733.38,8645.890000000001,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M14,M14,7802.040000000001,'7802.04',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),,U14,U14,51860.46,66620.81999999999,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»ç³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M15,M15,874.9499999999999,'874.95',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»ç³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U15,U15,6176.280000000001,7884.790000000001,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»ç³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G16,G16,5513.96,'5513.96',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»ç³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M16,M16,4892.91,'4892.91',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»ç³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U16,U16,29098.950000000004,37163.600000000006,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åå °|客è¿é(ä¸äººæ¬¡),46174,M17,M17,1404.69,'1404.69',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åå °|客è¿é(ä¸äººæ¬¡),,U17,U17,8209.25,10619.96,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M18,M18,8271.86,'8271.86',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),,U18,U18,50924.43,66167.43000000001,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åå °|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M19,M19,1279.8300000000002,'1279.83',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åå °|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U19,U19,7510.09,9702.45,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åå °|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G20,G20,5431.489999999999,'5431.49',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åå °|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M20,M20,5732.650000000001,'5732.65',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åå °|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U20,U20,35238.09,45727.51,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,宿|客è¿é(ä¸äººæ¬¡),46174,M21,M21,1134.97,'1134.97',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,宿|客è¿é(ä¸äººæ¬¡),,U21,U21,6479.9800000000005,8384.43,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M22,M22,4519.92,'4519.92',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),,U22,U22,24379.8,31682.64,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,宿|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M23,M23,1092,'1092.00',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,宿|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U23,U23,6208.870000000001,8032.93,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,宿|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G24,G24,2887.33,'2887.33',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,宿|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M24,M24,3412.92,'3412.92',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,宿|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U24,U24,19322.38,24984.640000000003,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,è¥é³|客è¿é(ä¸äººæ¬¡),46174,M25,M25,1556.7799999999997,'1556.78',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,è¥é³|客è¿é(ä¸äººæ¬¡),,U25,U25,9550.51,12351.300000000001,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M26,M26,10216.330000000002,'10216.33',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),,U26,U26,62315.19,80614.21,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,è¥é³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M27,M27,1362.5800000000002,'1362.58',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,è¥é³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U27,U27,8757.59,11183.39,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,è¥é³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G28,G28,6177.57,'6177.57',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,è¥é³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M28,M28,6784.790000000001,'6784.79',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,è¥é³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U28,U28,47617.99,59703,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),46174,M29,M29,197.85999999999996,'197.86',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),,U29,U29,1367.9,1740.31,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M30,M30,1231.8200000000002,'1231.82',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U30,U30,8657.67,10961.47,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M31,M31,186.48,'186.48',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U31,U31,1270.81,1610.99,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G32,G32,1282.2099999999998,'1282.21',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M32,M32,1095.5,'1095.50',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U32,U32,7298.0199999999995,9192.599999999999,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èé¨|客è¿é(ä¸äººæ¬¡),46174,M33,M33,575.43,'575.43',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èé¨|客è¿é(ä¸äººæ¬¡),,U33,U33,3537.35,4586.0199999999995,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M34,M34,2960.0599999999995,'2960.06',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),,U34,U34,18125.48,23504.95,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èé¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M35,M35,563.61,'563.61',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èé¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U35,U35,3494.46,4522.36,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èé¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G36,G36,2764.2200000000003,'2764.22',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èé¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M36,M36,2881.5,'2881.50',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èé¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U36,U36,17856.079999999998,23107.149999999998,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åæ|客è¿é(ä¸äººæ¬¡),46174,M37,M37,458.55,'458.55',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åæ|客è¿é(ä¸äººæ¬¡),,U37,U37,2369.51,3200.3900000000003,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M38,M38,4957.09,'4957.09',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),,U38,U38,26322.71,35409.69,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åæ|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M39,M39,286.03999999999996,'286.04',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åæ|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U39,U39,1550.33,2086.77,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,åæ|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G40,G40,1667.98,'1667.98',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åæ|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M40,M40,1772.35,'1772.35',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,åæ|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U40,U40,9608.54,12932.240000000002,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èå·|客è¿é(ä¸äººæ¬¡),46174,M41,M41,772.29,'772.29',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èå·|客è¿é(ä¸äººæ¬¡),,U41,U41,4661.59,5979.490000000001,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M42,M42,4305.03,'4305.03',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U42,U42,26044.6,33407.07,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M43,M43,763.9899999999999,'763.99',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U43,U43,4604.8,5907.1,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,èå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G44,G44,4404.919999999999,'4404.92',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M44,M44,4201.97,'4201.97',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,èå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U44,U44,25326.47,32489.149999999998,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»å|客è¿é(ä¸äººæ¬¡),46174,M45,M45,668.3100000000001,'668.31',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»å|客è¿é(ä¸äººæ¬¡),,U45,U45,3851.6499999999996,5042.73,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»å|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M46,M46,9071.52,'9071.52',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»å|æ
客å¨è½¬é(ä¸äººå
¬é),,U46,U46,48939.63,65135.149999999994,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»å|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M47,M47,411.33,'411.33',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»å|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U47,U47,2513.66,3248.4999999999995,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,é»å|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G48,G48,3561.770000000001,'3561.77',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»å|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M48,M48,3579.67,'3579.67',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,é»å|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U48,U48,14336.200000000003,20227.800000000003,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,å¸å®|客è¿é(ä¸äººæ¬¡),46174,M49,M49,687.86,'687.86',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,å¸å®|客è¿é(ä¸äººæ¬¡),,U49,U49,4108.889999999999,5286.959999999999,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M50,M50,7012.860000000001,'7012.86',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),,U50,U50,48474.18,60495.15,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,å¸å®|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M51,M51,503.53000000000003,'503.53',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,å¸å®|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U51,U51,3283.4700000000003,4199.64,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,å¸å®|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G52,G52,2686.3300000000004,'2686.33',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,å¸å®|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M52,M52,2536.8500000000004,'2536.85',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,å¸å®|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U52,U52,15405.09,20003.82,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),46174,M53,M53,165.69,'165.69',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),,U53,U53,1118.96,1416.8200000000002,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M54,M54,1176.08,'1176.08',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U54,U54,8018.57,10144.04,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M55,M55,135.47,'135.47',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U55,U55,913.4,1155.86,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G56,G56,738.11,'738.11',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M56,M56,667.35,'667.35',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U56,U56,4510.08,5704.48,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ©æ½|客è¿é(ä¸äººæ¬¡),46174,M57,M57,514.0499999999998,'514.05',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ©æ½|客è¿é(ä¸äººæ¬¡),,U57,U57,3069.9799999999996,4114.53,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M58,M58,3936.6000000000004,'3936.60',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),,U58,U58,33033.39,43203.78,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ©æ½|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M59,M59,415.93000000000006,'415.93',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ©æ½|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U59,U59,2629.47,3505.5699999999997,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ©æ½|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G60,G60,2394.1600000000003,'2394.16',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ©æ½|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M60,M60,2380.29,'2380.29',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ©æ½|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U60,U60,13475.52,18393.61,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,仿¡|客è¿é(ä¸äººæ¬¡),46174,M61,M61,150.92000000000002,'150.92',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,仿¡|客è¿é(ä¸äººæ¬¡),,U61,U61,1503.5900000000001,1761.3300000000002,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M62,M62,1165.1999999999998,'1165.20',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),,U62,U62,11758.08,13756.59,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,仿¡|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M63,M63,127.91000000000001,'127.91',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,仿¡|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U63,U63,1342.29,1549.73,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,仿¡|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G64,G64,864.22,'864.22',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,仿¡|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M64,M64,902.48,'902.48',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,仿¡|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U64,U64,7790.78,9214.509999999998,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ½æ±|客è¿é(ä¸äººæ¬¡),46174,M65,M65,205.06,'205.06',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ½æ±|客è¿é(ä¸äººæ¬¡),,U65,U65,1187.71,1652.62,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M66,M66,2112.12,'2112.12',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),,U66,U66,12233.42,17021.989999999998,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ½æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M67,M67,70.14,'70.14',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ½æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U67,U67,427.96,590.92,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æ½æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G68,G68,250.58,'250.58',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ½æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M68,M68,273.55,'273.55',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æ½æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U68,U68,1669.06,2304.61,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,天é¨|客è¿é(ä¸äººæ¬¡),46174,M69,M69,125.94,'125.94',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,天é¨|客è¿é(ä¸äººæ¬¡),,U69,U69,787.95,1007.7500000000001,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M70,M70,1454.01,'1454.01',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),,U70,U70,9915.5,12612.36,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,天é¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M71,M71,62.78,'62.78',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,天é¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U71,U71,400.77,509.84999999999997,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,天é¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G72,G72,243.76,'243.76',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,天é¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M72,M72,227.97,'227.97',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,天é¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U72,U72,1448.1,1841.49,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æåº|客è¿é(ä¸äººæ¬¡),46174,M73,M73,10.45,'10.45',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æåº|客è¿é(ä¸äººæ¬¡),,U73,U73,55.38999999999999,75.32,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),46174,M74,M74,99.28,'99.28',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),,U74,U74,526.22,715.5600000000001,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æåº|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),46174,M75,M75,9.38,'9.38',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æåº|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U75,U75,52.46000000000001,70.89,æ°å¼å·®å¼ |
| | | å
¬äº¤,æ°æ®,æåº|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46082,G76,G76,69,'69.00',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æåº|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),46174,M76,M76,70.35,'70.35',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | å
¬äº¤,æ°æ®,æåº|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U76,U76,393.46000000000004,531.69,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å
¨ç|客è¿é(ä¸äººæ¬¡),,U5,U5,39797.94,52461.16,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å
¨ç|æ
客å¨è½¬é(ä¸äººå
¬é),,U6,U6,238459.04000000004,313005.31000000006,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å
¨ç|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U7,U7,37159.020000000004,48651.740000000005,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å
¨ç|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U8,U8,193688.30999999997,252897.54999999996,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ¦æ±|客è¿é(ä¸äººæ¬¡),,U9,U9,9103.72,11745.119999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),,U10,U10,71009.01999999999,91611.93999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U11,U11,9103.72,11745.119999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U12,U12,71009.01999999999,91611.93999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»ç³|客è¿é(ä¸äººæ¬¡),,U13,U13,2066.84,2716.25,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),,U14,U14,10334.2,13581.25,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»ç³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U15,U15,1936.8500000000001,2529.4,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»ç³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U16,U16,8715.84,11382.32,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åå °|客è¿é(ä¸äººæ¬¡),,U17,U17,2040.73,2707.4399999999996,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),,U18,U18,12520.359999999999,16308.66,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åå °|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U19,U19,2008.95,2666.4300000000003,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åå °|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U20,U20,8569.05,11813.66,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,宿|客è¿é(ä¸äººæ¬¡),,U21,U21,4520.78,6022.05,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),,U22,U22,22603.899999999998,30110.249999999996,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,宿|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U23,U23,4025.5200000000004,5347,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,宿|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U24,U24,19322.49,25665.6,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,è¥é³|客è¿é(ä¸äººæ¬¡),,U25,U25,2414.58,3178.58,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),,U26,U26,13980.42,18403.98,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,è¥é³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U27,U27,2077.24,2730.44,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,è¥é³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U28,U28,10656.23,14007.14,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),,U29,U29,585.9499999999999,804.8199999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U30,U30,3855.5600000000004,4982.740000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U31,U31,580.01,790.08,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U32,U32,2673.84,3629.6600000000003,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èé¨|客è¿é(ä¸äººæ¬¡),,U33,U33,2036.83,2693.72,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),,U34,U34,9165.75,12121.76,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èé¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U35,U35,1868.71,2470.8199999999997,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èé¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U36,U36,7474.84,9883.279999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åæ|客è¿é(ä¸äººæ¬¡),,U37,U37,2755.83,3682.46,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),,U38,U38,14330.32,19148.8,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åæ|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U39,U39,2245.55,2991.03,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,åæ|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U40,U40,7634.859999999999,10169.499999999998,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èå·|客è¿é(ä¸äººæ¬¡),,U41,U41,4566.16,6107.53,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U42,U42,22830.800000000003,31015.460000000003,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U43,U43,4552.33,5866,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,èå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U44,U44,18209.32,23464,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»å|客è¿é(ä¸äººæ¬¡),,U45,U45,2496.1800000000003,3231.6200000000003,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»å|æ
客å¨è½¬é(ä¸äººå
¬é),,U46,U46,14542.13,18329.5,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»å|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U47,U47,2412.3500000000004,3089.4400000000005,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,é»å|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U48,U48,12238.19,15217.39,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å¸å®|客è¿é(ä¸äººæ¬¡),,U49,U49,1434.69,1888.34,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),,U50,U50,8774.43,11587.060000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å¸å®|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U51,U51,1168.5300000000002,1535.2800000000002,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,å¸å®|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U52,U52,5225.240000000001,6881.080000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),,U53,U53,979.1500000000001,1306.6000000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U54,U54,5914.07,7891.87,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U55,U55,917.17,1223.98,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U56,U56,4329.030000000001,5777.18,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ©æ½|客è¿é(ä¸äººæ¬¡),,U57,U57,3215.91,4299.0599999999995,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),,U58,U58,20840.79,27794.620000000003,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ©æ½|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U59,U59,2948.5,3934.16,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ©æ½|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U60,U60,13708.350000000002,18252.24,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,仿¡|客è¿é(ä¸äººæ¬¡),,U61,U61,376,502,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),,U62,U62,1428.8000000000002,1907.6000000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,仿¡|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U63,U63,336,449.40000000000003,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,仿¡|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U64,U64,1142.3999999999999,1527.9599999999998,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ½æ±|客è¿é(ä¸äººæ¬¡),,U65,U65,622.96,808.7600000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),,U66,U66,3613.17,4631.339999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ½æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U67,U67,532.9599999999999,696.92,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æ½æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U68,U68,1332.4099999999999,1706.07,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,天é¨|客è¿é(ä¸äººæ¬¡),,U69,U69,486,639.0500000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),,U70,U70,2332.8,3067.44,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,天é¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U71,U71,363.40000000000003,477.76,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,天é¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U72,U72,1162.88,1528.8300000000002,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æåº|客è¿é(ä¸äººæ¬¡),,U73,U73,95.63000000000001,127.76000000000002,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),,U74,U74,382.52000000000004,511.0400000000001,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æåº|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U75,U75,81.22999999999999,108.47999999999999,æ°å¼å·®å¼ |
| | | åºç§,æ°æ®,æåº|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U76,U76,284.32,379.7,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å
¨ç|客è¿é(ä¸äººæ¬¡),,U5,U5,16384.07,22474.110000000008,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å
¨ç|æ
客å¨è½¬é(ä¸äººå
¬é),,U6,U6,98105.7900000001,133955.96000000014,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å
¨ç|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U7,U7,15289.679999999997,20816.68,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å
¨ç|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U8,U8,79642.53000000009,108116.99000000012,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ¦æ±|客è¿é(ä¸äººæ¬¡),,U9,U9,8276.951226020261,11088.570527303931,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),,U10,U10,57896.93641720795,77661.9346501225,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U11,U11,8276.951226020261,11088.570527303931,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ¦æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U12,U12,57896.93641720795,77661.9346501225,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»ç³|客è¿é(ä¸äººæ¬¡),,U13,U13,513.6524317833163,745.0823955706873,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),,U14,U14,2303.855932675847,3346.8973482776787,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»ç³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U15,U15,461.62274366185346,659.1668490809662,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»ç³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U16,U16,1418.7467177733552,2044.449565917182,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åå °|客è¿é(ä¸äººæ¬¡),,U17,U17,767.734769213929,1080.117772243713,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),,U18,U18,4214.250033279417,5802.297730905932,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åå °|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U19,U19,719.0059357794262,1007.1564313243792,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åå °|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U20,U20,2088.918746278956,3091.817529891371,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,宿|客è¿é(ä¸äººæ¬¡),,U21,U21,1686.0051583002069,2284.906006627505,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),,U22,U22,7561.9910193004125,10260.960720176892,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,宿|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U23,U23,1460.0017198266169,1953.2609262940268,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,宿|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U24,U24,4782.798598515801,6448.920128683533,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,è¥é³|客è¿é(ä¸äººæ¬¡),,U25,U25,1583.018066334676,2181.733831681401,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),,U26,U26,8219.7335257433,11344.304564035821,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,è¥é³|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U27,U27,1303.494727353259,1782.4507179837528,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,è¥é³|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U28,U28,4559.395311476809,6288.810387758712,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),,U29,U29,208.5915765643878,298.9315364949481,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U30,U30,1230.502915184737,1649.8514018453882,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U31,U31,195.97223426227208,277.0997698144388,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U32,U32,615.7810794573255,875.5656742316046,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èé¨|客è¿é(ä¸äººæ¬¡),,U33,U33,307.2768094364829,448.36725610070494,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),,U34,U34,1240.086200850952,1812.4172471198792,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èé¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U35,U35,268.3414937088589,389.3181364182719,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èé¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U36,U36,732.381719842786,1073.187301522511,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åæ|客è¿é(ä¸äººæ¬¡),,U37,U37,388.731283906958,561.0152985486853,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),,U38,U38,1812.8758514513738,2620.402703498781,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åæ|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U39,U39,301.6387207930702,431.3241363004601,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,åæ|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U40,U40,699.6995378557159,1010.1198384889449,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èå·|客è¿é(ä¸äººæ¬¡),,U41,U41,689.9909286676384,978.4625855192073,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U42,U42,3094.1277799457457,4474.670193958618,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U43,U43,654.0841380199126,884.2405326518456,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,èå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U44,U44,1784.5444134268691,2431.706515087877,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»å|客è¿é(ä¸äººæ¬¡),,U45,U45,389.69971151859323,565.8775967810398,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»å|æ
客å¨è½¬é(ä¸äººå
¬é),,U46,U46,2020.356730240677,2838.472133701603,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»å|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U47,U47,357.80984667647317,509.56043732738783,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,é»å|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U48,U48,1228.272116791191,1698.3457370255849,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å¸å®|客è¿é(ä¸äººæ¬¡),,U49,U49,710.1943821265304,919.7307169268723,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),,U50,U50,3899.402550688465,5070.30400911845,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å¸å®|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U51,U51,553.9640752425487,712.4650914210579,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,å¸å®|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U52,U52,1692.002492563809,2195.49122769483,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|客è¿é(ä¸äººæ¬¡),,U53,U53,108.7857744325686,163.00693483258158,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),,U54,U54,589.2426806031549,884.472801255585,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U55,U55,97.0874402134117,144.6159531087274,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,éå·|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U56,U56,312.6290049932284,470.675011023445,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ©æ½|客è¿é(ä¸äººæ¬¡),,U57,U57,528.6742066831321,822.6747493053571,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),,U58,U58,3061.6441938065886,4763.045679122509,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ©æ½|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U59,U59,460.3228507849884,710.6290556219394,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ©æ½|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U60,U60,1458.674860345012,2271.220966199628,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,仿¡|客è¿é(ä¸äººæ¬¡),,U61,U61,79.98356000455382,118.51164761892892,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),,U62,U62,272.44231072549934,404.3903037596158,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,仿¡|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U63,U63,68.3882807969825,100.83443064512001,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,仿¡|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U64,U64,158.2985090345263,235.8798609207951,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ½æ±|客è¿é(ä¸äººæ¬¡),,U65,U65,73.67075888020761,107.92276395801241,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),,U66,U66,383.0747148625071,551.9003339024423,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ½æ±|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U67,U67,60.17956657558272,88.48967759528222,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æ½æ±|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U68,U68,102.4871945248859,147.7021025121702,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,天é¨|客è¿é(ä¸äººæ¬¡),,U69,U69,70.07658110602671,107.57829931570191,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),,U70,U70,301.5644366676026,463.8175727603175,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,天é¨|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U71,U71,49.979870768034175,76.19612121207408,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,天é¨|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U72,U72,108.9788358320163,168.029295632831,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æåº|客è¿é(ä¸äººæ¬¡),,U73,U73,1.0327750205277542,1.6200811707253961,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),,U74,U74,3.702706765867998,5.820606438110038,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æåº|å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡),,U75,U75,0.835129516446933,1.30120589634181,æ°å¼å·®å¼ |
| | | ç½çº¦è½¦,æ°æ®,æåº|å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
¬é),,U76,U76,1.9844440798582696,3.1342072866171797,æ°å¼å·®å¼ |
| | | 轨éã轮渡,æ°æ®,å°åºåç§°|ææ ,8æä¸å»å¹´åæ¯,R2,R2,'8æä¸å»å¹´åæ¯','忝',ææ¬ä¸å |
| | | 轨éã轮渡,æ°æ®,æ¦æ±|轨éæ
客å¨è½¬é(ä¸äººå
¬é),2026å¹´6æ,M7,M7,99225.68,'99225.68',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | 轨éã轮渡,æ°æ®,é»ç³|轨éæ
客å¨è½¬é(ä¸äººå
¬é),2026å¹´6æ,M9,M9,468.48,'468.48',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | 轨éã轮渡,æ°æ®,å°åºåç§°|ææ ,8æä¸å»å¹´åæ¯,R11,R11,'8æä¸å»å¹´åæ¯','忝',ææ¬ä¸å |
| | | 轨éã轮渡,æ°æ®,å
¨ç|轮渡æ
客å¨è½¬é(ä¸äººå
¬é),2026å¹´2æ,E14,E14,227.8,'227.80',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | 轨éã轮渡,æ°æ®,æ¦æ±|轮渡客è¿é(ä¸äººæ¬¡),2026å¹´2æ,E15,E15,67,'67.00',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | 轨éã轮渡,æ°æ®,æ¦æ±|轮渡æ
客å¨è½¬é(ä¸äººå
¬é),2026å¹´2æ,E16,E16,227.8,'227.80',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ä¸å£å¾æç»,æ°æ®,ä¸å£å¾å®¢è¿é,=S99-ç½çº¦è½¦!S6+ç½çº¦è½¦!S8-åºç§!S6+åºç§!S8-å
¬äº¤!S6+å
¬äº¤!S8-ç线å
车!S5|累计,S1,S1,2.9103830456733704e-11,3.2741809263825417e-11,åæ´å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å
¨ç|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U99,U99,1102278.385724,1256684.215724,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å
¨ç|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U100,U100,802842.265724,918501.375724,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å
¨ç|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U101,U101,224768.97,252236.11,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å
¨ç|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U102,U102,52505.70999999999,60107.759999999995,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å
¨ç|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U103,U103,22161.44,25838.969999999983,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ¦æ±|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U104,U104,127804.0047,146257.0186,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ¦æ±|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U105,U105,123967.9247,141951.9086,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ¦æ±|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U106,U106,3836.0799999999945,4305.109999999997,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»ç³|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U109,U109,47738.11548924788,54160.1262823605,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»ç³|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U110,U110,18630.4089,21201.5285,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»ç³|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U111,U111,26134.84,29457.22,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»ç³|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U112,U112,1885.9399999999996,2198.9299999999994,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»ç³|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U113,U113,1086.92658924788,1302.447782360497,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åå °|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U114,U114,66117.07779545893,74765.31760101457,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åå °|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U115,U115,41058.0762,47119.917400000006,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åå °|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U116,U116,18257.02,20439.920000000002,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åå °|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U117,U117,4355.01,4495,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åå °|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U118,U118,2446.97159545892,2710.4802010145613,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,宿|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U119,U119,131717.27464958615,152331.53849149335,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,宿|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U120,U120,118666.18149999998,137376.84789999996,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,宿|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U121,U121,5850.73,6698,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,宿|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U122,U122,3888.1400000000003,4444.650000000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,宿|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U123,U123,3312.223149586145,3812.040591493359,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,è¥é³|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U124,U124,128032.45987136237,146124.57794027711,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,è¥é³|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U125,U125,101998.79516400001,115761.033764,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,è¥é³|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U126,U126,17806.730000000003,20911.210000000003,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,è¥é³|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U127,U127,3865.5799999999995,4396.839999999999,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,è¥é³|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U128,U128,4361.354707362358,5055.494176277109,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U129,U129,19115.041938669896,21664.60542761378,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U130,U130,15582.5108,17768.3697,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U131,U131,1569.46,1768.8700000000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U132,U132,1267.89,1353.0800000000002,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U133,U133,695.1811386698976,774.2857276137836,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èé¨|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U134,U134,31205.974567234833,35503.62584559737,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èé¨|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U135,U135,28294.2373,32128.1159,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èé¨|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U136,U136,332.5100000000002,397.8000000000002,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èé¨|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U137,U137,1960.3,2238.48,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èé¨|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U138,U138,618.92726723483,739.229945597368,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åæ|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U139,U139,55219.75551277897,62803.011925009836,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åæ|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U140,U140,26327.91106,29735.979059999998,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åæ|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U141,U141,19670.329999999998,22477.449999999997,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åæ|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U142,U142,7865.450000000001,8979.300000000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,åæ|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U143,U143,1356.064452778971,1610.2828650098359,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èå·|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U144,U144,86333.40921650287,98333.35807887075,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èå·|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U145,U145,77866.88769999999,87821.01439999999,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èå·|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U146,U146,814.2999999999993,917.9199999999992,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èå·|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U147,U147,5981.58,7551.460000000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,èå·|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U148,U148,1670.6415165028661,2042.9636788707421,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»å|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U149,U149,105024.65272782632,119517.39269667602,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»å|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U150,U150,61493.677500000005,70357.80630000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»å|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U151,U151,39881.60999999999,44907.34999999999,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»å|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U152,U152,2690.0999999999995,3112.1099999999997,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,é»å|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U153,U153,959.265227826317,1140.126396676018,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å¸å®|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U154,U154,84103.02473199645,93642.88608142361,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å¸å®|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U155,U155,40458.0831,45570.763300000006,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å¸å®|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U156,U156,36968.96,40491.33,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å¸å®|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U157,U157,4130.889999999999,4705.98,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,å¸å®|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U158,U158,2545.0916319964626,2874.8127814236213,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U159,U159,53902.35853382558,61063.98519023214,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U160,U160,47736.6942,54095.937399999995,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U161,U161,3974.7699999999995,4439.5599999999995,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U162,U162,1849.44,2114.69,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,éå·|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U163,U163,341.45433382558315,413.79779023213996,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ©æ½|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U164,U164,122073.18520520045,140064.22921292286,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ©æ½|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U165,U165,88859.5657,103219.8545,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ©æ½|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U166,U166,22848.91,24810.17,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ©æ½|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U167,U167,8331.419999999998,9542.379999999997,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ©æ½|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U168,U168,2033.289505200463,2491.824712922881,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,仿¡|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U169,U169,7285.424912889523,8124.17164283882,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,仿¡|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U170,U170,2552.6529,3033.9412,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,仿¡|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U171,U171,4257.9800000000005,4542.080000000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,仿¡|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U172,U172,332.28,379.64,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,仿¡|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U173,U173,142.51201288952382,168.51044283882072,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ½æ±|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U174,U174,16984.905293997494,19573.242831390275,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ½æ±|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U175,U175,1305.1146,1526.3946,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ½æ±|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U176,U176,12701.830000000002,14717.380000000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ½æ±|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U177,U177,2631.82,2925.2700000000004,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æ½æ±|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U178,U178,346.14069399749206,404.19823139027204,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,天é¨|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U179,U179,16879.573318792896,19176.282477127486,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,天é¨|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U180,U180,5578.4541,6571.0142,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,天é¨|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U181,U181,9702.95,10770.87,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,天é¨|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U182,U182,1354.94,1538.6100000000001,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,天é¨|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U183,U183,243.22921879289592,295.78827712748654,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æåº|æ»æ
客å¨è½¬é(ä¸äººå
¬é),,U184,U184,2742.1472586293976,3578.845399151493,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æåº|å
¬è·¯ç线æ
客å¨è½¬é(ä¸äººå
¬é),,U185,U185,2465.0903,3260.9489999999996,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æåº|åé
å乡å
¬äº¤æ
客å¨è½¬é(ä¸äººå
¬é),,U186,U186,159.95999999999998,183.86999999999998,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æåº|åé
å乡巡游åºç§æ
客å¨è½¬é(ä¸äººå
¬é),,U187,U187,114.92999999999999,131.34,æ°å¼å·®å¼ |
| | | ä¸å£å¾æç»,æ°æ®,æåº|åé
å乡ç½çº¦è½¦æ
客å¨è½¬é(ä¸äººå
¬é),,U188,U188,2.166958629397518,2.686399151492858,æ°å¼å·®å¼ |
| | | å叿±æ»,æ°æ®,åç±»|客è¿é(ä¸äººæ¬¡),忝|0.00117184,C13,C13,'忝',None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åç±»|客è¿é(ä¸äººæ¬¡),累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D13,D13,'å¨è½¬éï¼ä¸äººå
¬éï¼',None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åç±»|客è¿é(ä¸äººæ¬¡),忝|0.00835472,E13,E13,'忝',None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,æ»å®¢è¿é|32215.7,忝|0.00117184,C14,C14,0.0443952615401972,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,æ»å®¢è¿é|32215.7,累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D14,D14,201812.55,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,æ»å®¢è¿é|32215.7,忝|0.00835472,E14,E14,0.04680493557025811,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸å
¬äº¤|10878.7,忝|0.00117184,C15,C15,-0.020975861740020817,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸å
¬äº¤|10878.7,累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D15,D15,56014.969999999994,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸å
¬äº¤|10878.7,忝|0.00835472,E15,E15,-0.010734896413653985,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸åºç§è½¦|9864.09,忝|0.00117184,C16,C16,0.16498211915211244,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸åºç§è½¦|9864.09,累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D16,D16,50423.53,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸åºç§è½¦|9864.09,忝|0.00835472,E16,E16,0.15632369843574703,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,å
¶ä¸:åå¸å·¡æ¸¸åºç§è½¦|5292.91,忝|0.00117184,C17,C17,-0.07249000276873366,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,å
¶ä¸:åå¸å·¡æ¸¸åºç§è½¦|5292.91,累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D17,D17,27056.44,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,å
¶ä¸:åå¸å·¡æ¸¸åºç§è½¦|5292.91,忝|0.00835472,E17,E17,-0.0793831940487528,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸ç½çº¦è½¦|4571.18,忝|0.00117184,C18,C18,0.6558766635996788,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸ç½çº¦è½¦|4571.18,累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D18,D18,23367.090000000004,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,åå¸ç½çº¦è½¦|4571.18,忝|0.00835472,E18,E18,0.6435685000446637,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,轨é|11405.3,忝|0.00117184,C19,C19,0.017262201006441515,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,轨é|11405.3,累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D19,D19,95144.24,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,轨é|11405.3,忝|0.00835472,E19,E19,0.03002696852884965,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,轮渡|67.59,忝|0.00117184,C20,C20,0.21674167416741685,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,轮渡|67.59,累计å¨è½¬é(ä¸äººå
¬é)|1.68147e+06,D20,D20,229.81,None,ä»
软件æå¼ |
| | | å叿±æ»,æ°æ®,轮渡|67.59,忝|0.00835472,E20,E20,0.2167628527558638,None,ä»
软件æå¼ |
| | | è´§è¿å¨è½¬éæå,æ°æ®,å
¨ç,è§ä¸å¢é,J5,J26,0.01415852628504477,0.0141585262862789,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2æä¸å»å¹´åæ¯,BA5,BB5,-0.3259271573835075,-0.32592699999868746,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),3æä¸å»å¹´åæ¯,BC5,BD5,0.04647015984992553,0.04647016055967912,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),4æä¸å»å¹´åæ¯,BE5,BF5,0.12175617404972017,0.1217558476136098,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),5æä¸å»å¹´åæ¯,BG5,BH5,0.09469759976345893,0.0946979425523109,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),12æä¸å»å¹´åæ¯,BU5,BV5,0.10905865660861669,0.10905865668884962,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,BW5,BX5,0.06872929687359908,0.06872931708163765,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),1æä¸å»å¹´åæ¯,BZ5,CA5,-0.13469121324297262,-0.13469146371690677,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2023å¹´2æ,CA5,CB5,11992.289999999997,11992.2872,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2æä¸å»å¹´åæ¯,CB5,CC5,0.4935507740558167,0.49355042533658455,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2023å¹´3æ,CC5,CD5,14744.155460183607,14744.1554501836,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),3æä¸å»å¹´åæ¯,CD5,CE5,0.17377825653347467,0.17377825298399863,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2023å¹´4æ,CE5,CF5,14303.60000000001,14303.6041624134,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),4æä¸å»å¹´åæ¯,CF5,CG5,0.23803531215379192,0.2380356724277628,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2023å¹´5æ,CG5,CH5,14764.37999999999,14764.375376747601,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),5æä¸å»å¹´åæ¯,CH5,CI5,0.16948351086928226,0.16948307550359232,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),11æä¸å»å¹´åæ¯,CT5,CU5,0.17257538487654434,0.1725754703274529,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),45261,CU5,CV5,16355.307701183196,16355.3077,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),12æä¸å»å¹´åæ¯,CV5,CW5,0.19188566831439102,0.19188575508630312,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),累计,CW5,CX5,173045.29642851182,173045.2931564896,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,CX5,CY5,0.19358637623628638,0.1935863299894891,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),12æç¯æ¯%,CZ5,DA5,0.016468266080717386,0.016468266007182875,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),6æç¯æ¯%,DF5,DG5,-0.003274621102300812,-0.0032743089920441726,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),5æç¯æ¯%,DG5,DH5,0.03221426773679226,0.032213644134881925,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),4æç¯æ¯%,DH5,DI5,-0.02988000644549027,-0.029879723478140274,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),3æç¯æ¯%,DI5,DJ5,0.2294695558716151,0.22946984209847798,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2æä»½ç¯æ¯,DJ5,DK5,0.29407922247315843,0.29407892032721095,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),1æä»½ç¯æ¯,DK5,DL5,-0.3246682992848995,-0.3246682500704024,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2022å¹´1æ,DM5,DN5,10709.5234,10709.5265,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2022å¹´3æ,DO5,DP5,12561.27840000001,12561.2784294655,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2022å¹´5æ,DQ5,DR5,12624.701299999999,12624.7020465772,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2022å¹´12æ,DX5,DY5,13722.211900000006,13722.2109,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),累计,DZ5,EA5,144979.28249999997,144979.285376043,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,EA5,EB5,-0.10123548779789115,-0.101235470414284,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2021å¹´1æ,EC5,ED5,14945.336060000003,14945.3361,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2021å¹´2æ,ED5,EE5,6495.005440000003,6495.0054,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2021å¹´3æ,EE5,EF5,11923.963759999997,11923.9638,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),2021å¹´4æ,EF5,EG5,14358.291360000003,14358.2914,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§è¿é(ä¸å¨),累计,EO5,EP5,161309.53162000002,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2æä¸å»å¹´åæ¯,BA6,BB6,-0.30623222152889906,-0.3062322234049324,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),4æä¸å»å¹´åæ¯,BE6,BF6,0.06467071585099982,0.06467071760258558,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),12æä¸å»å¹´åæ¯,BU6,BV6,0.08879104867917631,0.08879104853039399,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,BW6,BX6,0.03416386282757555,0.034163862753850305,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2023å¹´2æ,CA6,CB6,1738086.6899999995,1738086.6946999999,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2æä¸å»å¹´åæ¯,CB6,CC6,0.5142112309110594,0.5142112350056727,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),3æä¸å»å¹´åæ¯,CD6,CE6,0.2018125227060572,0.20181252272301387,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2023å¹´4æ,CE6,CF6,1997282.69,1997282.68671409,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),4æä¸å»å¹´åæ¯,CF6,CG6,0.1940999140443589,0.194099912079837,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),5æä¸å»å¹´åæ¯,CH6,CI6,0.17198567116825836,0.17198567113378216,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),11æä¸å»å¹´åæ¯,CT6,CU6,0.11906446147253447,0.11906446006220461,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),45261,CU6,CV6,2299312.1948858015,2299312.1952,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),12æä¸å»å¹´åæ¯,CV6,CW6,0.1591073851100362,0.15910738380763223,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,CW6,CX6,24243256.54425965,24243256.545987938,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,CX6,CY6,0.17756624707975566,0.17756624701915347,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),,CY6,CZ6,25019040.75367596,25019040.75545955,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),12æç¯æ¯%,CZ6,DA6,0.035782499593286055,0.03578249973482461,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),5æç¯æ¯%,DG6,DH6,0.02429572450758055,0.024295726192741895,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),4æç¯æ¯%,DH6,DI6,-0.029113551944278226,-0.02911355354157108,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),3æç¯æ¯%,DI6,DJ6,0.18358557942019593,0.18358557621963478,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2æä»½ç¯æ¯,DJ6,DK6,0.193528873607178,0.193528876834627,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),1æä»½ç¯æ¯,DK6,DL6,-0.2658847697994972,-0.2658847707246848,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2022å¹´3æ,DO6,DP6,1711726.499100001,1711726.49907585,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2022å¹´5æ,DQ6,DR6,1745591.4098,1745591.40985135,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2022å¹´12æ,DX6,DY6,1983692.127600001,1983692.1301,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,DZ6,EA6,20587594.6295,20587594.6320272,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA6,EB6,-0.06257169309527677,-0.0625716929823387,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2021å¹´1æ,EC6,ED6,2157113.301829999,2157113.3018,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2021å¹´3æ,EE6,EF6,1676879.9555499996,1676879.9556,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),2021å¹´4æ,EF6,EG6,1941623.1793699996,1941623.1794,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO6,EP6,21961780.413349997,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),,CY7,CZ7,0.1774344725554818,0.17743447591049671,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,EA7,EB7,0.014026560257553777,0.0140265553784427,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),,EB7,EC7,0.05814495253830493,0.05814495138484783,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2021å¹´4æ,EF7,EG7,698.0137599999999,698.0138,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),累计,EO7,EP7,8313.20779,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),,CY8,CZ8,0.20930179737348306,0.20930179735856203,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA8,EB8,0.1953712101706122,0.195371210139514,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),,EB8,EC8,0.0669548170831396,0.06695481707492067,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2021å¹´4æ,EF8,EG8,95953.91117,95953.9112,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO8,EP8,1153146.92279,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2æä¸å»å¹´åæ¯,BA9,BB9,-0.4595914039715734,-0.45959125056008465,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),3æä¸å»å¹´åæ¯,BC9,BD9,-0.04247633985129007,-0.04247633907377968,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),4æä¸å»å¹´åæ¯,BE9,BF9,0.03483363954859575,0.03483327027290195,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),5æä¸å»å¹´åæ¯,BG9,BH9,0.010834525673049544,0.010834909959420269,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),12æä¸å»å¹´åæ¯,BU9,BV9,0.007937879960076,0.0079378800495018,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,BW9,BX9,-0.029999493353130458,-0.029999471055541238,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),1æä¸å»å¹´åæ¯,BZ9,CA9,-0.2538311979204889,-0.2538314274525072,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2023å¹´2æ,CA9,CB9,9863.306299999997,9863.3035,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2æä¸å»å¹´åæ¯,CB9,CC9,0.3192724850826718,0.3192721105669829,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2023å¹´3æ,CC9,CD9,12315.271060183608,12315.2710501836,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),3æä¸å»å¹´åæ¯,CD9,CE9,0.03389647200677981,0.033896468609706965,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2023å¹´4æ,CE9,CF9,11664.46620000001,11664.4703624134,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),4æä¸å»å¹´åæ¯,CF9,CG9,0.06536399947745952,0.06536437964791109,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2023å¹´5æ,CG9,CH9,12161.099799999989,12161.0951767476,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),5æä¸å»å¹´åæ¯,CH9,CI9,0.014611766261230175,0.014611317341293395,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),11æä¸å»å¹´åæ¯,CT9,CU9,0.03997168642578708,0.0399717683320957,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),45261,CU9,CV9,13336.078001183196,13336.078,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),12æä¸å»å¹´åæ¯,CV9,CW9,0.050325547127978876,0.05032562975655286,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),累计,CW9,CX9,142341.09552851183,142341.09225648962,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,CX9,CY9,0.04241412706271186,0.04241408114492362,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),12æç¯æ¯%,CZ9,DA9,0.009955906336043041,0.009955906246438495,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),6æç¯æ¯%,DF9,DG9,-0.010991945836213435,-0.010991569847556226,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),5æç¯æ¯%,DG9,DH9,0.042576624723725365,0.04257585633158989,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),4æç¯æ¯%,DH9,DI9,-0.05284535411386193,-0.052845015356807634,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),3æç¯æ¯%,DI9,DJ9,0.24859460769089292,0.24859496112875368,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2æä»½ç¯æ¯,DJ9,DK9,0.31168654072269275,0.31168616836050467,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),1æä»½ç¯æ¯,DK9,DL9,-0.40777292277206884,-0.40777287612932384,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2022å¹´1æ,DM9,DN9,10077.5595,10077.5626,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2022å¹´3æ,DO9,DP9,11911.51280000001,11911.5128294655,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2022å¹´5æ,DQ9,DR9,11985.963699999998,11985.9644465772,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2022å¹´12æ,DX9,DY9,12697.090000000006,12697.089,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),累计,DZ9,EA9,136549.46899999998,136549.471876043,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,EA9,EB9,-0.10749836609325825,-0.107498346536789,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2021å¹´1æ,EC9,ED9,14160.085080000003,14160.0851,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),2021å¹´2æ,ED9,EE9,5975.687650000003,5975.6875,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§è¿é(ä¸å¨),累计,EO9,EP9,152996.32383,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2æä¸å»å¹´åæ¯,BA10,BB10,-0.4154297706288229,-0.41542977263195713,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),4æä¸å»å¹´åæ¯,BE10,BF10,-0.0058127227356115085,-0.00581272067270322,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),12æä¸å»å¹´åæ¯,BU10,BV10,-0.031018696165214465,-0.031018696335082807,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,BW10,BX10,-0.05189933685184023,-0.05189933693732107,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2023å¹´2æ,CA10,CB10,1371590.5321999996,1371590.5369,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2æä¸å»å¹´åæ¯,CB10,CC10,0.3056523560132123,0.3056523604872634,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),3æä¸å»å¹´åæ¯,CD10,CE10,0.02483825012726726,0.024838250142626528,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2023å¹´4æ,CE10,CF10,1583594.0229,1583594.01961409,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),4æä¸å»å¹´åæ¯,CF10,CG10,0.0007859135844336951,0.0007859115078328038,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),5æä¸å»å¹´åæ¯,CH10,CI10,-0.01535442492497463,-0.015354424955666413,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),11æä¸å»å¹´åæ¯,CT10,CU10,-0.027309853371422443,-0.027309854719284488,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),45261,CU10,CV10,1792284.6330858017,1792284.6334,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),12æä¸å»å¹´åæ¯,CV10,CW10,-0.006568266278148216,-0.006568267480597467,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,CW10,CX10,19169099.37535965,19169099.37708794,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,CX10,CY10,-0.002085287950538417,-0.0020852879918542566,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),12æç¯æ¯%,CZ10,DA10,0.021323940789537366,0.02132394096858148,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),5æç¯æ¯%,DG10,DH10,0.02431473593812039,0.024314738063542674,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),4æç¯æ¯%,DH10,DI10,-0.04110006309926317,-0.0411000650889517,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),3æç¯æ¯%,DI10,DJ10,0.20405433385229133,0.2040543297263837,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2æä»½ç¯æ¯,DJ10,DK10,0.20954795733560008,0.2095479614803326,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),1æä»½ç¯æ¯,DK10,DL10,-0.3714607053696277,-0.37146070624059807,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2022å¹´3æ,DO10,DP10,1611444.073600001,1611444.07357585,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2022å¹´5æ,DQ10,DR10,1647393.4728,1647393.47285135,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2022å¹´12æ,DX10,DY10,1804134.6700000009,1804134.6725,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,DZ10,EA10,19209155.9969,19209155.9994272,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA10,EB10,-0.0768660515062467,-0.0768660513821359,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),2021å¹´2æ,ED10,EE10,1020210.4993599998,1020210.4993,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å
¨ç|å
¶ä¸è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO10,EP10,20808633.490559995,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ¦æ±|è§ä¸è´§è¿é(ä¸å¨),累计,EO12,EP11,2653.07492,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ¦æ±|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),8æç¯æ¯%,DD14,DE12,0.1774344725554818,0.17743447591049671,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,æ¦æ±|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO14,EP12,6678874.299222901,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ¦æ±|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),8æç¯æ¯%,DD15,DE13,0.20930179737348306,0.20930179735856203,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,æ¦æ±|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO15,EP13,412262.2015499999,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ¦æ±|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO16,EP14,6266612.097672901,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»ç³|è§ä¸è´§è¿é(ä¸å¨),累计,EO18,EP15,1435.6778599999998,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»ç³|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO20,EP16,465459.1541002903,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»ç³|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO21,EP17,36761.33706,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»ç³|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO22,EP18,428697.81704029033,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åå °|è§ä¸è´§è¿é(ä¸å¨),累计,EO24,EP19,185.70419,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åå °|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO26,EP20,454971.7209087118,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åå °|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO27,EP21,21335.284040000002,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åå °|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO28,EP22,433636.4368687118,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,宿|è§ä¸è´§è¿é(ä¸å¨),累计,EO30,EP23,575.3451,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,宿|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO32,EP24,1070313.9672362313,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,宿|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO33,EP25,108694.70645999997,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,宿|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO34,EP26,961619.2607762313,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,è¥é³|è§ä¸è´§è¿é(ä¸å¨),累计,EO36,EP27,656.1511499999999,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,è¥é³|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO38,EP28,5491979.075171484,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,è¥é³|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO39,EP29,120579.77257,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,è¥é³|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO40,EP30,5371399.302601485,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸è´§è¿é(ä¸å¨),累计,EO42,EP31,267.5108,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO44,EP32,150308.76446841884,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO45,EP33,9519.9237,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO46,EP34,140788.84076841883,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èé¨|è§ä¸è´§è¿é(ä¸å¨),累计,EO48,EP35,170.5474,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èé¨|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO50,EP36,1164929.0764394852,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èé¨|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO51,EP37,47169.18646,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èé¨|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO52,EP38,1117759.8899794852,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åæ|è§ä¸è´§è¿é(ä¸å¨),累计,EO54,EP39,279.06606999999997,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åæ|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO56,EP40,473167.29755546176,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åæ|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO57,EP41,46930.417949999995,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,åæ|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO58,EP42,426236.8796054617,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èå·|è§ä¸è´§è¿é(ä¸å¨),累计,EO60,EP43,449.15995,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èå·|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO62,EP44,1557587.443872681,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èå·|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO63,EP45,107486.43884,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,èå·|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO64,EP46,1450101.0050326807,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»å|è§ä¸è´§è¿é(ä¸å¨),累计,EO66,EP47,540.1548,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»å|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO68,EP48,1132738.0107476648,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»å|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO69,EP49,85269.47769,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,é»å|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO70,EP50,1047468.5330576648,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å¸å®|è§ä¸è´§è¿é(ä¸å¨),累计,EO72,EP51,89.36540000000001,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å¸å®|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO74,EP52,546278.0372249647,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å¸å®|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO75,EP53,7111.533399999998,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å¸å®|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO76,EP54,539166.5038249647,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸è´§è¿é(ä¸å¨),累计,EO78,EP55,23.731219999999997,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO80,EP56,1362641.0472375695,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO81,EP57,25334.99079,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,éå·|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO82,EP58,1337306.0564475693,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ©æ½|è§ä¸è´§è¿é(ä¸å¨),累计,EO84,EP59,34.348400000000005,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ©æ½|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO86,EP60,587538.9542579086,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ©æ½|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO87,EP61,4915.344300000001,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ©æ½|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO88,EP62,582623.6099579087,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,仿¡|è§ä¸è´§è¿é(ä¸å¨),累计,EO90,EP63,0,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,仿¡|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA92,EB64,-0.014716890297826635,0.0861759439924117,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,仿¡|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO92,EP64,174715.639567205,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,仿¡|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA93,EB65,None,'#DIV/0!',ä»
æå·¥æå¼ |
| | | è´§è¿,æ°æ®,仿¡|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO93,EP65,0,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,仿¡|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA94,EB66,-0.014716890297826635,0.0861759439924117,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,仿¡|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO94,EP66,174715.639567205,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ½æ±|è§ä¸è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,EA96,EB67,0.17927552472853048,0.282164375758668,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,æ½æ±|è§ä¸è´§è¿é(ä¸å¨),累计,EO96,EP67,225.65049,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ½æ±|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA98,EB68,-0.058086589654320786,0.0248055028126148,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,æ½æ±|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO98,EP68,316605.69105947675,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ½æ±|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO99,EP69,61558.660130000004,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æ½æ±|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA100,EB70,-0.11356122917111411,-0.0369708863263284,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,æ½æ±|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO100,EP70,255047.03092947675,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,天é¨|è§ä¸è´§è¿é(ä¸å¨),ç´¯è®¡åæ¯,EA102,EB71,0.07614997107953769,0.197304029150807,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,天é¨|è§ä¸è´§è¿é(ä¸å¨),累计,EO102,EP71,727.72004,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,天é¨|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA104,EB72,-0.042328172408227505,0.0592616926181349,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,天é¨|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO104,EP72,313422.8564262737,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,天é¨|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO105,EP73,58217.64785,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,天é¨|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA106,EB74,-0.06256225467560805,0.0355008526230451,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,天é¨|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO106,EP74,255205.2085762737,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æåº|è§ä¸è´§è¿é(ä¸å¨),累计,EO108,EP75,0,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æåº|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA110,EB76,-0.04778443610214134,0.0951581405110749,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,æåº|è§ä¸+è§ä¸å¨è½¬é(ä¸å¨å
¬é),累计,EO110,EP76,20249.377853271875,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æåº|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA111,EB77,None,'#DIV/0!',ä»
æå·¥æå¼ |
| | | è´§è¿,æ°æ®,æåº|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO111,EP77,0,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,æåº|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),ç´¯è®¡åæ¯,EA112,EB78,-0.22284816525405782,-0.106185415882961,æ°å¼å·®å¼ |
| | | è´§è¿,æ°æ®,æåº|è§ä¸è´§ç©å¨è½¬é(ä¸å¨å
¬é),累计,EO112,EP78,20249.377853271875,None,ä»
软件æå¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´2æ,X115,Y81,-5.1954884838778526e-11,6.446043698815629e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´3æ,Z115,AA81,1.2801137927453965e-10,1.1596057447604835e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´4æ,AB115,AC81,-3.865352482534945e-11,7.776179700158536e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´5æ,AD115,AE81,1.509761204943061e-10,3.456079866737127e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´7æ,AH115,AI81,-1.4711076801177114e-10,-3.069544618483633e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´8æ,AJ115,AK81,5.1386450650170445e-11,-6.502887117676437e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´11æ,AP115,AQ81,1.3676526577910408e-10,2.034994395216927e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´12æ,AR115,AS81,1.701891960692592e-10,5.377387424232438e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´3æ,BB115,BC81,-1.6416379367001355e-10,6.866684998385608e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´4æ,BD115,BE81,-1.502939994679764e-10,8.253664418589324e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´6æ,BH115,BI81,6.127720553195104e-11,-5.5138116294983774e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´7æ,BJ115,BK81,-1.4642864698544145e-10,-3.001332515850663e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´9æ,BN115,BO81,-1.1687006917782128e-10,0,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´10æ,BP115,BQ81,-4.411049303598702e-11,7.23048287909478e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´12æ,BT115,BU81,1.1164047464262694e-10,-4.774847184307873e-12,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´2æ,X117,Y83,2.6216184778604656e-10,2.9331204132176936e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´3æ,Z117,AA83,3.497007128316909e-10,1.1687006917782128e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´4æ,AB117,AC83,5.35919753019698e-10,-3.9540282159578055e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´5æ,AD117,AE83,3.54702933691442e-11,5.011315806768835e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´6æ,AF117,AG83,3.731770448212046e-11,9.68640279097599e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´7æ,AH117,AI83,4.672529030358419e-10,7.000835466897115e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´8æ,AJ117,AK83,-6.921254680491984e-10,-2.2646418074145913e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´9æ,AL117,AM83,7.266862667165697e-10,-2.0463630789890885e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´10æ,AN117,AO83,1.2141754268668592e-10,-1.1141310096718371e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´11æ,AP117,AQ83,-2.6989255275111645e-10,-3.7061909097246826e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´12æ,AR117,AS83,-3.0661340133519843e-10,-1.0051053322968073e-09,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´2æ,AZ117,BA83,-2.2794210963184014e-10,1.213038558489643e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´3æ,BB117,BC83,-1.8394530343357474e-10,-4.1677594708744437e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´4æ,BD117,BE83,7.571543392259628e-11,-6.227764970390126e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´5æ,BF117,BG83,-2.759179551503621e-10,1.586727194080595e-09,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´6æ,BH117,BI83,3.666400516522117e-11,1.2008172234345693e-09,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´7æ,BJ117,BK83,2.376054908381775e-10,-9.265477274311706e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´9æ,BN117,BO83,1.7189449863508344e-10,-2.937667886726558e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´10æ,BP117,BQ83,1.2147438610554673e-10,-3.4418690120219253e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´11æ,BR117,BS83,-1.610089839232387e-10,7.182165973063093e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´12æ,BT117,BU83,1.61662683240138e-10,-7.116796041373163e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´3æ,Z118,AA84,3.0377123039215803e-10,-1.6189005691558123e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´4æ,AB118,AC84,3.3924152376130223e-10,-5.920810508541763e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´5æ,AD118,AE84,5.820766091346741e-11,9.89530235528946e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´6æ,AF118,AG84,-1.6279955161735415e-10,7.685230229981244e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´7æ,AH118,AI84,-1.7917045624926686e-10,2.864908310584724e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´8æ,AJ118,AK84,-1.1236807040404528e-09,-6.580194167327136e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´9æ,AL118,AM84,9.049472282640636e-10,-2.637534635141492e-11,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´10æ,AN118,AO84,2.3010215954855084e-10,-2.355591277591884e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2025å¹´12æ,AR118,AS84,-3.490185918053612e-10,-1.2803411664208397e-09,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´2æ,AZ118,BA84,5.95719029661268e-11,2.9240254661999643e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´4æ,BD118,BE84,-2.2782842279411852e-10,-6.934897101018578e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´5æ,BF118,BG84,-1.3915268937125802e-10,1.2578311725519598e-09,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´6æ,BH118,BI84,-3.410605131648481e-12,9.2791196948383e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´7æ,BJ118,BK84,-1.673470251262188e-10,-1.0986695997416973e-09,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´9æ,BN118,BO84,-7.73070496506989e-12,-4.733919922728091e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´10æ,BP118,BQ84,2.4874680093489587e-10,-2.1691448637284338e-10,åæ´å·®å¼ |
| | | è´§è¿,æ°æ®,å°¾é¨åå²å|æåº,2024å¹´12æ,BT118,BU84,0,-4.665707820095122e-10,åæ´å·®å¼ |
| | | ç线å
车,æ°æ®,å
¨ç|客è¿é(ä¸äºº),忝,IL4,IL4,-0.016421275397327406,'#REF!',é误å¼å·®å¼ |
| | | ç线å
车,æ°æ®,å
¨ç|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL5,IL5,-0.010369977064559,'#REF!',é误å¼å·®å¼ |
| | | ç线å
车,æ°æ®,æ¦æ±|客è¿é(ä¸äºº),43650,FV8,FV8,374,'374.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|客è¿é(ä¸äºº),43681,FW8,FW8,316,'316.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|客è¿é(ä¸äºº),43712,FX8,FX8,349,'349.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|客è¿é(ä¸äºº),43742,FY8,FY8,352,'352.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|客è¿é(ä¸äºº),43773,GA8,GA8,291,'291.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|客è¿é(ä¸äºº),43803,GC8,GC8,177,'177.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|客è¿é(ä¸äºº),忝,IL8,IL8,-0.08956804335937629,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV9,FV9,33437,"'33,437.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW9,FW9,35219,"'35,219.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX9,FX9,34369,"'34,369.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY9,FY9,42294,"'42,294.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA9,GA9,30906,"'30,906.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC9,GC9,22497,"'22,497.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ¦æ±|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL9,IL9,-0.050445149799922095,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),43650,FV10,FV10,189.74,'189.7400',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),43681,FW10,FW10,173.51,'173.5100',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),43712,FX10,FX10,212.76,'212.7600',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),43742,FY10,FY10,235.44,'235.4400',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),43773,GA10,GA10,235.07,'235.0700',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),43803,GC10,GC10,210.79,'210.7900',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),忝,IL10,IL10,0.007814803892657096,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),42461|4æ,IT10,IT10,255,'255',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),42491|5æ,IV10,IV10,254,'254.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|客è¿é(ä¸äºº),42522|6æ,IX10,IX10,271,'271.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV11,FV11,12939.55,"'12,939.5500'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW11,FW11,12615.74,"'12,615.7400'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX11,FX11,14098.66,"'14,098.6600'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY11,FY11,12424.8,"'12,424.8000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA11,GA11,10888.26,"'10,888.2600'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC11,GC11,11504.24,"'11,504.2400'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL11,IL11,0.009946712402894686,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),42461|4æ,IT11,IT11,15548,'15548',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),42491|5æ,IV11,IV11,18649,"'18,649.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»ç³|æ
客å¨è½¬é(ä¸äººå
¬é),42522|6æ,IX11,IX11,17563,"'17,563.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|客è¿é(ä¸äºº),43681,FW14,FW14,255,'255.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|客è¿é(ä¸äºº),43712,FX14,FX14,247,'247.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|客è¿é(ä¸äºº),43742,FY14,FY14,257,'257.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|客è¿é(ä¸äºº),43773,GA14,GA14,228,'228.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|客è¿é(ä¸äºº),43803,GC14,GC14,274,'274.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|客è¿é(ä¸äºº),忝,IL14,IL14,0.02001244577520045,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW15,FW15,23454,"'23,454.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX15,FX15,25859,"'25,859.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY15,FY15,22793,"'22,793.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA15,GA15,19645,"'19,645.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC15,GC15,35100,"'35,100.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åå °|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL15,IL15,0.026697668361913562,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,宿|客è¿é(ä¸äºº),43650,FV18,FV18,751,'751.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|客è¿é(ä¸äºº),43681,FW18,FW18,762,'762.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|客è¿é(ä¸äºº),43712,FX18,FX18,728,'728.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|客è¿é(ä¸äºº),43742,FY18,FY18,903,'903.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|客è¿é(ä¸äºº),43773,GA18,GA18,706,'706.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|客è¿é(ä¸äºº),43803,GC18,GC18,702,'702.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|客è¿é(ä¸äºº),忝,IL18,IL18,0.012753463620515548,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV19,FV19,37470,"'37,470.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW19,FW19,39710,"'39,710.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX19,FX19,40130,"'40,130.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY19,FY19,50180,"'50,180.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA19,GA19,40360,"'40,360.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC19,GC19,38120,"'38,120.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,宿|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL19,IL19,0.014923117191445678,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,è¥é³|客è¿é(ä¸äºº),43681,FW22,FW22,791,'791.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|客è¿é(ä¸äºº),43712,FX22,FX22,826,'826.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|客è¿é(ä¸äºº),43742,FY22,FY22,840,'840.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|客è¿é(ä¸äºº),43773,GA22,GA22,743,'743.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|客è¿é(ä¸äºº),43803,GC22,GC22,685,'685.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|客è¿é(ä¸äºº),忝,IL22,IL22,0.012848551120831164,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW23,FW23,40165,"'40,165.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX23,FX23,42520,"'42,520.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY23,FY23,40421,"'40,421.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA23,GA23,36809,"'36,809.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC23,GC23,37389,"'37,389.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,è¥é³|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL23,IL23,0.01494971746923257,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43650,FV26,FV26,113.7518,'113.7518',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43681,FW26,FW26,106.5756,'106.5756',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43712,FX26,FX26,106.2796,'106.2796',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43742,FY26,FY26,112.6674,'112.6674',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43773,GA26,GA26,96,'96.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43803,GC26,GC26,111.28,'111.2800',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),忝,IL26,IL26,-0.03399798681472077,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV27,FV27,6809.0802,"'6,809.0802'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW27,FW27,6583.0306,"'6,583.0306'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX27,FX27,7084.1998,"'7,084.1998'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY27,FY27,6521.3373,"'6,521.3373'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA27,GA27,5400,"'5,400.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC27,GC27,9583.25,"'9,583.2500'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL27,IL27,-0.026094841612348763,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,èé¨|客è¿é(ä¸äºº),43650,FV28,FV28,149.3507,'149.3507',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|客è¿é(ä¸äºº),43681,FW28,FW28,149.4144,'149.4144',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|客è¿é(ä¸äºº),43712,FX28,FX28,149.22,'149.2200',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|客è¿é(ä¸äºº),43742,FY28,FY28,152.38,'152.3800',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|客è¿é(ä¸äºº),43773,GA28,GA28,151.0347,'151.0347',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|客è¿é(ä¸äºº),43803,GC28,GC28,143.994,'143.9940',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV29,FV29,9648.601,"'9,648.6010'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW29,FW29,9960.1209,"'9,960.1209'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX29,FX29,9853.9052,"'9,853.9052'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY29,FY29,11732.5774,"'11,732.5774'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA29,GA29,11452.5648,"'11,452.5648'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èé¨|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC29,GC29,10001.6771,"'10,001.6771'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|客è¿é(ä¸äºº),43681,FW32,FW32,425.18,'425.1800',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|客è¿é(ä¸äºº),43712,FX32,FX32,445.87,'445.8700',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|客è¿é(ä¸äºº),43742,FY32,FY32,455.09,'455.0900',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|客è¿é(ä¸äºº),43773,GA32,GA32,408.23,'408.2300',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|客è¿é(ä¸äºº),43803,GC32,GC32,478.98,'478.9800',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|客è¿é(ä¸äºº),忝,IL32,IL32,-0.015902925740727047,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW33,FW33,19487.68,"'19,487.6800'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX33,FX33,22469.67,"'22,469.6700'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY33,FY33,19737.46,"'19,737.4600'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA33,GA33,17237.76,"'17,237.7600'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC33,GC33,28820.83,"'28,820.8300'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,åæ|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL33,IL33,-0.018393170722521224,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,èå·|客è¿é(ä¸äºº),43650,FV36,FV36,475,'475.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|客è¿é(ä¸äºº),43681,FW36,FW36,469,'469.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|客è¿é(ä¸äºº),43712,FX36,FX36,455,'455.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|客è¿é(ä¸äºº),43742,FY36,FY36,456,'456.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|客è¿é(ä¸äºº),43773,GA36,GA36,401,'401.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|客è¿é(ä¸äºº),43803,GC36,GC36,465.45,'465.4500',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|客è¿é(ä¸äºº),忝,IL36,IL36,-0.012405115079928919,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV37,FV37,26742,"'26,742.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW37,FW37,25128,"'25,128.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX37,FX37,25308,"'25,308.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY37,FY37,25412,"'25,412.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA37,GA37,21352,"'21,352.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC37,GC37,23866.57,"'23,866.5700'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,èå·|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL37,IL37,-0.024147051886107662,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,é»å|客è¿é(ä¸äºº),43650,FV38,FV38,605,'605.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»å|客è¿é(ä¸äºº),43681,FW38,FW38,575,'575.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»å|客è¿é(ä¸äºº),忝,IL38,IL38,-0.033448106246925735,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,é»å|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV39,FV39,30086,"'30,086.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»å|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW39,FW39,31110,"'31,110.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,é»å|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL39,IL39,-0.015729759185897696,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,å¸å®|客è¿é(ä¸äºº),43650,FV42,FV42,381,'381.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|客è¿é(ä¸äºº),43681,FW42,FW42,367,'367.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|客è¿é(ä¸äºº),43712,FX42,FX42,372,'372.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|客è¿é(ä¸äºº),43742,FY42,FY42,382,'382.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|客è¿é(ä¸äºº),43773,GA42,GA42,357,'357.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|客è¿é(ä¸äºº),43803,GC42,GC42,390,'390.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|客è¿é(ä¸äºº),忝,IL42,IL42,-0.0045705204824514345,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV43,FV43,23132,"'23,132.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW43,FW43,21503,"'21,503.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX43,FX43,24106,"'24,106.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY43,FY43,21433,"'21,433.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA43,GA43,19142,"'19,142.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC43,GC43,30675,"'30,675.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,å¸å®|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL43,IL43,-0.006856532800454396,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43650,FV44,FV44,155.7059,'155.7059',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43681,FW44,FW44,152.3916,'152.3916',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43712,FX44,FX44,198.5506,'198.5506',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43742,FY44,FY44,221.8934,'221.8934',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43773,GA44,GA44,198.4638,'198.4638',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),43803,GC44,GC44,284.6173,'284.6173',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|客è¿é(ä¸äºº),忝,IL44,IL44,-0.02226538678045087,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV45,FV45,9760.26,"'9,760.2600'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW45,FW45,9665.1387,"'9,665.1387'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX45,FX45,10860.085,"'10,860.0850'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY45,FY45,11214.6759,"'11,214.6759'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA45,GA45,9884.992,"'9,884.9920'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC45,GC45,19983.1777,"'19,983.1777'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,éå·|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL45,IL45,-0.01961284579418665,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,æ©æ½|客è¿é(ä¸äºº),43650,FV48,FV48,339.3471,'339.3471',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|客è¿é(ä¸äºº),43681,FW48,FW48,337.4522,'337.4522',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|客è¿é(ä¸äºº),43712,FX48,FX48,323.5839,'323.5839',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|客è¿é(ä¸äºº),43742,FY48,FY48,324.1455,'324.1455',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|客è¿é(ä¸äºº),43773,GA48,GA48,312.8523,'312.8523',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|客è¿é(ä¸äºº),43803,GC48,GC48,322.4966,'322.4966',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|客è¿é(ä¸äºº),忝,IL48,IL48,0.013343150437318485,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV49,FV49,22562.9173,"'22,562.9173'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW49,FW49,20286.2209,"'20,286.2209'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX49,FX49,20254.1227,"'20,254.1227'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY49,FY49,19329.5673,"'19,329.5673'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA49,GA49,17842.428,"'17,842.4280'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC49,GC49,18078.4298,"'18,078.4298'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ©æ½|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL49,IL49,0.00249036116687118,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,仿¡|客è¿é(ä¸äºº),43650,FV50,FV50,148,'148.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|客è¿é(ä¸äºº),43681,FW50,FW50,142,'142.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|客è¿é(ä¸äºº),43712,FX50,FX50,143,'143.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|客è¿é(ä¸äºº),43742,FY50,FY50,153,'153.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|客è¿é(ä¸äºº),43773,GA50,GA50,134,'134.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|客è¿é(ä¸äºº),43803,GC50,GC50,154,'154.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|客è¿é(ä¸äºº),忝,IL50,IL50,0.00778588807785896,'`',ç±»åä¸å |
| | | ç线å
车,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV51,FV51,6054,"'6,054.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW51,FW51,5836,"'5,836.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX51,FX51,6379,"'6,379.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY51,FY51,5736,"'5,736.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA51,GA51,5155,"'5,155.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC51,GC51,8348,"'8,348.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,仿¡|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL51,IL51,0.010203196092287481,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,æ½æ±|客è¿é(ä¸äºº),43650,FV52,FV52,104.6,'104.6000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|客è¿é(ä¸äºº),43681,FW52,FW52,101.8,'101.8000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|客è¿é(ä¸äºº),43712,FX52,FX52,102,'102.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|客è¿é(ä¸äºº),43742,FY52,FY52,104.7,'104.7000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|客è¿é(ä¸äºº),43773,GA52,GA52,93,'93.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|客è¿é(ä¸äºº),43803,GC52,GC52,109,'109.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|客è¿é(ä¸äºº),忝,IL52,IL52,-0.09755023396641893,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV53,FV53,4571,"'4,571.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW53,FW53,4471,"'4,471.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX53,FX53,4897,"'4,897.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY53,FY53,4280,"'4,280.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA53,GA53,3743,"'3,743.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC53,GC53,6379,"'6,379.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æ½æ±|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL53,IL53,-0.09764237492613437,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,天é¨|客è¿é(ä¸äºº),43650,FV54,FV54,161,'161.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|客è¿é(ä¸äºº),43681,FW54,FW54,158,'158.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|客è¿é(ä¸äºº),43712,FX54,FX54,163,'163.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|客è¿é(ä¸äºº),43742,FY54,FY54,164,'164.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|客è¿é(ä¸äºº),43773,GA54,GA54,145,'145.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|客è¿é(ä¸äºº),43803,GC54,GC54,170,'170.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|客è¿é(ä¸äºº),忝,IL54,IL54,0.009821428571428648,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV55,FV55,7240,"'7,240.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW55,FW55,7110,"'7,110.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX55,FX55,8100,"'8,100.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY55,FY55,7180,"'7,180.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA55,GA55,6205,"'6,205.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC55,GC55,7950,"'7,950.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,天é¨|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL55,IL55,0.009862546403130334,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,æåº|客è¿é(ä¸äºº),43650,FV56,FV56,46,'46.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|客è¿é(ä¸äºº),43681,FW56,FW56,45,'45.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|客è¿é(ä¸äºº),43712,FX56,FX56,44.5,'44.5000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|客è¿é(ä¸äºº),43742,FY56,FY56,47,'47.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|客è¿é(ä¸äºº),43773,GA56,GA56,42,'42.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|客è¿é(ä¸äºº),43803,GC56,GC56,48,'48.0000',æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|客è¿é(ä¸äºº),忝,IL56,IL56,0.00952380952380949,None,ä»
软件æå¼ |
| | | ç线å
车,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),43650,FV57,FV57,1782,"'1,782.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),43681,FW57,FW57,1750,"'1,750.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),43712,FX57,FX57,1880,"'1,880.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),43742,FY57,FY57,1733,"'1,733.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),43773,GA57,GA57,1515,"'1,515.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),43803,GC57,GC57,2336,"'2,336.0000'",æ ¼å¼å·®å¼(ææ¬åæ°å) |
| | | ç线å
车,æ°æ®,æåº|æ
客å¨è½¬é(ä¸äººå
¬é),忝,IL57,IL57,0.010006050169870218,None,ä»
软件æå¼ |
| New file |
| | |
| | | # æ±æ»å¤§è¡¨ï¼è½¯ä»¶è¾åºä¸æå·¥å®ç¨¿å·®å¼æ¸
åï¼2026-08ï¼ |
| | | |
| | | > 夿 ¸æ¥æï¼2026-09-22 |
| | | > æ¯å¯¹æä»¶ï¼ |
| | | > |
| | | > - 软件è¾åºï¼`D:\03_å
¬å¸\02_项ç®\27_æ¹åçéè·¯è¿è¾äºä¸åå±ä¸å¿\05_å¼åæµè¯\01_æµè¯\01_æ¥è¡¨çæ\æ±æ»å¤§è¡¨\软件è¾åº\çæ_éè·¯è¿è¾éæ±æ»è¡¨_2026-08 (5).xlsx` |
| | | > SHA256ï¼`AC7B2959DBA2B929F0091698E93A1CA9E50A2241D67D0676AE13AD7310FAB685` |
| | | > - æå·¥å®ç¨¿ï¼`D:\03_å
¬å¸\02_项ç®\27_æ¹åçéè·¯è¿è¾äºä¸åå±ä¸å¿\05_å¼åæµè¯\01_æµè¯\01_æ¥è¡¨çæ\æ±æ»å¤§è¡¨\æå·¥è®¡ç®\2026å¹´8æå®¢è¿éãè´§è¿éå®ç¨¿.xlsx` |
| | | > SHA256ï¼`3C96F2EC286CFAC0C966FE0C403924F1E2E8C3691E17E553F24B22E52737F1FD` |
| | | > |
| | | > æ¯å¯¹æ¹æ³ï¼å
æä¸¤ä»½å·¥ä½ç°¿å¤å¶å°ä¸´æ¶ç®å½ï¼ç¨ Excel COM åå
¨ééç®ï¼å读åéç®ç»æï¼éåæé¡µç¾ãæ°æ®åãè¡æ ç¾åå头åè¯ä¹å¯¹é½ï¼æåéæ ¼æ¯å¯¹ãè¿æ ·å¯ä»¥é¿å
`openpyxl(data_only=True)` è¯»å°æ§ç¼åå
¬å¼ç»æï¼æå·²ç»æ¶å¤±ç `#VALUE!` è¯¯æ¥æå·®å¼ã |
| | | > |
| | | > 930 æ¡éæ ¼æç»è§åç®å½ï¼`æ±æ»å¤§è¡¨_差弿ç»_2026-08_20260922.csv`ã |
| | | |
| | | ## ä¸ãç»è®ºéè§ |
| | | |
| | | | ç±»å« | æ¡æ° | 说æ | |
| | | | --- | ---: | --- | |
| | | | æ°å¼å·®å¼ï¼ç¸å¯¹å·® > 1e-6ï¼ | 314 | å
¶ä¸ 304 æ¡æ¯åä¸ä¸ªâ2025 年累计å
¬å¼å°å 7ã8 æâé®é¢ï¼å¦ 10 æ¡æ¯ ` è´§è¿` åå²åæ¯å·®å¼ï¼ä¸å¡å·²ç¡®è®¤è½¯ä»¶å£å¾æ£ç¡® | |
| | | | æ ¼å¼å·®å¼ï¼ææ¬åæ°åï¼ | 286 | 两边æ¾ç¤ºå¼ç¸åï¼ä»
åå¨ç±»åä¸å | |
| | | | 忴尾差ï¼ç¸å¯¹å·® <= 1e-6ï¼ | 194 | æµ®ç¹æ®å·®ææå·¥ä¿çç²¾åº¦é æï¼ä¸å½±åä¸å¡ç»è®º | |
| | | | ä»
软件æå¼ | 129 | ä¸»è¦æ¥èªè½¯ä»¶å¤åºçåãåï¼ä»¥åæå·¥å
¬å¼æé¾åç空 | |
| | | | ä»
æå·¥æå¼ | 2 | æå·¥ä¸º `#DIV/0!`ï¼è½¯ä»¶ç空 | |
| | | | é误å¼å·®å¼ | 2 | `ç线å
车!IL4`ã`IL5`ï¼è½¯ä»¶ææ°ï¼æå·¥ä¸º `#REF!` | |
| | | | ææ¬ä¸å | 2 | `轨éã轮渡!R2`ã`R11` æ 颿ªè¾ä¸å | |
| | | | ç±»åä¸å | 1 | `ç线å
车!IL50`ï¼è½¯ä»¶ææ°ï¼æå·¥åå
æ ¼ä¸ºåå¼å·å符 | |
| | | | **éæ ¼å·®å¼å计** | **930** | | |
| | | |
| | | 妿è¥å¹²æ´å/æ´åç»æå·®å¼ï¼ä¸éå¤è®¡å
¥ä¸è¿° 930 æ¡ï¼åå卿¬æç¬¬åèã |
| | | |
| | | ## äºãå®è´¨æ°å¼å·®å¼ |
| | | |
| | | ### 2.1 â2025 年累计âå
¬å¼å°å 7ã8 æï¼304 æ¡ |
| | | |
| | | | é¡µç¾ | 软件ä½ç½® | æ¡æ° | 软件å
¬å¼è¦ç | æå·¥å
¬å¼è¦ç | |
| | | | --- | --- | ---: | --- | --- | |
| | | | `å
¬äº¤` | `U5:U76` | 72 | 2025 年累计åªå å° 6 æ | å å° 8 æ | |
| | | | `åºç§` | `U5:U76` | 72 | 2025 年累计åªå å° 6 æ | å å° 8 æ | |
| | | | `ç½çº¦è½¦` | `U5:U76` | 72 | 2025 年累计åªå å° 6 æ | å å° 8 æ | |
| | | | `ä¸å£å¾æç»` | `U99:U188` åºé´å
88 æ ¼ | 88 | 2025 年累计åªå å° 7 æ | å å° 8 æ | |
| | | | **å计** | | **304** | | | |
| | | |
| | | 示ä¾ï¼ |
| | | |
| | | | é¡µç¾ | åå
æ ¼ | 软件 | æå·¥ | |
| | | | --- | --- | ---: | ---: | |
| | | | `å
¬äº¤` | `U5` | 88908.91 | 114285.68 | |
| | | | `åºç§` | `U5` | 39797.94 | 52461.16 | |
| | | | `ç½çº¦è½¦` | `U5` | 16384.07 | 22474.11 | |
| | | | `ä¸å£å¾æç»` | `U99` | 1102278.385724 | 1256684.215724 | |
| | | |
| | | ç»è®ºï¼è¯¥å卿¯ç䏿¬èº«ä¸âç´¯è®¡åæ¯âç忝å£å¾ä¸ä¸è´ãä¸å¡å·²ç¡®è®¤è¯¥åå¯ä»¥æ¸
空æç空ï¼ä¸ä»è¿ä¸ååä¸å¡ç»è®ºãè¥ä¿çï¼åºç»ä¸æ¹æä¸¤è¾¹ä¸è´ç累计å£å¾ã |
| | | |
| | | ### 2.2 ` è´§è¿` 2022 å¹´ç´¯è®¡åæ¯ï¼10 æ¡ |
| | | |
| | | | 软件 | æå·¥ | å°åº | ææ | è½¯ä»¶å¼ | æå·¥å¼ | |
| | | | --- | --- | --- | --- | ---: | ---: | |
| | | | `EA92` | `EB64` | 仿¡ | è§ä¸+è§ä¸å¨è½¬é | -0.0147168903 | 0.0861759440 | |
| | | | `EA94` | `EB66` | 仿¡ | è§ä¸è´§ç©å¨è½¬é | -0.0147168903 | 0.0861759440 | |
| | | | `EA96` | `EB67` | æ½æ± | è§ä¸è´§è¿é | 0.1792755247 | 0.2821643758 | |
| | | | `EA98` | `EB68` | æ½æ± | è§ä¸+è§ä¸å¨è½¬é | -0.0580865897 | 0.0248055028 | |
| | | | `EA100` | `EB70` | æ½æ± | è§ä¸è´§ç©å¨è½¬é | -0.1135612292 | -0.0369708863 | |
| | | | `EA102` | `EB71` | å¤©é¨ | è§ä¸è´§è¿é | 0.0761499711 | 0.1973040292 | |
| | | | `EA104` | `EB72` | å¤©é¨ | è§ä¸+è§ä¸å¨è½¬é | -0.0423281724 | 0.0592616926 | |
| | | | `EA106` | `EB74` | å¤©é¨ | è§ä¸è´§ç©å¨è½¬é | -0.0625622547 | 0.0355008526 | |
| | | | `EA110` | `EB76` | æåº | è§ä¸+è§ä¸å¨è½¬é | -0.0477844361 | 0.0951581405 | |
| | | | `EA112` | `EB78` | æåº | è§ä¸è´§ç©å¨è½¬é | -0.2228481653 | -0.1061854159 | |
| | | |
| | | ç»è®ºï¼ä¸å¡æ¤å已确认âè½¯ä»¶å¯¹ï¼æå·¥éâï¼ä»¥è½¯ä»¶ç»æä¸ºåã |
| | | |
| | | ## ä¸ãé误å¼ãææ¬åç²¾åº¦å·®å¼ |
| | | |
| | | ### 3.1 `ç线å
车` IL åï¼34 æ¡ |
| | | |
| | | | æ
åµ | æ¡æ° | 说æ | |
| | | | --- | ---: | --- | |
| | | | 软件æå¼ï¼æå·¥ä¸º `#REF!` | 2 | `IL4`ã`IL5`ï¼æå·¥å
¬å¼å¼ç¨å·²æ | |
| | | | 软件æå¼ï¼æå·¥ç©ºç½ | 31 | éä¸å¨ IL åçåå²ç´¯è®¡åæ¯ä½ç½® | |
| | | | è½¯ä»¶ææ°ï¼æå·¥ä¸ºåå¼å·å符 | 1 | `IL50`ï¼è½¯ä»¶å¼ `0.00778588807785896`ï¼æå·¥ä¸º `` ` `` | |
| | | |
| | | ç»è®ºï¼è¿æ¯æå·¥å®ç¨¿å
¬å¼æé¾æè¯¯å½ï¼è½¯ä»¶è¿å æ ¼è®¡ç®æ£å¸¸ã |
| | | |
| | | ### 3.2 ææ¬åæ°åï¼286 æ¡ |
| | | |
| | | | é¡µç¾ | ä½ç½® | æ¡æ° | |
| | | | --- | --- | ---: | |
| | | | `ç线å
车` | `FV8:IX57` åºé´çå岿°æ®å | 196 | |
| | | | `å
¬äº¤` | `M9:M76`ã`G12/G16/.../G76` | 85 | |
| | | | `轨éã轮渡` | `M7`ã`M9`ã`E14`ã`E15`ã`E16` | 5 | |
| | | | **å计** | | **286** | |
| | | |
| | | æ°å¼å
容ä¸è´ï¼ä»
æå·¥ææ°å¼åæäºææ¬ã建议åç»ç»ä¸ä¸ºæ°å¼æ ¼å¼ï¼å¦å Excel åä¸è®¡ç®æ¶å¯è½å次触åç±»åé®é¢ã |
| | | |
| | | ### 3.3 忴尾差ï¼194 æ¡ |
| | | |
| | | | é¡µç¾ | æ¡æ° | 说æ | |
| | | | --- | ---: | --- | |
| | | | ` è´§è¿` | 192 | ä¸»è¦æ¯å岿份/累计å¼çæµ®ç¹æ®å·®ææå·¥ä¿ç约 12 ä½æææ°å | |
| | | | `è´§è¿å¨è½¬éæå` | 1 | `J5` 对 `J26`ï¼0.01415852628504477 对 0.0141585262862789ï¼ç¸å¯¹å·®çº¦ 8.7e-11 | |
| | | | `ä¸å£å¾æç»` | 1 | `S1` æ ¡éªè¡æµ®ç¹æ®å·® | |
| | | | **å计** | **194** | ä¸å½±åä¸å¡ç»è®º | |
| | | |
| | | ### 3.4 ä»
ä¸è¾¹æå¼ï¼131 æ¡ |
| | | |
| | | 软件æå¼ãæå·¥æ å¼ï¼129 æ¡ã |
| | | |
| | | | é¡µç¾ | ä½ç½®/å
容 | æ¡æ° | |
| | | | --- | --- | ---: | |
| | | | ` è´§è¿` | 软件 `EO5:EO112`ï¼2021 年累计ï¼ï¼æå·¥å¯¹åº `EP` 空 | 74 | |
| | | | `ç线å
车` | 软件 IL åæåå²ç´¯è®¡åæ¯ï¼æå·¥ç©º | 31 | |
| | | | `å叿±æ»` | 软件å¤åº 2026 å¹´ 8 æåå¸å®¢è¿åç `C13:E20` éç©ºå¼ | 24 | |
| | | |
| | | æå·¥æå¼ã软件æ å¼ï¼2 æ¡ï¼åå¨ ` è´§è¿`ï¼ |
| | | |
| | | - æå·¥ `EB65` 为 `#DIV/0!`ï¼è½¯ä»¶å¯¹åº `EA93` 空ç½ï¼ |
| | | - æå·¥ `EB77` 为 `#DIV/0!`ï¼è½¯ä»¶å¯¹åº `EA111` 空ç½ã |
| | | |
| | | ## åãç»æãçå¼åæ´åå·®å¼ |
| | | |
| | | ### 4.1 ` è´§è¿` |
| | | |
| | | - è½¯ä»¶æ¯ 118 è¡ï¼æå·¥æ¯ 84 è¡ï¼è½¯ä»¶æ¯ä¸ªå¸å·å¤ 2 è¡ï¼å
±å¤ 34 è¡ï¼ä¸»è¦æ¯âè§ä¸+è§ä¸è´§è¿éââè§ä¸è´§è¿éâç¸å
³è¡ã |
| | | - ä» V åå¼å§ï¼æå·¥æ´ä½å³ç§» 1 åï¼æå·¥ `V` åå¤ä¸ä¸ªæ 表头è¾
å©åï¼å
å®¹æ¯ 2025 å¹´ 1-8 æç´¯è®¡ï¼è½¯ä»¶æ²¡æè¿ä¸ªè¾
å©åã |
| | | - å æ¤å°¾é¨å岿 ¸ç®åä½ç½®ä¸åï¼è½¯ä»¶çº¦å¨ç¬¬ 114-118 è¡ï¼æå·¥çº¦å¨ç¬¬ 80-84 è¡ã |
| | | |
| | | ### 4.2 `å叿±æ»` |
| | | |
| | | - 软件å¤ä¸ä¸ªâ2026 å¹´ 8 æå
¨ç宿åå¸å®¢è¿éæ
åµâåï¼ä½ç½®çº¦ `A12:E20`ï¼å«æ é¢ãè¡¨å¤´åæ°æ®ã |
| | | - 两边å
±æç 1-8 æç´¯è®¡åå 2025 å¹´ 1-12 æåçæ°å¼ä¸è´ã |
| | | |
| | | ### 4.3 `åå¸åå¸å·` |
| | | |
| | | - 软件å¤ç¬¬ 45-89 è¡ç两个 8 æåï¼å« 8 æå®¢è¿éåæ
客å¨è½¬éæ°æ®ã |
| | | - æå·¥åªå°ç¬¬ 44 è¡ï¼åªæä¸¤ä¸ª 1-8 æç´¯è®¡åã |
| | | |
| | | ### 4.4 `ä¸å£å¾åæ` |
| | | |
| | | - 软件å¤ç¬¬ 9-16 è¡çâ8 æä¸å£å¾å®¢è¿éåå¨è½¬éâåã |
| | | - æå·¥åªå°ç¬¬ 7 è¡ï¼åªæ 1-8 æç´¯è®¡åã |
| | | - 两边å
±æç 1-8 æç´¯è®¡æ°æ®ä¸è´ã |
| | | |
| | | ### 4.5 `ä¸å£å¾æå` |
| | | |
| | | - 软件æâ1-8 æç´¯è®¡âåâ8 æâ两个å纵åæå¨ `J:R`ï¼åå«çº¦å¨ç¬¬ 1-20 è¡å第 22-41 è¡ã |
| | | - æå·¥æ 8 æè¾
婿°æ®æ¾å¨éèç `A:H` åï¼`J:R` 仿¯ 1-8 æç´¯è®¡åï¼æå·¥ A-I åå
¨é¨éèã |
| | | - 两边å¯è§ç 1-8 æç´¯è®¡å `J1:R20` æ°å¼å®å
¨ä¸è´ãæ¤åä¸å¡å·²ç¡®è®¤ä»¥è½¯ä»¶å¸å±åç»æä¸ºåã |
| | | |
| | | ### 4.6 `è´§è¿éæå`ã`è´§è¿å¨è½¬éæå` |
| | | |
| | | - 软件两个åçé¡ºåºæ¯â1-8 æç´¯è®¡å¨åã8 æå¨åâï¼æå·¥é¡ºåºç¸åã |
| | | - æè¯ä¹å¯¹é½åï¼ç´¯è®¡æ°å¼æ å·®å¼ã |
| | | - 8 æåçå°åºåæ 15 å¤åç¼å·®å¼ï¼ä¾å¦è½¯ä»¶âæ¦æ±âï¼æå·¥âæ¦æ±å¸âï¼æå·¥ `è´§è¿å¨è½¬éæå` è¿ææ©æ½åæäºâæ©æ½å¸âï¼åºä¸ºâæ©æ½å·âï¼ã |
| | | - æ é¢å表头æªè¾ä¸åï¼ä¾å¦è½¯ä»¶ç¨â宿å
¬è·¯è´§è¿éæ
åµâï¼æå·¥ç¨âåå¸å·è´§è¿éæåâã |
| | | |
| | | ### 4.7 `åå¸å®¢è¿` |
| | | |
| | | - æå·¥å¤ä¸å `AJ`â2025 å¹´ 1-7 æç´¯è®¡âï¼å
± 37 æ ¼ï¼è½¯ä»¶æ²¡æè¿ä¸åã |
| | | - ä» `AJ` å¼å§æå·¥æ´ä½å³ç§» 1 åã |
| | | - 两边å
±æç 2026 å¹´æ°æ®ä¸è´ã |
| | | |
| | | ### 4.8 `éè·¯è¿è¾å¨è½¬é` |
| | | |
| | | - æå·¥å¤ä¸¤ä¸ªç©ºå `AA`ã`AB`ã |
| | | - ä¸å¡æ°å¼ä¸è´ã |
| | | - `A23` æåç¥ä¸åï¼è½¯ä»¶ä¸ºâ2026å¹´8æå
¨çå®æäº¤éå¨è½¬éæ
åµâï¼æå·¥å¤â累计âäºåã |
| | | |
| | | ### 4.9 `ç线å
车` |
| | | |
| | | - 软件 287 åï¼æå·¥ 288 åï¼æå·¥å¤ 1 åã |
| | | - 2015/2016 åå²åºå¸å±ä¸åï¼è½¯ä»¶ `JL/JM` æ¯â累计/忝âï¼æå·¥ `JL` æ¯â2015 å
¨å¹´âï¼`JY/JZ` è¿å
å«â2015 å¹´å
¨å¹´ââé¢ä¼° 2016 å¹´å
¨å¹´âçå
容ã |
| | | - æå·¥ `JY`ã`KA`ã`KB` åå¨ `#REF!`ã |
| | | |
| | | ### 4.10 `轨éã轮渡` |
| | | |
| | | - `R2`ã`R11` æ é¢ä¸åï¼è½¯ä»¶ä¸ºâ8æä¸å»å¹´åæ¯âï¼æå·¥ä¸ºâ忝âã |
| | | - æ°å¼æ¬èº«ä¸è´ã |
| | | |
| | | ## äºãå®å
¨ä¸è´æå¯¹é½åä¸è´çå
容 |
| | | |
| | | 以ä¸é¡µç¾æå
±æåºåæªåç°ä¸å¡æ°å¼å·®å¼ï¼ |
| | | |
| | | - `å
¬è·¯æ»å®¢è¿` |
| | | - `2025å¹´åå¸å®¢è¿é` |
| | | - `ä¸å£å¾å®¢è¿é` |
| | | - `ä¸å£å¾è®¡ç®è¿ç¨` |
| | | - `å叿±æ»` çå
±æå |
| | | - `åå¸åå¸å·` çå
±æ 1-8 æç´¯è®¡å |
| | | - `ä¸å£å¾åæ` çå
±æ 1-8 æç´¯è®¡å |
| | | - `ä¸å£å¾æå` ç 1-8 æç´¯è®¡å `J1:R20` |
| | | - `è´§è¿éæå` ç累计å |
| | | - `è´§è¿å¨è½¬éæå` ç累计å |
| | | - `åå¸å®¢è¿` ç 2026 å¹´å
±ææ°æ® |
| | | - `éè·¯è¿è¾å¨è½¬é` çä¸å¡æ°å¼ |
| | | - `轨éã轮渡` çæ°å¼ |
| | | - `ç线å
车` çå
±æå岿°æ® |
| | | - `å
¬äº¤`ã`åºç§`ã`ç½çº¦è½¦` é¤ 2025 累计 U å以å¤çå
±ææ°æ® |
| | | - `ä¸å£å¾æç»` é¤ 2025 累计 U å以å¤çå
±ææ°æ® |
| | | - ` è´§è¿` é¤ä¸è¿°å·®å¼ä»¥å¤çå
±ææ°æ® |
| | | |
| | | ## å
ã夿 ¸ç»è®º |
| | | |
| | | 1. ä¸å¡ä¸æéè¦å¤ççæ¯ 304 æ ¼â2025 年累计å°å 7ã8 æâé®é¢ã该åä¸å¡å·²ç¡®è®¤å¯æ¸
空ï¼å»ºè®®è½¯ä»¶ä¾§ç´æ¥æ¸
空该åï¼é¿å
ç»§ç»ä¸æå·¥å®ç¨¿éæ ¼æ¯è¾æ¶åå¤å¶é åå·®å¼ã |
| | | 2. ` è´§è¿` 2022 å¹´ç´¯è®¡åæ¯ 10 æ ¼æ¯æå·¥å£å¾é®é¢ï¼ä¸å¡å·²ç¡®è®¤è½¯ä»¶æ£ç¡®ï¼æ éæ¹è½¯ä»¶ã |
| | | 3. 286 æ ¼ææ¬åæ°åã194 æ ¼åæ´å°¾å·®ï¼ä»¥å `ç线å
车` IL åæé¾ï¼å±äºæ ¼å¼ææå·¥å
¬å¼ç»´æ¤é®é¢ï¼ä¸å½±åå½åä¸å¡ç»è®ºã |
| | | 4. å叿±æ»ãåå¸åå¸å·ãä¸å£å¾åæãä¸å£å¾æååä¸¤ä¸ªè´§è¿æå页ç¾å卿´åå¸å±å·®å¼ï¼ä½å
±æä¸å¡æ°æ®åå·²æ ¸å¯¹ï¼å
¶ä¸ä¸å£å¾æåå¯è§ç 1-8 æç´¯è®¡åå®å
¨ä¸è´ã |
| | | 5. ä¸ä¸çæ¥åä¸ç `ç线å
车` 2019ã2020 å¹´åå²å `#VALUE!` åå·®å¼ï¼å¨ Excel å
¨ééç®åå·²æ¶å¤±ï¼æ¬æ¬¡ä¸å计å
¥ã |
| | |
| | | import com.trafficaudit.dataimport.entity.InvestmentSystem; |
| | | import com.trafficaudit.dataimport.entity.EnergyVehicleQuarterly; |
| | | import com.trafficaudit.dataimport.entity.EnergyAuthVehicle; |
| | | import com.trafficaudit.dataimport.entity.PassengerIndividualMonthly; |
| | | import com.trafficaudit.dataimport.entity.WycOrderMonthly; |
| | | import com.trafficaudit.dataimport.entity.WycTotalMonthly; |
| | | import com.trafficaudit.common.util.RegionUtil; |
| | | import com.trafficaudit.reportexport.calc.WycSplitCalc; |
| | | import com.trafficaudit.dataimport.service.CityRollupService; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import com.trafficaudit.dataimport.mapper.FreightTurnoverImportMapper; |
| | | import com.trafficaudit.dataimport.mapper.H2032EnterpriseMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.PassengerAuthVehicleMapper; |
| | |
| | | import com.trafficaudit.dataimport.mapper.InvestmentSystemMapper; |
| | | import com.trafficaudit.dataimport.mapper.EnergyVehicleQuarterlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.EnergyAuthVehicleMapper; |
| | | import com.trafficaudit.dataimport.mapper.PassengerIndividualMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.WycOrderMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.WycTotalMonthlyMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | private EnergyVehicleQuarterlyMapper energyVehicleMapper; |
| | | @Resource |
| | | private EnergyAuthVehicleMapper energyAuthMapper; |
| | | @Resource |
| | | private PassengerIndividualMonthlyMapper passengerIndividualMapper; |
| | | @Resource |
| | | private WycOrderMonthlyMapper wycOrderMapper; |
| | | @Resource |
| | | private WycTotalMonthlyMapper wycTotalMapper; |
| | | @Resource |
| | | private WycSplitCalc wycSplitCalc; |
| | | @Resource |
| | | private CityRollupService cityRollupService; |
| | | |
| | | @GetMapping("/list") |
| | | public Result<Map<String, Object>> list(@RequestParam("type") String type, |
| | | @RequestParam(value = "period", required = false) String period, |
| | | @RequestParam(value = "keyword", required = false) String keyword, |
| | | @RequestParam(value = "periodType", required = false) String periodType, |
| | | @RequestParam(value = "page", defaultValue = "1") long page, |
| | | @RequestParam(value = "size", defaultValue = "20") long size) { |
| | | String kw = keyword == null ? "" : keyword.trim(); |
| | |
| | | .orderByDesc(H2032EnterpriseMonthly::getId); |
| | | Page<H2032EnterpriseMonthly> p = new Page<>(safePage, safeSize); |
| | | Page<H2032EnterpriseMonthly> r = h2032Mapper.selectPage(p, w); |
| | | result.put("records", toMaps(r.getRecords(), propsOf(H2032_COLUMNS))); |
| | | List<Map<String, Object>> rows = toMaps(r.getRecords(), propsOf(H2032_COLUMNS)); |
| | | fillCity(rows); |
| | | result.put("records", rows); |
| | | fillPage(result, r); |
| | | break; |
| | | } |
| | |
| | | case "scaleSplit": { |
| | | LambdaQueryWrapper<ScaleSplitTransport> w = new LambdaQueryWrapper<ScaleSplitTransport>() |
| | | .eq(notEmpty(period), ScaleSplitTransport::getReportPeriod, period) |
| | | .eq(notEmpty(periodType), ScaleSplitTransport::getPeriodType, periodType) |
| | | .like(!kw.isEmpty(), ScaleSplitTransport::getRegionName, kw) |
| | | .orderByDesc(ScaleSplitTransport::getId); |
| | | Page<ScaleSplitTransport> p = new Page<>(safePage, safeSize); |
| | |
| | | .orderByDesc(PassengerEnterpriseMonthly::getId); |
| | | Page<PassengerEnterpriseMonthly> p = new Page<>(safePage, safeSize); |
| | | Page<PassengerEnterpriseMonthly> r = passengerMapper.selectPage(p, w); |
| | | result.put("records", toMaps(r.getRecords(), propsOf(H2031_COLUMNS))); |
| | | List<Map<String, Object>> rows = toMaps(r.getRecords(), propsOf(H2031_COLUMNS)); |
| | | fillCity(rows); |
| | | result.put("records", rows); |
| | | fillPage(result, r); |
| | | break; |
| | | } |
| | |
| | | .orderByAsc(InvestmentMonthly::getId); |
| | | Page<InvestmentMonthly> p = new Page<>(safePage, safeSize); |
| | | Page<InvestmentMonthly> r = investmentMonthlyMapper.selectPage(p, w); |
| | | result.put("records", toMaps(r.getRecords(), propsOf(INVEST_MONTHLY_COLUMNS))); |
| | | List<Map<String, Object>> rows = toMaps(r.getRecords(), propsOf(INVEST_MONTHLY_COLUMNS)); |
| | | fillProjectInfo(rows); |
| | | result.put("records", rows); |
| | | fillPage(result, r); |
| | | break; |
| | | } |
| | |
| | | .orderByDesc(EnergyVehicleQuarterly::getId); |
| | | Page<EnergyVehicleQuarterly> p = new Page<>(safePage, safeSize); |
| | | Page<EnergyVehicleQuarterly> r = energyVehicleMapper.selectPage(p, w); |
| | | result.put("records", toMaps(r.getRecords(), propsOf(ENERGY_VEHICLE_COLUMNS))); |
| | | List<Map<String, Object>> rows = toMaps(r.getRecords(), propsOf(ENERGY_VEHICLE_COLUMNS)); |
| | | fillCity(rows); |
| | | result.put("records", rows); |
| | | fillPage(result, r); |
| | | break; |
| | | } |
| | |
| | | fillPage(result, r); |
| | | break; |
| | | } |
| | | case "passengerIndividual": { |
| | | LambdaQueryWrapper<PassengerIndividualMonthly> w = new LambdaQueryWrapper<PassengerIndividualMonthly>() |
| | | .eq(notEmpty(period), PassengerIndividualMonthly::getReportPeriod, period) |
| | | .like(!kw.isEmpty(), PassengerIndividualMonthly::getEnterpriseName, kw) |
| | | .orderByDesc(PassengerIndividualMonthly::getId); |
| | | Page<PassengerIndividualMonthly> p = new Page<>(safePage, safeSize); |
| | | Page<PassengerIndividualMonthly> r = passengerIndividualMapper.selectPage(p, w); |
| | | List<Map<String, Object>> rows = toMaps(r.getRecords(), propsOf(PAX_INDIVIDUAL_COLUMNS)); |
| | | fillCity(rows); |
| | | result.put("records", rows); |
| | | fillPage(result, r); |
| | | break; |
| | | } |
| | | case "wycTotal": { |
| | | LambdaQueryWrapper<WycTotalMonthly> w = new LambdaQueryWrapper<WycTotalMonthly>() |
| | | .eq(notEmpty(period), WycTotalMonthly::getReportPeriod, period) |
| | | .orderByDesc(WycTotalMonthly::getId); |
| | | Page<WycTotalMonthly> p = new Page<>(safePage, safeSize); |
| | | Page<WycTotalMonthly> r = wycTotalMapper.selectPage(p, w); |
| | | result.put("records", toMaps(r.getRecords(), propsOf(WYC_TOTAL_COLUMNS))); |
| | | fillPage(result, r); |
| | | break; |
| | | } |
| | | case "wycOrder": { |
| | | LambdaQueryWrapper<WycOrderMonthly> w = new LambdaQueryWrapper<WycOrderMonthly>() |
| | | .eq(notEmpty(period), WycOrderMonthly::getReportPeriod, period) |
| | | .orderByDesc(WycOrderMonthly::getReportPeriod); |
| | | List<WycOrderMonthly> list = wycOrderMapper.selectList(w); |
| | | List<Map<String, Object>> rows = new ArrayList<>(); |
| | | for (WycOrderMonthly o : list) { |
| | | rows.addAll(wycOrderCityRows(o)); |
| | | } |
| | | result.put("records", rows); |
| | | result.put("total", (long) rows.size()); |
| | | result.put("current", 1L); |
| | | result.put("size", (long) rows.size()); |
| | | break; |
| | | } |
| | | default: |
| | | result.put("records", new ArrayList<>()); |
| | | result.put("total", 0L); |
| | |
| | | result.put("size", safeSize); |
| | | } |
| | | return Result.ok(result); |
| | | } |
| | | |
| | | /** åºå代ç -> å¸å·åï¼æ æ³è¯å«è¿åç©ºä¸²ï¼ */ |
| | | private String cityOf(String regionCode) { |
| | | if (regionCode == null || regionCode.trim().isEmpty()) return ""; |
| | | String city = RegionUtil.cityByCode(regionCode.trim()); |
| | | return city == null ? "" : city; |
| | | } |
| | | |
| | | /** æ regionCode æ´¾ç"å¸å·"åï¼ä¼ä¸ç±»è¡¨éç¨ï¼ */ |
| | | private void fillCity(List<Map<String, Object>> rows) { |
| | | for (Map<String, Object> row : rows) { |
| | | Object rc = row.get("regionCode"); |
| | | row.put("city", cityOf(rc == null ? null : String.valueOf(rc))); |
| | | } |
| | | } |
| | | |
| | | /** æèµææ¥ï¼è¡¥é¡¹ç®åç§°ä¸å¸å·ï¼åè¡¨åªæ projectIdï¼é¡µé¢æ æ³è¾¨è¯é¡¹ç®ï¼ */ |
| | | private void fillProjectInfo(List<Map<String, Object>> rows) { |
| | | java.util.Set<Long> ids = new java.util.LinkedHashSet<>(); |
| | | for (Map<String, Object> row : rows) { |
| | | Object pid = row.get("projectId"); |
| | | if (pid instanceof Number) ids.add(((Number) pid).longValue()); |
| | | } |
| | | if (ids.isEmpty()) return; |
| | | Map<Long, InvestmentProject> byId = new LinkedHashMap<>(); |
| | | for (InvestmentProject ip : investmentProjectMapper.selectBatchIds(ids)) { |
| | | byId.put(ip.getId(), ip); |
| | | } |
| | | for (Map<String, Object> row : rows) { |
| | | Object pid = row.get("projectId"); |
| | | InvestmentProject ip = pid instanceof Number ? byId.get(((Number) pid).longValue()) : null; |
| | | row.put("projectName", ip == null ? null : ip.getProjectName()); |
| | | row.put("city", ip == null ? null : ip.getCity()); |
| | | } |
| | | } |
| | | |
| | | private static double nz(Double v) { |
| | | return v == null ? 0.0 : v; |
| | | } |
| | | |
| | | /** ç½çº¦è½¦è®¢åå°è´¦ -> æå¸å·ç«æï¼å
¨ç + 17 å¸å· Ã ææ ï¼å®¢è¿é/å¨è½¬éç± WycSplitCalc æåå£å¾è®¡ç®ï¼ */ |
| | | private List<Map<String, Object>> wycOrderCityRows(WycOrderMonthly o) { |
| | | List<Map<String, Object>> rows = new ArrayList<>(); |
| | | List<String> cities = RegionUtil.cityList(); |
| | | double orderSum = nz(o.getOrderSum()); |
| | | double[] orders = { nz(o.getOrderWuhan()), nz(o.getOrderHuangshi()), nz(o.getOrderShiyan()), |
| | | nz(o.getOrderYichang()), nz(o.getOrderXiangyang()), nz(o.getOrderEzhou()), nz(o.getOrderJingmen()), |
| | | nz(o.getOrderXiaogan()), nz(o.getOrderJingzhou()), nz(o.getOrderHuanggang()), nz(o.getOrderXianning()), |
| | | nz(o.getOrderSuizhou()), nz(o.getOrderEnshi()), nz(o.getOrderXiantao()), nz(o.getOrderQianjiang()), |
| | | nz(o.getOrderTianmen()), nz(o.getOrderShennong()) }; |
| | | |
| | | Map<String, Object> province = new LinkedHashMap<>(); |
| | | province.put("reportPeriod", o.getReportPeriod()); |
| | | province.put("period", o.getReportPeriod()); |
| | | province.put("region", "å
¨ç"); |
| | | province.put("orderCount", orderSum); |
| | | province.put("orderShare", orderSum > 0 ? 1.0 : null); |
| | | province.put("pax", o.getPinK()); |
| | | province.put("turnover", o.getPinZ()); |
| | | province.put("cityPax", o.getPinCK()); |
| | | province.put("cityTurnover", o.getPinCZ()); |
| | | province.put("note", "å
¨çå£å¾ç´æ¥åå°è´¦ pin å¼"); |
| | | rows.add(province); |
| | | |
| | | Map<String, WycSplitCalc.WycMetrics> byCity = null; |
| | | String calcError = null; |
| | | try { |
| | | byCity = wycSplitCalc.calc(o.getReportPeriod()).getByCity(); |
| | | } catch (Exception e) { |
| | | calcError = e.getMessage() == null ? "æå计ç®å¤±è´¥" : e.getMessage(); |
| | | } |
| | | for (int i = 0; i < cities.size() && i < orders.length; i++) { |
| | | String city = cities.get(i); |
| | | Map<String, Object> row = new LinkedHashMap<>(); |
| | | row.put("reportPeriod", o.getReportPeriod()); |
| | | row.put("period", o.getReportPeriod()); |
| | | row.put("region", city); |
| | | row.put("orderCount", orders[i]); |
| | | row.put("orderShare", orderSum > 0 ? orders[i] / orderSum : null); |
| | | WycSplitCalc.WycMetrics m = byCity == null ? null : byCity.get(city); |
| | | row.put("pax", m == null ? null : m.getTotalPax()); |
| | | row.put("turnover", m == null ? null : m.getTotalTurnover()); |
| | | row.put("cityPax", m == null ? null : m.getCityPax()); |
| | | row.put("cityTurnover", m == null ? null : m.getCityTurnover()); |
| | | row.put("note", m == null ? (calcError == null ? "æåæªè®¡ç®" : calcError) : ""); |
| | | rows.add(row); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** æ¯ææå¸å·æ±æ»çæ°æ®ç±»å */ |
| | | @GetMapping("/rollupTypes") |
| | | public Result<List<Map<String, Object>>> rollupTypes() { |
| | | return Result.ok(cityRollupService.supportedTypes()); |
| | | } |
| | | |
| | | /** æå¸å·æ±æ»ï¼ä»»æèµ·æ¢æï¼ */ |
| | | @GetMapping("/summary") |
| | | public Result<Map<String, Object>> summary(@RequestParam("type") String type, |
| | | @RequestParam("from") String from, |
| | | @RequestParam("to") String to, |
| | | @RequestParam(value = "rankMode", defaultValue = "blank") String rankMode) { |
| | | return Result.ok(cityRollupService.summary(type, from, to, "recompute".equalsIgnoreCase(rankMode))); |
| | | } |
| | | |
| | | /** æå¸å·æ±æ»å¯¼åº Excelï¼æ°å¼å
¨ç²¾åº¦ï¼æ¾ç¤º 2 ä½å°æ° / ç¾åæ¯ï¼ */ |
| | | @GetMapping("/export") |
| | | public void export(@RequestParam("type") String type, |
| | | @RequestParam("from") String from, |
| | | @RequestParam("to") String to, |
| | | @RequestParam(value = "rankMode", defaultValue = "blank") String rankMode, |
| | | HttpServletResponse response) throws Exception { |
| | | byte[] bytes = cityRollupService.exportExcel(type, from, to, "recompute".equalsIgnoreCase(rankMode)); |
| | | String fileName = "æå¸å·æ±æ»_" + type + "_" + from + "_" + to + ".xlsx"; |
| | | response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
| | | response.setCharacterEncoding("UTF-8"); |
| | | response.setHeader("Content-Disposition", |
| | | "attachment; filename=\"" + java.net.URLEncoder.encode(fileName, "UTF-8") + "\""); |
| | | response.setContentLength(bytes.length); |
| | | response.getOutputStream().write(bytes); |
| | | response.getOutputStream().flush(); |
| | | } |
| | | |
| | | private boolean notEmpty(String s) { |
| | |
| | | case "investmentSystem": return INVEST_SYSTEM_COLUMNS; |
| | | case "energyVehicle": return ENERGY_VEHICLE_COLUMNS; |
| | | case "energyAuth": return ENERGY_AUTH_COLUMNS; |
| | | case "passengerIndividual": return PAX_INDIVIDUAL_COLUMNS; |
| | | case "wycTotal": return WYC_TOTAL_COLUMNS; |
| | | case "wycOrder": return WYC_ORDER_COLUMNS; |
| | | default: return new ArrayList<>(); |
| | | } |
| | | } |
| | |
| | | private static final List<Map<String, Object>> INVEST_SYSTEM_COLUMNS = new ArrayList<>(); |
| | | private static final List<Map<String, Object>> ENERGY_VEHICLE_COLUMNS = new ArrayList<>(); |
| | | private static final List<Map<String, Object>> ENERGY_AUTH_COLUMNS = new ArrayList<>(); |
| | | private static final List<Map<String, Object>> PAX_INDIVIDUAL_COLUMNS = new ArrayList<>(); |
| | | private static final List<Map<String, Object>> WYC_TOTAL_COLUMNS = new ArrayList<>(); |
| | | private static final List<Map<String, Object>> WYC_ORDER_COLUMNS = new ArrayList<>(); |
| | | |
| | | static { |
| | | H2032_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | H2032_COLUMNS.add(col("regionCode", "æå±å°åº", 100)); |
| | | H2032_COLUMNS.add(col("city", "å¸å·", 110)); |
| | | H2032_COLUMNS.add(col("enterpriseCode", "ä¼ä¸ä»£ç ", 130)); |
| | | H2032_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 220)); |
| | | H2032_COLUMNS.add(col("unifiedCreditCode", "ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ", 180)); |
| | | H2032_COLUMNS.add(col("reportUnit", "å¡«æ¥åä½", 160)); |
| | | H2032_COLUMNS.add(col("vehicleTotal", "è½¦è¾æ°å计", 110)); |
| | | H2032_COLUMNS.add(col("tonsTotal", "æ è®°å¨ä½æ°å计", 130)); |
| | | H2032_COLUMNS.add(col("vehicleTractor", "çµå¼è½¦", 90)); |
| | | H2032_COLUMNS.add(col("vehicleTrailer", "æè½¦", 90)); |
| | | H2032_COLUMNS.add(col("tonsTrailer", "å¨ä½-æè½¦", 110)); |
| | | H2032_COLUMNS.add(col("vehicleContainer", "éè£
箱车", 110)); |
| | | H2032_COLUMNS.add(col("tonsContainer", "å¨ä½-éè£
ç®±", 120)); |
| | | H2032_COLUMNS.add(col("vehicleWhole", "æ´è½¦", 90)); |
| | | H2032_COLUMNS.add(col("tonsWhole", "å¨ä½-æ´è½¦", 110)); |
| | | H2032_COLUMNS.add(col("freightTotal", "è´§è¿éå计", 110)); |
| | | H2032_COLUMNS.add(col("turnoverTotal", "å¨è½¬éå计", 110)); |
| | | H2032_COLUMNS.add(col("freightContainer", "è´§è¿é-éè£
ç®±", 130)); |
| | | H2032_COLUMNS.add(col("freightCoal", "è´§è¿é-ç
¤ç", 120)); |
| | | H2032_COLUMNS.add(col("freightOilGas", "è´§è¿é-æ²¹æ°", 120)); |
| | | H2032_COLUMNS.add(col("freightCrudeOil", "è´§è¿é-åæ²¹", 120)); |
| | | H2032_COLUMNS.add(col("freightMetalOre", "è´§è¿é-éå±ç¿ç³", 140)); |
| | | H2032_COLUMNS.add(col("freightIronOre", "è´§è¿é-éç¿ç³", 130)); |
| | | H2032_COLUMNS.add(col("freightBuilding", "è´§è¿é-建æ", 120)); |
| | | H2032_COLUMNS.add(col("freightGrain", "è´§è¿é-ç²®é£", 120)); |
| | | H2032_COLUMNS.add(col("avgTonnage", "å¹³åå¨ä½", 100)); |
| | | H2032_COLUMNS.add(col("avgDistance", "å¹³åè¿è·", 100)); |
| | | H2032_COLUMNS.add(col("vehicleTotal", "è½¦è¾æ°å计(è¾)", 130)); |
| | | H2032_COLUMNS.add(col("tonsTotal", "æ è®°å¨ä½æ°å计(å¨)", 150)); |
| | | H2032_COLUMNS.add(col("vehicleTractor", "çµå¼è½¦(è¾)", 110)); |
| | | H2032_COLUMNS.add(col("vehicleTrailer", "æè½¦(è¾)", 110)); |
| | | H2032_COLUMNS.add(col("tonsTrailer", "å¨ä½-æè½¦(å¨)", 130)); |
| | | H2032_COLUMNS.add(col("vehicleContainer", "éè£
箱车(è¾)", 120)); |
| | | H2032_COLUMNS.add(col("tonsContainer", "å¨ä½-éè£
ç®±(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("vehicleWhole", "æ´è½¦(è¾)", 110)); |
| | | H2032_COLUMNS.add(col("tonsWhole", "å¨ä½-æ´è½¦(å¨)", 130)); |
| | | H2032_COLUMNS.add(col("freightTotal", "è´§è¿éå计(å¨)", 130)); |
| | | H2032_COLUMNS.add(col("turnoverTotal", "å¨è½¬éå计(å¨å
Ž)", 150)); |
| | | H2032_COLUMNS.add(col("freightContainer", "è´§è¿é-éè£
ç®±(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("freightCoal", "è´§è¿é-ç
¤ç(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("freightOilGas", "è´§è¿é-æ²¹æ°(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("freightCrudeOil", "è´§è¿é-åæ²¹(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("freightMetalOre", "è´§è¿é-éå±ç¿ç³(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("freightIronOre", "è´§è¿é-éç¿ç³(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("freightBuilding", "è´§è¿é-建æ(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("freightGrain", "è´§è¿é-ç²®é£(å¨)", 140)); |
| | | H2032_COLUMNS.add(col("avgTonnage", "å¹³åå¨ä½(å¨)", 120)); |
| | | H2032_COLUMNS.add(col("avgDistance", "å¹³åè¿è·(å
Ž)", 120)); |
| | | H2032_COLUMNS.add(col("unitLeader", "åä½è´è´£äºº", 110)); |
| | | H2032_COLUMNS.add(col("statsLeader", "ç»è®¡è´è´£äºº", 110)); |
| | | H2032_COLUMNS.add(col("contactPerson", "填表人", 100)); |
| | |
| | | |
| | | AUTH_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | AUTH_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 240)); |
| | | AUTH_COLUMNS.add(col("tractorCount", "çµå¼è½¦æ°", 100)); |
| | | AUTH_COLUMNS.add(col("trailerCount", "æè½¦æ°", 100)); |
| | | AUTH_COLUMNS.add(col("otherCount", "å
¶ä»è½¦æ°", 100)); |
| | | AUTH_COLUMNS.add(col("trailerTons", "æè½¦å¨ä½", 110)); |
| | | AUTH_COLUMNS.add(col("otherTons", "å
¶ä»å¨ä½", 110)); |
| | | AUTH_COLUMNS.add(col("tractorCount", "çµå¼è½¦æ°(è¾)", 110)); |
| | | AUTH_COLUMNS.add(col("trailerCount", "æè½¦æ°(è¾)", 110)); |
| | | AUTH_COLUMNS.add(col("otherCount", "å
¶ä»è½¦æ°(è¾)", 110)); |
| | | AUTH_COLUMNS.add(col("trailerTons", "æè½¦å¨ä½(å¨)", 120)); |
| | | AUTH_COLUMNS.add(col("otherTons", "å
¶ä»å¨ä½(å¨)", 120)); |
| | | |
| | | TRACK_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | TRACK_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 240)); |
| | | TRACK_COLUMNS.add(col("monthlyMileage", "æåº¦éç¨", 120)); |
| | | TRACK_COLUMNS.add(col("trackedVehicles", "è½¨è¿¹è½¦è¾æ°", 120)); |
| | | TRACK_COLUMNS.add(col("monthlyMileage", "æåº¦éç¨(å
Ž)", 130)); |
| | | TRACK_COLUMNS.add(col("trackedVehicles", "è½¨è¿¹è½¦è¾æ°(è¾)", 130)); |
| | | |
| | | SPLIT_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | SPLIT_COLUMNS.add(col("periodType", "å£å¾", 90)); |
| | | SPLIT_COLUMNS.add(col("regionName", "å¸å·", 130)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleFreight", "è§ä¸è´§è¿é", 120)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleTurnover", "è§ä¸å¨è½¬é", 120)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleRank", "è§ä¸æå", 100)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleYoy", "è§ä¸åæ¯", 100)); |
| | | SPLIT_COLUMNS.add(col("belowScaleFreight", "è§ä¸è´§è¿é", 120)); |
| | | SPLIT_COLUMNS.add(col("belowScaleTurnover", "è§ä¸å¨è½¬é", 120)); |
| | | SPLIT_COLUMNS.add(col("belowScaleRank", "è§ä¸æå", 100)); |
| | | SPLIT_COLUMNS.add(col("belowScaleYoy", "è§ä¸åæ¯", 100)); |
| | | SPLIT_COLUMNS.add(col("totalFreight", "å计货è¿é", 120)); |
| | | SPLIT_COLUMNS.add(col("totalTurnover", "å计å¨è½¬é", 120)); |
| | | SPLIT_COLUMNS.add(col("totalRank", "å计æå", 100)); |
| | | SPLIT_COLUMNS.add(col("totalYoy", "åè®¡åæ¯", 100)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleFreight", "è§ä¸è´§è¿é(ä¸å¨)", 140)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleTurnover", "è§ä¸å¨è½¬é(ä¸å¨å
Ž)", 170)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleRank", "è§ä¸æå(å)", 110)); |
| | | SPLIT_COLUMNS.add(col("aboveScaleYoy", "è§ä¸åæ¯(%)", 110)); |
| | | SPLIT_COLUMNS.add(col("belowScaleFreight", "è§ä¸è´§è¿é(ä¸å¨)", 140)); |
| | | SPLIT_COLUMNS.add(col("belowScaleTurnover", "è§ä¸å¨è½¬é(ä¸å¨å
Ž)", 170)); |
| | | SPLIT_COLUMNS.add(col("belowScaleRank", "è§ä¸æå(å)", 110)); |
| | | SPLIT_COLUMNS.add(col("belowScaleYoy", "è§ä¸åæ¯(%)", 110)); |
| | | SPLIT_COLUMNS.add(col("totalFreight", "å计货è¿é(ä¸å¨)", 140)); |
| | | SPLIT_COLUMNS.add(col("totalTurnover", "å计å¨è½¬é(ä¸å¨å
Ž)", 170)); |
| | | SPLIT_COLUMNS.add(col("totalRank", "å计æå(å)", 110)); |
| | | SPLIT_COLUMNS.add(col("totalYoy", "åè®¡åæ¯(%)", 110)); |
| | | |
| | | FREIGHT_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | FREIGHT_COLUMNS.add(col("regionName", "å¸å·", 130)); |
| | | for (int m = 1; m <= 12; m++) { |
| | | FREIGHT_COLUMNS.add(col(String.format("freightM%02d", m), "è´§è¿é" + m + "æ", 110)); |
| | | FREIGHT_COLUMNS.add(col(String.format("freightM%02d", m), "è´§è¿é" + m + "æ(ä¸å¨)", 140)); |
| | | } |
| | | for (int m = 1; m <= 12; m++) { |
| | | FREIGHT_COLUMNS.add(col(String.format("lastFreightM%02d", m), "å»å¹´è´§è¿é" + m + "æ", 130)); |
| | | FREIGHT_COLUMNS.add(col(String.format("lastFreightM%02d", m), "å»å¹´è´§è¿é" + m + "æ(ä¸å¨)", 160)); |
| | | } |
| | | for (int m = 1; m <= 12; m++) { |
| | | FREIGHT_COLUMNS.add(col(String.format("turnoverM%02d", m), "å¨è½¬é" + m + "æ", 120)); |
| | | FREIGHT_COLUMNS.add(col(String.format("turnoverM%02d", m), "å¨è½¬é" + m + "æ(ä¸å¨å
Ž)", 160)); |
| | | } |
| | | for (int m = 1; m <= 12; m++) { |
| | | FREIGHT_COLUMNS.add(col(String.format("lastTurnoverM%02d", m), "å»å¹´å¨è½¬é" + m + "æ", 140)); |
| | | FREIGHT_COLUMNS.add(col(String.format("lastTurnoverM%02d", m), "å»å¹´å¨è½¬é" + m + "æ(ä¸å¨å
Ž)", 180)); |
| | | } |
| | | |
| | | H2031_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | H2031_COLUMNS.add(col("regionCode", "æå±å°åº", 100)); |
| | | H2031_COLUMNS.add(col("city", "å¸å·", 110)); |
| | | H2031_COLUMNS.add(col("enterpriseCode", "ä¼ä¸ä»£ç ", 130)); |
| | | H2031_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 220)); |
| | | H2031_COLUMNS.add(col("unifiedCreditCode", "ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ", 180)); |
| | | H2031_COLUMNS.add(col("reportUnit", "å¡«æ¥åä½", 160)); |
| | | H2031_COLUMNS.add(col("vehicleTotal", "客è¿è½¦è¾å计", 110)); |
| | | H2031_COLUMNS.add(col("seatTotal", "æ ¸å®è½½å®¢ä½å计", 130)); |
| | | H2031_COLUMNS.add(col("vehicleSchedule", "ççº¿è½¦è¾æ°", 110)); |
| | | H2031_COLUMNS.add(col("seatSchedule", "ç线载客ä½", 110)); |
| | | H2031_COLUMNS.add(col("vehicleCharter", "å
è½¦è½¦è¾æ°", 110)); |
| | | H2031_COLUMNS.add(col("seatCharter", "å
车载客ä½", 110)); |
| | | H2031_COLUMNS.add(col("passengerTotal", "客è¿éå计", 110)); |
| | | H2031_COLUMNS.add(col("turnoverTotal", "å¨è½¬éå计", 110)); |
| | | H2031_COLUMNS.add(col("passengerClass1", "客è¿éä¸ç±»", 110)); |
| | | H2031_COLUMNS.add(col("passengerClass2", "客è¿éäºç±»", 110)); |
| | | H2031_COLUMNS.add(col("passengerClass3", "客è¿éä¸ç±»", 110)); |
| | | H2031_COLUMNS.add(col("passengerClass4", "客è¿éåç±»", 110)); |
| | | H2031_COLUMNS.add(col("passengerCharter", "客è¿éå
车", 110)); |
| | | H2031_COLUMNS.add(col("turnoverClass1", "å¨è½¬éä¸ç±»", 110)); |
| | | H2031_COLUMNS.add(col("turnoverClass2", "å¨è½¬éäºç±»", 110)); |
| | | H2031_COLUMNS.add(col("turnoverClass3", "å¨è½¬éä¸ç±»", 110)); |
| | | H2031_COLUMNS.add(col("turnoverClass4", "å¨è½¬éåç±»", 110)); |
| | | H2031_COLUMNS.add(col("turnoverCharter", "å¨è½¬éå
车", 110)); |
| | | H2031_COLUMNS.add(col("avgDistanceTotal", "å¹³åè¿è·å计", 120)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass1", "ä¸ç±»å¹³åè¿è·", 120)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass2", "äºç±»å¹³åè¿è·", 120)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass3", "ä¸ç±»å¹³åè¿è·", 120)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass4", "å类平åè¿è·", 120)); |
| | | H2031_COLUMNS.add(col("avgDistanceCharter", "å
车平åè¿è·", 120)); |
| | | H2031_COLUMNS.add(col("vehicleTotal", "客è¿è½¦è¾å计(è¾)", 130)); |
| | | H2031_COLUMNS.add(col("seatTotal", "æ ¸å®è½½å®¢ä½å计(座)", 150)); |
| | | H2031_COLUMNS.add(col("vehicleSchedule", "ççº¿è½¦è¾æ°(è¾)", 130)); |
| | | H2031_COLUMNS.add(col("seatSchedule", "ç线载客ä½(座)", 130)); |
| | | H2031_COLUMNS.add(col("vehicleCharter", "å
è½¦è½¦è¾æ°(è¾)", 130)); |
| | | H2031_COLUMNS.add(col("seatCharter", "å
车载客ä½(座)", 130)); |
| | | H2031_COLUMNS.add(col("passengerTotal", "客è¿éå计(人)", 130)); |
| | | H2031_COLUMNS.add(col("turnoverTotal", "å¨è½¬éå计(人å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("passengerClass1", "客è¿éä¸ç±»(人)", 120)); |
| | | H2031_COLUMNS.add(col("passengerClass2", "客è¿éäºç±»(人)", 120)); |
| | | H2031_COLUMNS.add(col("passengerClass3", "客è¿éä¸ç±»(人)", 120)); |
| | | H2031_COLUMNS.add(col("passengerClass4", "客è¿éåç±»(人)", 120)); |
| | | H2031_COLUMNS.add(col("passengerCharter", "客è¿éå
车(人)", 130)); |
| | | H2031_COLUMNS.add(col("turnoverClass1", "å¨è½¬éä¸ç±»(人å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("turnoverClass2", "å¨è½¬éäºç±»(人å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("turnoverClass3", "å¨è½¬éä¸ç±»(人å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("turnoverClass4", "å¨è½¬éåç±»(人å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("turnoverCharter", "å¨è½¬éå
车(人å
Ž)", 150)); |
| | | H2031_COLUMNS.add(col("avgDistanceTotal", "å¹³åè¿è·å计(å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass1", "ä¸ç±»å¹³åè¿è·(å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass2", "äºç±»å¹³åè¿è·(å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass3", "ä¸ç±»å¹³åè¿è·(å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("avgDistanceClass4", "å类平åè¿è·(å
Ž)", 140)); |
| | | H2031_COLUMNS.add(col("avgDistanceCharter", "å
车平åè¿è·(å
Ž)", 140)); |
| | | BUS_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | BUS_COLUMNS.add(col("regionCode", "æå±å°åº", 100)); |
| | | BUS_COLUMNS.add(col("city", "å¸å·", 110)); |
| | | BUS_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 220)); |
| | | BUS_COLUMNS.add(col("opVehicles", "è¿è¥è½¦æ°", 100)); |
| | | BUS_COLUMNS.add(col("stopTotal", "ç«ç¹æ»ä¸ªæ°", 110)); |
| | | BUS_COLUMNS.add(col("stopCity", "åå¸å
ç«ç¹", 110)); |
| | | BUS_COLUMNS.add(col("passengerVolume", "客è¿é", 100)); |
| | | BUS_COLUMNS.add(col("passengerCity", "åå¸å
客è¿é", 120)); |
| | | BUS_COLUMNS.add(col("turnover", "æ
客å¨è½¬é", 110)); |
| | | BUS_COLUMNS.add(col("turnoverCity", "åå¸å
å¨è½¬é", 120)); |
| | | BUS_COLUMNS.add(col("avgDistance", "å¹³åè¿è·", 100)); |
| | | BUS_COLUMNS.add(col("avgDistanceCity", "åå¸å
å¹³åè¿è·", 130)); |
| | | BUS_COLUMNS.add(col("passengerChengxiang", "åé
å乡客è¿é", 130)); |
| | | BUS_COLUMNS.add(col("turnoverChengxiang", "åé
å乡å¨è½¬é", 130)); |
| | | BUS_COLUMNS.add(col("avgDistanceChengxiang", "åé
å乡平åè¿è·", 140)); |
| | | BUS_COLUMNS.add(col("opVehicles", "è¿è¥è½¦æ°(è¾)", 120)); |
| | | BUS_COLUMNS.add(col("stopTotal", "ç«ç¹æ»ä¸ªæ°(个)", 130)); |
| | | BUS_COLUMNS.add(col("stopCity", "åå¸å
ç«ç¹(个)", 130)); |
| | | BUS_COLUMNS.add(col("passengerVolume", "客è¿é(ä¸äººæ¬¡)", 120)); |
| | | BUS_COLUMNS.add(col("passengerCity", "åå¸å
客è¿é(ä¸äººæ¬¡)", 150)); |
| | | BUS_COLUMNS.add(col("turnover", "æ
客å¨è½¬é(ä¸äººå
Ž)", 170)); |
| | | BUS_COLUMNS.add(col("turnoverCity", "åå¸å
å¨è½¬é(ä¸äººå
Ž)", 180)); |
| | | BUS_COLUMNS.add(col("avgDistance", "å¹³åè¿è·(å
Ž)", 120)); |
| | | BUS_COLUMNS.add(col("avgDistanceCity", "åå¸å
å¹³åè¿è·(å
Ž)", 150)); |
| | | BUS_COLUMNS.add(col("passengerChengxiang", "åé
å乡客è¿é(ä¸äººæ¬¡)", 160)); |
| | | BUS_COLUMNS.add(col("turnoverChengxiang", "åé
å乡å¨è½¬é(ä¸äººå
Ž)", 190)); |
| | | BUS_COLUMNS.add(col("avgDistanceChengxiang", "åé
å乡平åè¿è·(å
Ž)", 160)); |
| | | BUS_COLUMNS.add(col("ratePassengerMom", "客è¿éç¯æ¯", 100)); |
| | | BUS_COLUMNS.add(col("ratePassengerCityMom", "åå¸å
ç¯æ¯", 100)); |
| | | BUS_COLUMNS.add(col("rateChengxiangMom", "åé
åä¹¡ç¯æ¯", 110)); |
| | |
| | | TAXI_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | TAXI_COLUMNS.add(col("regionCode", "æå±å°åº", 100)); |
| | | TAXI_COLUMNS.add(col("city", "å¸å·", 110)); |
| | | TAXI_COLUMNS.add(col("tripTotal", "è½½å®¢è½¦æ¬¡æ»æ°", 120)); |
| | | TAXI_COLUMNS.add(col("tripCity", "载客车次_åå¸å
", 130)); |
| | | TAXI_COLUMNS.add(col("passengerVolume", "客è¿é", 100)); |
| | | TAXI_COLUMNS.add(col("passengerCity", "åå¸å
客è¿é", 120)); |
| | | TAXI_COLUMNS.add(col("turnover", "æ
客å¨è½¬é", 110)); |
| | | TAXI_COLUMNS.add(col("turnoverCity", "åå¸å
å¨è½¬é", 120)); |
| | | TAXI_COLUMNS.add(col("opVehicles", "è¿è¥è½¦è¾æ°", 110)); |
| | | TAXI_COLUMNS.add(col("avgDistance", "å¹³åè¿è·", 100)); |
| | | TAXI_COLUMNS.add(col("avgDistanceCity", "åå¸å
å¹³åè¿è·", 130)); |
| | | TAXI_COLUMNS.add(col("passengersPerTrip", "å车次载客人æ°", 130)); |
| | | TAXI_COLUMNS.add(col("tripTotal", "è½½å®¢è½¦æ¬¡æ»æ°(车次)", 150)); |
| | | TAXI_COLUMNS.add(col("tripCity", "载客车次_åå¸å
(车次)", 160)); |
| | | TAXI_COLUMNS.add(col("passengerVolume", "客è¿é(ä¸äººæ¬¡)", 120)); |
| | | TAXI_COLUMNS.add(col("passengerCity", "åå¸å
客è¿é(ä¸äººæ¬¡)", 150)); |
| | | TAXI_COLUMNS.add(col("turnover", "æ
客å¨è½¬é(ä¸äººå
Ž)", 170)); |
| | | TAXI_COLUMNS.add(col("turnoverCity", "åå¸å
å¨è½¬é(ä¸äººå
Ž)", 180)); |
| | | TAXI_COLUMNS.add(col("opVehicles", "è¿è¥è½¦è¾æ°(è¾)", 130)); |
| | | TAXI_COLUMNS.add(col("avgDistance", "å¹³åè¿è·(å
Ž)", 120)); |
| | | TAXI_COLUMNS.add(col("avgDistanceCity", "åå¸å
å¹³åè¿è·(å
Ž)", 150)); |
| | | TAXI_COLUMNS.add(col("passengersPerTrip", "å车次载客人æ°(人/车次)", 170)); |
| | | TAXI_COLUMNS.add(col("rateTripMom", "è½½å®¢è½¦æ¬¡ç¯æ¯", 110)); |
| | | TAXI_COLUMNS.add(col("rateTripYoy", "è½½å®¢è½¦æ¬¡åæ¯", 110)); |
| | | TAXI_COLUMNS.add(col("ratePassengerMom", "客è¿éç¯æ¯", 100)); |
| | | TAXI_COLUMNS.add(col("ratePassengerYoy", "客è¿é忝", 100)); |
| | | TAXI_COLUMNS.add(col("passengerCityRatio", "åå¸å
客è¿éå æ¯", 140)); |
| | | TAXI_COLUMNS.add(col("avgDistanceChengxiang", "åé
å乡平åè¿è·", 140)); |
| | | TAXI_COLUMNS.add(col("avgDistanceChengxiang", "åé
å乡平åè¿è·(å
Ž)", 160)); |
| | | TAXI_COLUMNS.add(col("verifyExplanation", "æ ¸å®è§£é", 220)); |
| | | TAXI_AUTH_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | TAXI_AUTH_COLUMNS.add(col("city", "å¸å·", 110)); |
| | |
| | | PAUTH_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | PAUTH_COLUMNS.add(col("enterpriseCode", "ä¼ä¸ä»£ç ", 130)); |
| | | PAUTH_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 240)); |
| | | PAUTH_COLUMNS.add(col("vehicleCount", "è½¦è¾æ°", 100)); |
| | | PAUTH_COLUMNS.add(col("seatCount", "è½½å®¢ä½æ°", 100)); |
| | | PAUTH_COLUMNS.add(col("vehicleCount", "è½¦è¾æ°(è¾)", 110)); |
| | | PAUTH_COLUMNS.add(col("seatCount", "è½½å®¢ä½æ°(座)", 120)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("projectId", "项ç®ID", 80)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("projectName", "项ç®åç§°", 280)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("city", "å¸å·", 90)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("yearPlan", "æ¬å¹´è®¡åæèµ(ä¸å
)", 140)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("yearCum", "èªå¹´åç´¯è®¡å®æ(ä¸å
)", 160)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("monthDone", "æ¬æå®ææèµ(ä¸å
)", 150)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("startCum", "èªå¼å§å»ºè®¾ç´¯è®¡å®æ(ä¸å
)", 180)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("progressStage", "å»ºè®¾é¶æ®µ", 120)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("progressDesc", "形象è¿åº¦", 320)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("buildingArea", "建çé¢ç§¯", 110)); |
| | | INVEST_MONTHLY_COLUMNS.add(col("buildingArea", "建çé¢ç§¯(å¹³æ¹ç±³)", 140)); |
| | | INVEST_PROJECT_COLUMNS.add(col("projectName", "项ç®åç§°", 260)); |
| | | INVEST_PROJECT_COLUMNS.add(col("category", "ç±»å«", 100)); |
| | | INVEST_PROJECT_COLUMNS.add(col("city", "å¸å·", 90)); |
| | |
| | | INVEST_PROJECT_COLUMNS.add(col("startTime", "å¼å·¥å¹´", 90)); |
| | | INVEST_PROJECT_COLUMNS.add(col("endTime", "å®å·¥å¹´", 90)); |
| | | INVEST_PROJECT_COLUMNS.add(col("totalInvestment", "æ»æèµ(ä¸å
)", 130)); |
| | | INVEST_PROJECT_COLUMNS.add(col("buildingArea", "建çé¢ç§¯", 110)); |
| | | INVEST_PROJECT_COLUMNS.add(col("buildingArea", "建çé¢ç§¯(å¹³æ¹ç±³)", 140)); |
| | | INVEST_PROJECT_COLUMNS.add(col("approvalGk", "å·¥å¯ææ ¸åæ¹å¤æå·", 200)); |
| | | INVEST_PROJECT_COLUMNS.add(col("approvalCs", "åè®¾ææ½å·¥å¾æ¹å¤æå·", 200)); |
| | | INVEST_PROJECT_COLUMNS.add(col("source", "æ¥æº", 100)); |
| | |
| | | INVEST_SYSTEM_COLUMNS.add(col("monthDone", "æ¬æå®ææèµ(ä¸å
)", 150)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("regionCode", "æå±å°åº", 100)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("city", "å¸å·", 110)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 220)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("plateNo", "车çå·", 110)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("vehicleType", "车è¾ç±»å", 130)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("fuelType", "çæç±»å", 110)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("manufactureYear", "åºå年份", 100)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("markedTonnage", "æ è®°å¨ä½", 100)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("markedTonnage", "æ è®°å¨ä½(å¨)", 120)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("totalMileage", "æ»è¡é©¶éç¨(å
Ž)", 150)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("loadedMileage", "éè½½éç¨(å
Ž)", 140)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("emptyMileage", "空载éç¨(å
Ž)", 140)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("freight", "è´§è¿é(å¨)", 120)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("turnover", "å¨è½¬é(å¨å
Ž)", 140)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("tripCount", "车次", 90)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("tripCount", "车次(次)", 100)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("fuelUnit", "çæåä½", 100)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("fuelConsumption", "çææ¶èé", 120)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("avgDistance", "å¹³åè¿è·", 110)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("avgLoadedTonnage", "å¹³åè½½éå¨ä½", 130)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("avgTripMileage", "å¹³å车次éç¨", 130)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("fuelPer100km", "ç¾å
¬éæ²¹è", 120)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("turnoverFuel", "å¨è½¬éæ²¹è", 120)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("fuelConsumption", "çææ¶èé(æçæåä½)", 170)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("avgDistance", "å¹³åè¿è·(å
Ž)", 130)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("avgLoadedTonnage", "å¹³åè½½éå¨ä½(å¨)", 150)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("avgTripMileage", "å¹³å车次éç¨(å
Ž)", 150)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("fuelPer100km", "ç¾å
¬éæ²¹è(æçæåä½)", 170)); |
| | | ENERGY_VEHICLE_COLUMNS.add(col("turnoverFuel", "å¨è½¬éæ²¹è(æçæåä½)", 170)); |
| | | ENERGY_AUTH_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | ENERGY_AUTH_COLUMNS.add(col("plateNo", "车çå·", 110)); |
| | | ENERGY_AUTH_COLUMNS.add(col("vehicleType", "车è¾ç±»å", 130)); |
| | | ENERGY_AUTH_COLUMNS.add(col("fuelType", "çæç±»å", 110)); |
| | | ENERGY_AUTH_COLUMNS.add(col("markedTonnage", "æ è®°å¨ä½", 100)); |
| | | ENERGY_AUTH_COLUMNS.add(col("tractionQuality", "çµå¼è´¨é", 110)); |
| | | ENERGY_AUTH_COLUMNS.add(col("markedTonnage", "æ è®°å¨ä½(å¨)", 120)); |
| | | ENERGY_AUTH_COLUMNS.add(col("tractionQuality", "çµå¼è´¨é(å¨)", 130)); |
| | | |
| | | PAX_INDIVIDUAL_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | PAX_INDIVIDUAL_COLUMNS.add(col("regionCode", "æå±å°åº", 110)); |
| | | PAX_INDIVIDUAL_COLUMNS.add(col("city", "å¸å·", 110)); |
| | | PAX_INDIVIDUAL_COLUMNS.add(col("enterpriseCode", "ä¼ä¸ä»£ç ", 130)); |
| | | PAX_INDIVIDUAL_COLUMNS.add(col("enterpriseName", "ä¼ä¸åç§°", 220)); |
| | | PAX_INDIVIDUAL_COLUMNS.add(col("passengerCount", "个ä½å®¢è¿é(人)", 140)); |
| | | PAX_INDIVIDUAL_COLUMNS.add(col("turnover", "ä¸ªä½æ
客å¨è½¬é(人å
Ž)", 180)); |
| | | |
| | | WYC_TOTAL_COLUMNS.add(col("reportPeriod", "æ¥è¡¨æ", 100)); |
| | | WYC_TOTAL_COLUMNS.add(col("pinK", "å
¨çç½çº¦è½¦å®¢è¿é(ä¸äººæ¬¡)", 210)); |
| | | WYC_TOTAL_COLUMNS.add(col("pinCK", "å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡)", 210)); |
| | | WYC_TOTAL_COLUMNS.add(col("pinZ", "å
¨çç½çº¦è½¦å¨è½¬é(ä¸äººå
Ž)", 220)); |
| | | WYC_TOTAL_COLUMNS.add(col("pinCZ", "å
¶ä¸åå¸å
å¨è½¬é(ä¸äººå
Ž)", 220)); |
| | | |
| | | WYC_ORDER_COLUMNS.add(col("region", "å°åº", 110)); |
| | | WYC_ORDER_COLUMNS.add(col("period", "æé´", 100)); |
| | | WYC_ORDER_COLUMNS.add(col("orderCount", "è®¢åæ°(å)", 130)); |
| | | WYC_ORDER_COLUMNS.add(col("orderShare", "订åå æ¯", 100)); |
| | | WYC_ORDER_COLUMNS.add(col("pax", "客è¿é(ä¸äººæ¬¡)", 140)); |
| | | WYC_ORDER_COLUMNS.add(col("turnover", "æ
客å¨è½¬é(ä¸äººå
Ž)", 180)); |
| | | WYC_ORDER_COLUMNS.add(col("cityPax", "å
¶ä¸åå¸å
客è¿é(ä¸äººæ¬¡)", 190)); |
| | | WYC_ORDER_COLUMNS.add(col("cityTurnover", "å
¶ä¸åå¸å
æ
客å¨è½¬é(ä¸äººå
Ž)", 230)); |
| | | WYC_ORDER_COLUMNS.add(col("note", "说æ", 200)); |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | package com.trafficaudit.dataimport.service; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.trafficaudit.common.util.RegionUtil; |
| | | import com.trafficaudit.dataimport.entity.CityBusMonthly; |
| | | import com.trafficaudit.dataimport.entity.CityTaxiMonthly; |
| | | import com.trafficaudit.dataimport.entity.FreightTurnoverImport; |
| | | import com.trafficaudit.dataimport.entity.H2032EnterpriseMonthly; |
| | | import com.trafficaudit.dataimport.entity.PassengerEnterpriseMonthly; |
| | | import com.trafficaudit.dataimport.entity.PassengerIndividualMonthly; |
| | | import com.trafficaudit.dataimport.entity.WycOrderMonthly; |
| | | import com.trafficaudit.dataimport.mapper.CityBusMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.CityTaxiMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.FreightTurnoverImportMapper; |
| | | import com.trafficaudit.dataimport.mapper.H2032EnterpriseMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.PassengerEnterpriseMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.PassengerIndividualMonthlyMapper; |
| | | import com.trafficaudit.dataimport.mapper.WycOrderMonthlyMapper; |
| | | import com.trafficaudit.reportexport.calc.WycSplitCalc; |
| | | import org.apache.poi.ss.usermodel.BorderStyle; |
| | | import org.apache.poi.ss.usermodel.Font; |
| | | import org.apache.poi.ss.usermodel.HorizontalAlignment; |
| | | import org.apache.poi.xssf.usermodel.XSSFCell; |
| | | import org.apache.poi.xssf.usermodel.XSSFCellStyle; |
| | | import org.apache.poi.xssf.usermodel.XSSFRow; |
| | | import org.apache.poi.xssf.usermodel.XSSFSheet; |
| | | import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.LinkedHashSet; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * æ°æ®æ¥ç - æå¸å·æ±æ»ï¼ä»»æèµ·æ¢æï¼ã |
| | | * |
| | | * å£å¾ï¼2026-09-22 ä¸ç¨æ·ç¡®è®¤ï¼ï¼ |
| | | * 1) æµéç±»åï¼å®¢è¿é/å¨è½¬é/è´§è¿é/è®¢åæ°ï¼è·¨ææ±åï¼ |
| | | * 2) æ¶ç¹ç±»åï¼è½¦è¾æ°ãä¼ä¸æ°ãç«ç¹æ°ï¼ä¸å䏿±æ»ï¼ä¸åºç°å¨ç»æéï¼ |
| | | * 3) æ¯çç±»åæç´¯è®¡å£å¾éç®ï¼ç´¯è®¡åæ¯ = æ¬æç´¯è®¡ ÷ ä¸å¹´åæç´¯è®¡ â 1ï¼å¹³åè¿è· = 累计å¨è½¬é ÷ 累计客è¿éï¼ |
| | | * 4) æåé»è®¤ç空ï¼å¯ç±åç«¯éæ©"æç´¯è®¡å¼éæ"ï¼ |
| | | * 5) ç»æ = 17 å¸å·ï¼RegionUtil è§èå/顺åºï¼+ å
¨çå计è¡ã |
| | | */ |
| | | @Service |
| | | public class CityRollupService { |
| | | |
| | | public static final String TOTAL_CITY = "å
¨çå计"; |
| | | |
| | | @Resource |
| | | private CityBusMonthlyMapper cityBusMapper; |
| | | @Resource |
| | | private CityTaxiMonthlyMapper cityTaxiMapper; |
| | | @Resource |
| | | private H2032EnterpriseMonthlyMapper h2032Mapper; |
| | | @Resource |
| | | private PassengerEnterpriseMonthlyMapper h2031Mapper; |
| | | @Resource |
| | | private PassengerIndividualMonthlyMapper individualMapper; |
| | | @Resource |
| | | private WycOrderMonthlyMapper wycOrderMapper; |
| | | @Resource |
| | | private FreightTurnoverImportMapper freightTurnoverMapper; |
| | | @Resource |
| | | private WycSplitCalc wycSplitCalc; |
| | | |
| | | /** æ±æ»åå®ä¹ãkindï¼FLOW æ±å / AVG ååÃ·åæ¯ / YOY æ¬æç´¯è®¡âä¸å¹´åæç´¯è®¡ / YOYS åè¡å»å¹´å段 / RANK ææè¾åºåéæå次 */ |
| | | private static class Col { |
| | | final String prop; |
| | | final String label; |
| | | final int width; |
| | | final String kind; |
| | | final String src; |
| | | final String den; |
| | | final String last; |
| | | final String rankBy; |
| | | |
| | | Col(String prop, String label, int width, String kind, String src, String den, String last, String rankBy) { |
| | | this.prop = prop; |
| | | this.label = label; |
| | | this.width = width; |
| | | this.kind = kind; |
| | | this.src = src; |
| | | this.den = den; |
| | | this.last = last; |
| | | this.rankBy = rankBy; |
| | | } |
| | | } |
| | | |
| | | private static Col flow(String prop, String label, int width, String src) { |
| | | return new Col(prop, label, width, "FLOW", src, null, null, null); |
| | | } |
| | | |
| | | private static Col avg(String prop, String label, String src, String den) { |
| | | return new Col(prop, label, 130, "AVG", src, den, null, null); |
| | | } |
| | | |
| | | private static Col yoy(String prop, String label, String src) { |
| | | return new Col(prop, label, 150, "YOY", src, null, null, null); |
| | | } |
| | | |
| | | private static Col yoys(String prop, String label, String src, String last) { |
| | | return new Col(prop, label, 150, "YOYS", src, null, last, null); |
| | | } |
| | | |
| | | private static Col rank(String prop, String label, String rankBy) { |
| | | return new Col(prop, label, 110, "RANK", null, null, null, rankBy); |
| | | } |
| | | |
| | | private static final Map<String, String> TYPE_LABELS = new LinkedHashMap<>(); |
| | | private static final Map<String, List<Col>> SPECS = new LinkedHashMap<>(); |
| | | |
| | | static { |
| | | TYPE_LABELS.put("cityBus", "åå¸å
Œ
±äº¤éï¼æå¸å·æ±æ»ï¼"); |
| | | SPECS.put("cityBus", Arrays.asList( |
| | | flow("passengerVolume", "客è¿é(ä¸äººæ¬¡)", 140, "passengerVolume"), |
| | | flow("turnover", "æ
客å¨è½¬é(ä¸äººå
Ž)", 180, "turnover"), |
| | | flow("passengerCity", "åå¸å
客è¿é(ä¸äººæ¬¡)", 170, "passengerCity"), |
| | | flow("turnoverCity", "åå¸å
å¨è½¬é(ä¸äººå
Ž)", 190, "turnoverCity"), |
| | | flow("passengerChengxiang", "åé
å乡客è¿é(ä¸äººæ¬¡)", 190, "passengerChengxiang"), |
| | | flow("turnoverChengxiang", "åé
å乡å¨è½¬é(ä¸äººå
Ž)", 210, "turnoverChengxiang"), |
| | | avg("avgDistance", "å¹³åè¿è·(å
Ž)", "turnover", "passengerVolume"), |
| | | yoy("passengerYoy", "客è¿éç´¯è®¡åæ¯(%)", "passengerVolume"), |
| | | rank("passengerRank", "客è¿éæå", "passengerVolume"))); |
| | | |
| | | TYPE_LABELS.put("cityTaxi", "巡游åºç§æ±½è½¦ï¼æå¸å·æ±æ»ï¼"); |
| | | SPECS.put("cityTaxi", Arrays.asList( |
| | | flow("passengerVolume", "客è¿é(ä¸äººæ¬¡)", 140, "passengerVolume"), |
| | | flow("turnover", "æ
客å¨è½¬é(ä¸äººå
Ž)", 180, "turnover"), |
| | | flow("passengerCity", "åå¸å
客è¿é(ä¸äººæ¬¡)", 170, "passengerCity"), |
| | | flow("turnoverCity", "åå¸å
å¨è½¬é(ä¸äººå
Ž)", 190, "turnoverCity"), |
| | | flow("tripTotal", "è½½å®¢è½¦æ¬¡æ»æ°(车次)", 170, "tripTotal"), |
| | | flow("tripCity", "载客车次_åå¸å
(车次)", 190, "tripCity"), |
| | | avg("avgDistance", "å¹³åè¿è·(å
Ž)", "turnover", "passengerVolume"), |
| | | yoy("passengerYoy", "客è¿éç´¯è®¡åæ¯(%)", "passengerVolume"), |
| | | rank("passengerRank", "客è¿éæå", "passengerVolume"))); |
| | | |
| | | TYPE_LABELS.put("h2032", "é路货ç©è¿è¾ä¼ä¸ï¼æå¸å·æ±æ»ï¼"); |
| | | SPECS.put("h2032", Arrays.asList( |
| | | flow("freightTotal", "è´§è¿é(å¨)", 150, "freightTotal"), |
| | | flow("turnoverTotal", "è´§è¿å¨è½¬é(å¨å
Ž)", 180, "turnoverTotal"), |
| | | avg("avgDistance", "å¹³åè¿è·(å
Ž)", "turnoverTotal", "freightTotal"), |
| | | yoy("freightYoy", "è´§è¿éç´¯è®¡åæ¯(%)", "freightTotal"), |
| | | rank("freightRank", "è´§è¿éæå", "freightTotal"), |
| | | rank("turnoverRank", "å¨è½¬éæå", "turnoverTotal"))); |
| | | |
| | | TYPE_LABELS.put("h2031", "å
¬è·¯æ
客è¿è¾ä¼ä¸ï¼æå¸å·æ±æ»ï¼"); |
| | | SPECS.put("h2031", Arrays.asList( |
| | | flow("passengerTotal", "客è¿é(人)", 140, "passengerTotal"), |
| | | flow("turnoverTotal", "æ
客å¨è½¬é(人å
Ž)", 180, "turnoverTotal"), |
| | | avg("avgDistance", "å¹³åè¿è·(å
Ž)", "turnoverTotal", "passengerTotal"), |
| | | yoy("passengerYoy", "客è¿éç´¯è®¡åæ¯(%)", "passengerTotal"), |
| | | rank("passengerRank", "客è¿éæå", "passengerTotal"))); |
| | | |
| | | TYPE_LABELS.put("passengerIndividual", "个ä½å®¢è¿é/å¨è½¬éï¼æå¸å·æ±æ»ï¼"); |
| | | SPECS.put("passengerIndividual", Arrays.asList( |
| | | flow("passengerCount", "个ä½å®¢è¿é(人)", 150, "passengerCount"), |
| | | flow("turnover", "ä¸ªä½æ
客å¨è½¬é(人å
Ž)", 190, "turnover"), |
| | | yoy("passengerYoy", "客è¿éç´¯è®¡åæ¯(%)", "passengerCount"))); |
| | | |
| | | TYPE_LABELS.put("wycOrder", "ç½çº¦è½¦ï¼æå¸å·ãæåå£å¾æ±æ»ï¼"); |
| | | SPECS.put("wycOrder", Arrays.asList( |
| | | flow("orderCount", "è®¢åæ°(å)", 150, "orderCount"), |
| | | flow("pax", "客è¿é(ä¸äººæ¬¡)", 140, "pax"), |
| | | flow("turnover", "æ
客å¨è½¬é(ä¸äººå
Ž)", 180, "turnover"), |
| | | flow("cityPax", "åå¸å
客è¿é(ä¸äººæ¬¡)", 170, "cityPax"), |
| | | flow("cityTurnover", "åå¸å
æ
客å¨è½¬é(ä¸äººå
Ž)", 210, "cityTurnover"), |
| | | yoy("paxYoy", "客è¿éç´¯è®¡åæ¯(%)", "pax"), |
| | | rank("paxRank", "客è¿éæå", "pax"))); |
| | | |
| | | TYPE_LABELS.put("freightTurnover", "è´§è¿éå¨è½¬éï¼æå¸å·æ±æ»ï¼"); |
| | | SPECS.put("freightTurnover", Arrays.asList( |
| | | flow("freight", "è´§è¿é(ä¸å¨)", 140, "freightM"), |
| | | flow("turnover", "å¨è½¬é(ä¸å¨å
Ž)", 170, "turnoverM"), |
| | | yoys("freightYoy", "è´§è¿éç´¯è®¡åæ¯(%)", "freightM", "lastFreightM"), |
| | | yoys("turnoverYoy", "å¨è½¬éç´¯è®¡åæ¯(%)", "turnoverM", "lastTurnoverM"), |
| | | rank("freightRank", "è´§è¿éæå", "freight"), |
| | | rank("turnoverRank", "å¨è½¬éæå", "turnover"))); |
| | | } |
| | | |
| | | public List<Map<String, Object>> supportedTypes() { |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | for (Map.Entry<String, String> e : TYPE_LABELS.entrySet()) { |
| | | Map<String, Object> m = new LinkedHashMap<>(); |
| | | m.put("type", e.getKey()); |
| | | m.put("label", e.getValue()); |
| | | list.add(m); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** æå¸å·æ±æ» */ |
| | | public Map<String, Object> summary(String type, String from, String to, boolean recomputeRank) { |
| | | List<Col> cols = SPECS.get(type); |
| | | if (cols == null) { |
| | | throw new RuntimeException("è¯¥æ°æ®ç±»åæä¸æ¯ææå¸å·æ±æ»ï¼" + type); |
| | | } |
| | | String f = trimPeriod(from); |
| | | String t = trimPeriod(to); |
| | | if (f == null || t == null) { |
| | | throw new RuntimeException("请å
éæ©èµ·æ¢æï¼ä¾å¦ 2026-01 ~ 2026-08ï¼"); |
| | | } |
| | | if (f.compareTo(t) > 0) { |
| | | String tmp = f; |
| | | f = t; |
| | | t = tmp; |
| | | } |
| | | String lastFrom = yearBefore(f); |
| | | String lastTo = yearBefore(t); |
| | | |
| | | Map<String, Map<String, Double>> cur = sumByCity(longRows(type, f, t), cols); |
| | | Map<String, Map<String, Double>> last = sumByCity(longRows(type, lastFrom, lastTo), cols); |
| | | |
| | | List<Map<String, Object>> records = new ArrayList<>(); |
| | | // å
¨çåè®¡è¡æ¾å¨æåé¢ï¼ç¨æ·è¦æ±ï¼æ¾å¨æ¦æ±å¸ä¹ä¸ï¼ |
| | | records.add(outRow(cols, mergeAll(cur), mergeAll(last), TOTAL_CITY)); |
| | | for (String city : RegionUtil.cityList()) { |
| | | records.add(outRow(cols, cur.get(city), last.get(city), city)); |
| | | } |
| | | if (recomputeRank) { |
| | | applyRank(records, cols); |
| | | } |
| | | |
| | | List<Map<String, Object>> columns = new ArrayList<>(); |
| | | columns.add(colMeta("city", "å¸å·", 120)); |
| | | for (Col c : cols) { |
| | | columns.add(colMeta(c.prop, c.label, c.width)); |
| | | } |
| | | Map<String, Object> res = new LinkedHashMap<>(); |
| | | res.put("type", type); |
| | | res.put("label", TYPE_LABELS.get(type)); |
| | | res.put("from", f); |
| | | res.put("to", t); |
| | | res.put("lastFrom", lastFrom); |
| | | res.put("lastTo", lastTo); |
| | | res.put("rankMode", recomputeRank ? "recompute" : "blank"); |
| | | res.put("columns", columns); |
| | | res.put("records", records); |
| | | return res; |
| | | } |
| | | |
| | | /** 导åºä¸º xlsxï¼æ°å¼ä¿çå
¨ç²¾åº¦ï¼æ¾ç¤ºæ ¼å¼ 2 ä½å°æ° / ç¾åæ¯ï¼ */ |
| | | public byte[] exportExcel(String type, String from, String to, boolean recomputeRank) throws IOException { |
| | | Map<String, Object> data = summary(type, from, to, recomputeRank); |
| | | @SuppressWarnings("unchecked") |
| | | List<Map<String, Object>> columns = (List<Map<String, Object>>) data.get("columns"); |
| | | @SuppressWarnings("unchecked") |
| | | List<Map<String, Object>> records = (List<Map<String, Object>>) data.get("records"); |
| | | String label = String.valueOf(data.get("label")); |
| | | String title = label + "ã" + data.get("from") + " ~ " + data.get("to") + "ï¼ç´¯è®¡ï¼"; |
| | | |
| | | try (XSSFWorkbook wb = new XSSFWorkbook(); ByteArrayOutputStream bos = new ByteArrayOutputStream()) { |
| | | XSSFSheet sheet = wb.createSheet("æå¸å·æ±æ»"); |
| | | Font bold = wb.createFont(); |
| | | bold.setBold(true); |
| | | XSSFCellStyle titleStyle = wb.createCellStyle(); |
| | | titleStyle.setFont(bold); |
| | | XSSFCellStyle headStyle = wb.createCellStyle(); |
| | | headStyle.setFont(bold); |
| | | headStyle.setAlignment(HorizontalAlignment.CENTER); |
| | | headStyle.setBorderBottom(BorderStyle.THIN); |
| | | XSSFCellStyle numStyle = wb.createCellStyle(); |
| | | numStyle.setDataFormat(wb.createDataFormat().getFormat("0.00")); |
| | | XSSFCellStyle pctStyle = wb.createCellStyle(); |
| | | pctStyle.setDataFormat(wb.createDataFormat().getFormat("0.00%")); |
| | | |
| | | XSSFRow titleRow = sheet.createRow(0); |
| | | XSSFCell titleCell = titleRow.createCell(0); |
| | | titleCell.setCellValue(title); |
| | | titleCell.setCellStyle(titleStyle); |
| | | |
| | | XSSFRow headRow = sheet.createRow(1); |
| | | for (int i = 0; i < columns.size(); i++) { |
| | | XSSFCell cell = headRow.createCell(i); |
| | | cell.setCellValue(String.valueOf(columns.get(i).get("label"))); |
| | | cell.setCellStyle(headStyle); |
| | | } |
| | | Font totalFont = wb.createFont(); |
| | | totalFont.setBold(true); |
| | | XSSFCellStyle totalStyle = wb.createCellStyle(); |
| | | totalStyle.setFont(totalFont); |
| | | |
| | | int r = 2; |
| | | for (Map<String, Object> rec : records) { |
| | | boolean isTotal = TOTAL_CITY.equals(rec.get("city")); |
| | | XSSFRow row = sheet.createRow(r++); |
| | | for (int i = 0; i < columns.size(); i++) { |
| | | String prop = String.valueOf(columns.get(i).get("prop")); |
| | | String colLabel = String.valueOf(columns.get(i).get("label")); |
| | | Object v = rec.get(prop); |
| | | XSSFCell cell = row.createCell(i); |
| | | if (v instanceof Number) { |
| | | cell.setCellValue(((Number) v).doubleValue()); |
| | | cell.setCellStyle(colLabel.contains("忝") ? pctStyle : numStyle); |
| | | } else { |
| | | cell.setCellValue(v == null ? "" : String.valueOf(v)); |
| | | if (isTotal) { |
| | | cell.setCellStyle(totalStyle); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | for (int i = 0; i < columns.size(); i++) { |
| | | sheet.setColumnWidth(i, Math.min(40, Math.max(10, Integer.parseInt(String.valueOf(columns.get(i).get("width"))) / 7)) * 256); |
| | | } |
| | | wb.write(bos); |
| | | return bos.toByteArray(); |
| | | } |
| | | } |
| | | |
| | | // ==================== å
é¨å®ç° ==================== |
| | | |
| | | private static String trimPeriod(String p) { |
| | | if (p == null) { |
| | | return null; |
| | | } |
| | | String s = p.trim(); |
| | | if (s.length() >= 7) { |
| | | return s.substring(0, 7); |
| | | } |
| | | return s.isEmpty() ? null : s; |
| | | } |
| | | |
| | | private static String yearBefore(String period) { |
| | | int year = Integer.parseInt(period.substring(0, 4)) - 1; |
| | | return year + period.substring(4); |
| | | } |
| | | |
| | | private static Map<String, Object> colMeta(String prop, String label, int width) { |
| | | Map<String, Object> m = new LinkedHashMap<>(); |
| | | m.put("prop", prop); |
| | | m.put("label", label); |
| | | m.put("width", width); |
| | | return m; |
| | | } |
| | | |
| | | /** åªæ 17 个è§èå¸å·åæç®å¸å·ï¼"æ¹åç""å
¨ç"çå计è¡è¿å nullï¼é¿å
éå¤è®¡å
¥ï¼ */ |
| | | private String cityOrNull(String name) { |
| | | if (name == null) { |
| | | return null; |
| | | } |
| | | String normalized = RegionUtil.normalizeCityName(name); |
| | | return normalized != null && RegionUtil.cityList().contains(normalized) ? normalized : null; |
| | | } |
| | | |
| | | private String cityOfCode(String regionCode) { |
| | | if (regionCode == null || regionCode.trim().isEmpty()) { |
| | | return null; |
| | | } |
| | | return RegionUtil.cityByCode(regionCode.trim()); |
| | | } |
| | | |
| | | private static double nz(Double v) { |
| | | return v == null ? 0.0 : v; |
| | | } |
| | | |
| | | private static double num(Object v) { |
| | | if (v instanceof Number) { |
| | | return ((Number) v).doubleValue(); |
| | | } |
| | | if (v instanceof String) { |
| | | try { |
| | | return Double.parseDouble(((String) v).trim()); |
| | | } catch (Exception ignore) { |
| | | return 0.0; |
| | | } |
| | | } |
| | | return 0.0; |
| | | } |
| | | |
| | | /** åæç±»åå¨ [from,to] ç"é¿è¡¨"è¡ï¼æ¯è¡å« _city ä¸å䏿±æ»çæºå段 */ |
| | | private List<Map<String, Object>> longRows(String type, String from, String to) { |
| | | List<Map<String, Object>> rows = new ArrayList<>(); |
| | | switch (type) { |
| | | case "cityBus": { |
| | | List<CityBusMonthly> list = cityBusMapper.selectList(new LambdaQueryWrapper<CityBusMonthly>() |
| | | .ge(CityBusMonthly::getReportPeriod, from).le(CityBusMonthly::getReportPeriod, to)); |
| | | for (CityBusMonthly e : list) { |
| | | String city = e.getCity() != null ? cityOrNull(e.getCity()) : cityOfCode(e.getRegionCode()); |
| | | if (city == null) { |
| | | continue; |
| | | } |
| | | Map<String, Object> m = BeanUtil.beanToMap(e); |
| | | m.put("_city", city); |
| | | rows.add(m); |
| | | } |
| | | break; |
| | | } |
| | | case "cityTaxi": { |
| | | List<CityTaxiMonthly> list = cityTaxiMapper.selectList(new LambdaQueryWrapper<CityTaxiMonthly>() |
| | | .ge(CityTaxiMonthly::getReportPeriod, from).le(CityTaxiMonthly::getReportPeriod, to)); |
| | | for (CityTaxiMonthly e : list) { |
| | | String city = e.getCity() != null ? cityOrNull(e.getCity()) : cityOfCode(e.getRegionCode()); |
| | | if (city == null) { |
| | | continue; |
| | | } |
| | | Map<String, Object> m = BeanUtil.beanToMap(e); |
| | | m.put("_city", city); |
| | | rows.add(m); |
| | | } |
| | | break; |
| | | } |
| | | case "h2032": { |
| | | List<H2032EnterpriseMonthly> list = h2032Mapper.selectList(new LambdaQueryWrapper<H2032EnterpriseMonthly>() |
| | | .ge(H2032EnterpriseMonthly::getReportPeriod, from).le(H2032EnterpriseMonthly::getReportPeriod, to)); |
| | | for (H2032EnterpriseMonthly e : list) { |
| | | String city = cityOfCode(e.getRegionCode()); |
| | | if (city == null) { |
| | | continue; |
| | | } |
| | | Map<String, Object> m = BeanUtil.beanToMap(e); |
| | | m.put("_city", city); |
| | | rows.add(m); |
| | | } |
| | | break; |
| | | } |
| | | case "h2031": { |
| | | List<PassengerEnterpriseMonthly> list = h2031Mapper.selectList(new LambdaQueryWrapper<PassengerEnterpriseMonthly>() |
| | | .ge(PassengerEnterpriseMonthly::getReportPeriod, from).le(PassengerEnterpriseMonthly::getReportPeriod, to)); |
| | | for (PassengerEnterpriseMonthly e : list) { |
| | | String city = cityOfCode(e.getRegionCode()); |
| | | if (city == null) { |
| | | continue; |
| | | } |
| | | Map<String, Object> m = BeanUtil.beanToMap(e); |
| | | m.put("_city", city); |
| | | rows.add(m); |
| | | } |
| | | break; |
| | | } |
| | | case "passengerIndividual": { |
| | | List<PassengerIndividualMonthly> list = individualMapper.selectList(new LambdaQueryWrapper<PassengerIndividualMonthly>() |
| | | .ge(PassengerIndividualMonthly::getReportPeriod, from).le(PassengerIndividualMonthly::getReportPeriod, to)); |
| | | for (PassengerIndividualMonthly e : list) { |
| | | String city = cityOfCode(e.getRegionCode()); |
| | | if (city == null) { |
| | | continue; |
| | | } |
| | | Map<String, Object> m = BeanUtil.beanToMap(e); |
| | | m.put("_city", city); |
| | | rows.add(m); |
| | | } |
| | | break; |
| | | } |
| | | case "wycOrder": { |
| | | List<WycOrderMonthly> list = wycOrderMapper.selectList(new LambdaQueryWrapper<WycOrderMonthly>() |
| | | .ge(WycOrderMonthly::getReportPeriod, from).le(WycOrderMonthly::getReportPeriod, to)); |
| | | List<String> cities = RegionUtil.cityList(); |
| | | for (WycOrderMonthly e : list) { |
| | | Map<String, WycSplitCalc.WycMetrics> byCity = null; |
| | | try { |
| | | byCity = wycSplitCalc.calc(e.getReportPeriod()).getByCity(); |
| | | } catch (Exception ignore) { |
| | | // æåè¾å
¥ä¸å
¨æ¶åªæ±æ»è®¢åæ° |
| | | } |
| | | double[] orders = {nz(e.getOrderWuhan()), nz(e.getOrderHuangshi()), nz(e.getOrderShiyan()), |
| | | nz(e.getOrderYichang()), nz(e.getOrderXiangyang()), nz(e.getOrderEzhou()), nz(e.getOrderJingmen()), |
| | | nz(e.getOrderXiaogan()), nz(e.getOrderJingzhou()), nz(e.getOrderHuanggang()), nz(e.getOrderXianning()), |
| | | nz(e.getOrderSuizhou()), nz(e.getOrderEnshi()), nz(e.getOrderXiantao()), nz(e.getOrderQianjiang()), |
| | | nz(e.getOrderTianmen()), nz(e.getOrderShennong())}; |
| | | for (int i = 0; i < cities.size() && i < orders.length; i++) { |
| | | Map<String, Object> m = new LinkedHashMap<>(); |
| | | m.put("_city", cities.get(i)); |
| | | m.put("orderCount", orders[i]); |
| | | WycSplitCalc.WycMetrics mt = byCity == null ? null : byCity.get(cities.get(i)); |
| | | if (mt != null) { |
| | | m.put("pax", mt.getTotalPax()); |
| | | m.put("turnover", mt.getTotalTurnover()); |
| | | m.put("cityPax", mt.getCityPax()); |
| | | m.put("cityTurnover", mt.getCityTurnover()); |
| | | } |
| | | rows.add(m); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | case "freightTurnover": { |
| | | // 该表æ¯è¡å«"å¹´åè³å½æ"çåæåï¼è¡å
累计ï¼ï¼æ
累计åªç¨ to é£ä¸è¡ã对åºé´æä»½æ±åï¼ |
| | | // ä¸"æ¹åç"è¡çäº 17 å¸å·ä¹åï¼å¿
é¡»æé¤ï¼å¦åéå¤è®¡å
¥ã |
| | | List<FreightTurnoverImport> list = freightTurnoverMapper.selectList(new LambdaQueryWrapper<FreightTurnoverImport>() |
| | | .ge(FreightTurnoverImport::getReportPeriod, from) |
| | | .le(FreightTurnoverImport::getReportPeriod, to) |
| | | .orderByDesc(FreightTurnoverImport::getReportPeriod)); |
| | | if (list.isEmpty()) { |
| | | break; |
| | | } |
| | | // 该表æ¯è¡æ¯"å¹´åè³å½æ"çè¡å
累计ï¼ååºé´å
ææ°ä¸æé£ä¸è¡ï¼ç»æææ æ°æ®æ¶èªå¨åéå°ææ°ææ°æä»½ |
| | | String latestPeriod = list.get(0).getReportPeriod(); |
| | | list = new ArrayList<>(); |
| | | for (FreightTurnoverImport e : freightTurnoverMapper.selectList(new LambdaQueryWrapper<FreightTurnoverImport>() |
| | | .eq(FreightTurnoverImport::getReportPeriod, latestPeriod))) { |
| | | list.add(e); |
| | | } |
| | | int m1 = Integer.parseInt(from.substring(5, 7)); |
| | | int m2 = Integer.parseInt(latestPeriod.substring(5, 7)); |
| | | if (m2 < m1) { |
| | | break; |
| | | } |
| | | for (FreightTurnoverImport e : list) { |
| | | String city = cityOrNull(e.getRegionName()); |
| | | if (city == null) { |
| | | continue; |
| | | } |
| | | Map<String, Object> src = BeanUtil.beanToMap(e); |
| | | double freight = 0, turnover = 0, lastFreight = 0, lastTurnover = 0; |
| | | for (int mm = m1; mm <= m2; mm++) { |
| | | freight += num(src.get(String.format("freightM%02d", mm))); |
| | | turnover += num(src.get(String.format("turnoverM%02d", mm))); |
| | | lastFreight += num(src.get(String.format("lastFreightM%02d", mm))); |
| | | lastTurnover += num(src.get(String.format("lastTurnoverM%02d", mm))); |
| | | } |
| | | Map<String, Object> m = new LinkedHashMap<>(); |
| | | m.put("_city", city); |
| | | m.put("freightM", freight); |
| | | m.put("turnoverM", turnover); |
| | | m.put("lastFreightM", lastFreight); |
| | | m.put("lastTurnoverM", lastTurnover); |
| | | rows.add(m); |
| | | } |
| | | break; |
| | | } |
| | | default: |
| | | break; |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** æå¸å·ç´¯è®¡ååç¨å°çæºå段 */ |
| | | private Map<String, Map<String, Double>> sumByCity(List<Map<String, Object>> rows, List<Col> cols) { |
| | | Map<String, Map<String, Double>> acc = new LinkedHashMap<>(); |
| | | for (Map<String, Object> row : rows) { |
| | | Object cityObj = row.get("_city"); |
| | | if (cityObj == null) { |
| | | continue; |
| | | } |
| | | String city = String.valueOf(cityObj); |
| | | Map<String, Double> sums = acc.computeIfAbsent(city, k -> new LinkedHashMap<>()); |
| | | Set<String> keys = new LinkedHashSet<>(); |
| | | for (Col c : cols) { |
| | | if (c.src != null) { |
| | | keys.add(c.src); |
| | | } |
| | | if (c.den != null) { |
| | | keys.add(c.den); |
| | | } |
| | | if (c.last != null) { |
| | | keys.add(c.last); |
| | | } |
| | | } |
| | | for (String key : keys) { |
| | | sums.merge(key, num(row.get(key)), Double::sum); |
| | | } |
| | | } |
| | | return acc; |
| | | } |
| | | |
| | | private Map<String, Double> mergeAll(Map<String, Map<String, Double>> acc) { |
| | | Map<String, Double> total = new LinkedHashMap<>(); |
| | | for (Map<String, Double> sums : acc.values()) { |
| | | for (Map.Entry<String, Double> e : sums.entrySet()) { |
| | | total.merge(e.getKey(), e.getValue(), Double::sum); |
| | | } |
| | | } |
| | | return total; |
| | | } |
| | | |
| | | private Map<String, Object> outRow(List<Col> cols, Map<String, Double> cur, Map<String, Double> last, String city) { |
| | | Map<String, Object> row = new LinkedHashMap<>(); |
| | | row.put("city", city); |
| | | for (Col c : cols) { |
| | | Double value = null; |
| | | switch (c.kind) { |
| | | case "FLOW": { |
| | | value = cur == null ? null : cur.get(c.src); |
| | | break; |
| | | } |
| | | case "AVG": { |
| | | double den = cur == null ? 0.0 : num(cur.get(c.den)); |
| | | double nume = cur == null ? 0.0 : num(cur.get(c.src)); |
| | | value = den > 0 ? nume / den : null; |
| | | break; |
| | | } |
| | | case "YOY": { |
| | | double base = last == null ? 0.0 : num(last.get(c.src)); |
| | | double now = cur == null ? 0.0 : num(cur.get(c.src)); |
| | | value = base > 0 ? now / base - 1 : null; |
| | | break; |
| | | } |
| | | case "YOYS": { |
| | | double base = cur == null ? 0.0 : num(cur.get(c.last)); |
| | | double now = cur == null ? 0.0 : num(cur.get(c.src)); |
| | | value = base > 0 ? now / base - 1 : null; |
| | | break; |
| | | } |
| | | default: { |
| | | value = null; // RANK: ç± applyRank å¡« |
| | | } |
| | | } |
| | | row.put(c.prop, value); |
| | | } |
| | | return row; |
| | | } |
| | | |
| | | /** æç´¯è®¡å¼éæ°æåï¼1 = æå¤§ï¼ï¼å
¨çå计è¡ä¸æå */ |
| | | private void applyRank(List<Map<String, Object>> records, List<Col> cols) { |
| | | List<Map<String, Object>> cities = new ArrayList<>(); |
| | | for (Map<String, Object> r : records) { |
| | | if (!TOTAL_CITY.equals(r.get("city"))) { |
| | | cities.add(r); |
| | | } |
| | | } |
| | | for (Col c : cols) { |
| | | if (!"RANK".equals(c.kind)) { |
| | | continue; |
| | | } |
| | | List<Map<String, Object>> sorted = new ArrayList<>(cities); |
| | | sorted.sort(Comparator.comparingDouble((Map<String, Object> r) -> { |
| | | Object v = r.get(c.rankBy); |
| | | return v instanceof Number ? ((Number) v).doubleValue() : Double.NEGATIVE_INFINITY; |
| | | }).reversed()); |
| | | for (int i = 0; i < sorted.size(); i++) { |
| | | Object v = sorted.get(i).get(c.rankBy); |
| | | sorted.get(i).put(c.prop, v instanceof Number ? (i + 1) : null); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | || normDash.contains(period) || normDash.contains(period.replace("-0", "-")); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¡¨æåå
æ ¼å½ä¸ï¼æ«æ sheet å 8 è¡ï¼æ¾å½¢å¦ 2026.08 / 2026å¹´8æ / 2026-08-24 çæ¥è¡¨ææåææ¥æåå
æ ¼ã |
| | | * èæ¯ï¼2026-09-22ï¼ï¼æ½æ±åè¡¨å« 20 个åå² sheetï¼æ½æ±ï¼1æï¼â¦æ½æ±ï¼8æï¼â¦ï¼ï¼æ§é»è¾åªæã8æãå¹é
sheet åï¼ |
| | | * 伿 2018 å¹´çãæ½æ±ï¼8æï¼ã彿 2026-08ï¼å¯¼å
¥æ 2018 å¹´æ°æ®ï¼å½æ sheet åæ¯ãæ½æ±ï¼2022.3ï¼ãï¼ |
| | | * åªè½é 表å
æ¥è¡¨æï¼2026.08.24ï¼è¯å«ã |
| | | */ |
| | | private boolean investSheetPeriodCellHit(Sheet sh, String period) { |
| | | if (sh == null || period == null || !period.matches("\\d{4}-\\d{2}")) return false; |
| | | String year = period.substring(0, 4); |
| | | int month = Integer.parseInt(period.substring(5, 7)); |
| | | int last = Math.min(sh.getLastRowNum(), 7); |
| | | for (int r = 0; r <= last; r++) { |
| | | Row row = sh.getRow(r); |
| | | if (row == null) continue; |
| | | int lastCell = Math.max(1, row.getLastCellNum()); |
| | | for (int c = 0; c < Math.min(lastCell, 12); c++) { |
| | | Cell cell = row.getCell(c); |
| | | if (cell == null) continue; |
| | | if (cell.getCellType() == CellType.NUMERIC && DateUtil.isCellDateFormatted(cell)) { |
| | | java.time.LocalDate d = cell.getLocalDateTimeCellValue().toLocalDate(); |
| | | if (d.getYear() == Integer.parseInt(year) && d.getMonthValue() == month) return true; |
| | | continue; |
| | | } |
| | | String v = cellStr(row, c); |
| | | if (v == null) continue; |
| | | String t = v.trim().replace(" ", ""); |
| | | if (t.isEmpty() || t.length() > 30) continue; |
| | | java.util.regex.Matcher mm = java.util.regex.Pattern |
| | | .compile("(\\d{4})\\s*[å¹´.\\-/]\\s*(\\d{1,2})").matcher(t); |
| | | if (mm.find() && year.equals(mm.group(1)) && month == Integer.parseInt(mm.group(2))) return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** è§£æå个å¸å·æ¥è¡¨ï¼é sheetï¼æ¥è¡¨æåä¼å
+ æ°æ®è¡æ°ï¼ï¼æååæ å°æå项ç®è¡ */ |
| | | private void parseInvestCityWorkbook(Workbook wb, String fileName, String category, String period, |
| | | Set<String> fiveYearNames, List<InvestCityRow> rows, Map<String, Object> fr) { |
| | |
| | | Map<String, Integer> col = findInvestHeader(sh); |
| | | if (col == null) continue; |
| | | int cnt = countInvestRows(sh, col); |
| | | int score = cnt + (cnt > 0 && investSheetMatchesPeriod(sh, period) ? 1000000 : 0); |
| | | // 2026-09-22ï¼è¡¨å
æ¥è¡¨æï¼åå
æ ¼ï¼å½ä¸æéæé«ââåå²åæ sheetï¼å¦æ½æ±ï¼8æï¼ï¼ä¸è½çè¿å½æ sheet |
| | | boolean cellHit = cnt > 0 && investSheetPeriodCellHit(sh, period); |
| | | int score = cnt + (cnt > 0 && investSheetMatchesPeriod(sh, period) ? 1000000 : 0) |
| | | + (cellHit ? 2000000 : 0); |
| | | if (cnt > 0 && investSheetMatchesPeriod(sh, period)) { |
| | | // 彿ç宿¥è¡¨ sheet åé常带年份ï¼å¦ 2026.8/2026å¹´8æï¼ï¼åå²sheetå¤ä¸ºçº¯æä»½åï¼8æï¼ï¼å¸¦å¹´ä»½çä¼å
|
| | | String norm = sh.getSheetName() == null ? "" : sh.getSheetName().replace(" ", ""); |
| | |
| | | /** å个表头åå
æ ¼ -> åæ®µé®ï¼null è¡¨ç¤ºä¸æ¯è¡¨å¤´å段ï¼ï¼ä¾è¡¨å¤´è¡å¤å®ä¸åæ å°å
±ç¨ */ |
| | | private String investHeaderKey(String v) { |
| | | if (v == null) return null; |
| | | String flat = v.replace(" ", ""); |
| | | if (v.contains("项ç®åç§°")) return "name"; |
| | | // 2026-09-22ï¼è¡¨å¤´åå
æ ¼å¸¸å¸¦æ¢è¡/å
¨è§ç©ºæ ¼ï¼å¦å¤©é¨ãèªå¼å§å»º\n设累计å®\nææèµ\n(ä¸å
)ãï¼ï¼ |
| | | // ç»ä¸å»æå
¨é¨ç©ºç½ååå¤å®å
³é®è¯ï¼å¦å H(èªå¼å§å»ºè®¾ç´¯è®¡)/J(èªå¹´å累计)/K(æ¬æå®æ) ä¼å¹é
å¤±è´¥ï¼ |
| | | // åæ å°è½å° -1 â ä¸ä¸ªæ°å¼è¢«åæ 0ï¼å¤©é¨ 2026-08 å°±æ¯è¿æ ·ä¸¢ç 16677.7/16677.7/500ï¼ã |
| | | String flat = v.replaceAll("[\\s\\u3000]+", ""); |
| | | if (flat.contains("项ç®åç§°")) return "name"; |
| | | // ãå¿ï¼å¸ãåºï¼ãçåç§åæ³ï¼å/å
¨è§æ¬å·ãé¡¿å·/éå·ãææ æ¬å·ï¼ç»ä¸å½ä¸åååå¤å® |
| | | String flatCounty = flat.replace("ï¼", "(").replace("ï¼", ")").replace("ã", "").replace("ï¼", "").replace(",", ""); |
| | | if (flatCounty.contains("å¿(å¸åº)") || flatCounty.contains("å¿å¸åº") || flatCounty.contains("åºå¿")) return "county"; |
| | | if (v.contains("æèµå»ºè®¾") || v.contains("建设åä½") || v.contains("项ç®ä¸ä¸»")) return "builder"; |
| | | if (v.contains("建设æ§è´¨")) return "nature"; |
| | | if (v.contains("å¼å·¥")) return "start"; |
| | | if (v.contains("竣工") || v.contains("建æ")) return "end"; |
| | | if ((v.contains("è®¡åæ»æèµ") || v.contains("æ»æèµ")) && !v.contains("累计")) return "total"; |
| | | if (v.contains("èªå¼å§å»ºè®¾")) return "startcum"; |
| | | if (v.contains("æ¬å¹´è®¡å")) return "yearplan"; |
| | | if (v.contains("èªå¹´å累计")) return "yearcum"; |
| | | if (v.contains("æ¬æå®æ")) return "monthdone"; |
| | | if (v.contains("å»ºè®¾é¶æ®µ")) return "stage"; |
| | | if (v.contains("形象è¿åº¦") || v.contains("建设è¿å±")) return "desc"; |
| | | if (v.contains("å·¥å¯") && !v.contains("项ç®åç§°")) return "gk"; |
| | | if (v.contains("å设") && !v.contains("项ç®åç§°")) return "cs"; |
| | | if (v.contains("建çé¢ç§¯") && !v.contains("æ°å¢")) return "area"; |
| | | if (flat.contains("æèµå»ºè®¾") || flat.contains("建设åä½") || flat.contains("项ç®ä¸ä¸»")) return "builder"; |
| | | if (flat.contains("建设æ§è´¨")) return "nature"; |
| | | if (flat.contains("å¼å·¥")) return "start"; |
| | | if (flat.contains("竣工") || flat.contains("建æ")) return "end"; |
| | | if ((flat.contains("è®¡åæ»æèµ") || flat.contains("æ»æèµ")) && !flat.contains("累计")) return "total"; |
| | | if (flat.contains("èªå¼å§å»ºè®¾")) return "startcum"; |
| | | if (flat.contains("æ¬å¹´è®¡å")) return "yearplan"; |
| | | if (flat.contains("èªå¹´å累计")) return "yearcum"; |
| | | if (flat.contains("æ¬æå®æ")) return "monthdone"; |
| | | if (flat.contains("å»ºè®¾é¶æ®µ")) return "stage"; |
| | | if (flat.contains("形象è¿åº¦") || flat.contains("建设è¿å±")) return "desc"; |
| | | if (flat.contains("å·¥å¯") && !flat.contains("项ç®åç§°")) return "gk"; |
| | | if (flat.contains("å设") && !flat.contains("项ç®åç§°")) return "cs"; |
| | | if (flat.contains("建çé¢ç§¯") && !flat.contains("æ°å¢")) return "area"; |
| | | return null; |
| | | } |
| | | |
| | |
| | | |
| | | /** |
| | | * æ±æ»å¤§è¡¨å¼æ¥å¯¼åºï¼ç«å³è¿åä»»å¡å·ï¼å端轮询è¿åº¦ã宿ååä¸è½½æä»¶ã |
| | | * çæä¸æ¬¡çº¦ 10~20 ç§ï¼èµ°å¼æ¥å¯é¿å
ç¹å»åé¿æ¶é´æ ååºï¼åæ¥è¡¨æ 10 åéå
çç»æç´æ¥å¤ç¨ï¼æé´æå¯¼å
¥åèªå¨å¤±æï¼ï¼ |
| | | * çæä¸æ¬¡çº¦ 10~20 ç§ï¼èµ°å¼æ¥å¯é¿å
ç¹å»åé¿æ¶é´æ ååºï¼åæ¥è¡¨æç»æç´æ¥å¤ç¨ï¼è½çä¿åãè¿ç¨éå¯å仿æï¼æé´æå¯¼å
¥åèªå¨å¤±æï¼ï¼ |
| | | * refresh=true å¯å¼ºå¶éæ°çæã |
| | | */ |
| | | @GetMapping("/exportTask/summaryWorkbook") |
| | |
| | | String curCity = null; |
| | | Set<Long> used = new HashSet<>(); |
| | | int filled = 0, kept = 0, dup = 0; |
| | | List<String> skipped = new ArrayList<>(); |
| | | Map<String, Integer> skippedByCity = new LinkedHashMap<>(); |
| | | for (int r = 8; r <= sheet.getLastRowNum(); r++) { |
| | | Row row = sheet.getRow(r); |
| | | if (row == null) continue; |
| | |
| | | if (!a.matches("\\d+(\\.\\d+)?")) continue; |
| | | if (b.isEmpty() || curCity == null) continue; |
| | | InvestmentProject p = matchInvest(projects, b, curCity, "客è¿ç«åº", used); |
| | | p = preferMonthlyCandidate(projects, p, mByProject, "客è¿ç«åº", used); |
| | | InvestmentMonthly m = p == null ? null : mByProject.get(p.getId()); |
| | | if (p == null || m == null) { |
| | | kept++; |
| | | // æåºå
项ç®ä½å½ææ æ°æ® â 记为å¾
æ ¸å¯¹ï¼æ å¹é
é¡¹ç® â ç»è½¬ä¸æ |
| | | if (p != null) dup++; |
| | | // 2026-09-22ï¼ä¸åéé»ç»è½¬ä¸æï¼æªè¦ççè¡å¿
é¡»ççï¼è¡å·+å¸å·+项ç®å+åå ï¼ |
| | | skipped.add("第" + (r + 1) + "è¡ " + curCity + " " + b |
| | | + (p == null ? " â åºå
æ å¹é
项ç®" : " â åºå
æ " + period + " æåº¦æ°æ®")); |
| | | skippedByCity.merge(curCity, 1, Integer::sum); |
| | | continue; |
| | | } |
| | | used.add(p.getId()); |
| | |
| | | } |
| | | log.info("客è¿ç«æèµæç»è¡¨ {}ï¼åå
¥ {} è¡ï¼ç»è½¬æ¯çåå¼ {} è¡ï¼å
¶ä¸åºå
æé¡¹ç®ä½å½ææ æ°æ® {} è¡ï¼", |
| | | period, filled, kept, dup); |
| | | logSkippedRows("客è¿ç«æèµæç»è¡¨", period, skipped, skippedByCity); |
| | | return toBytes(wb); |
| | | } |
| | | } |
| | |
| | | Map<String, double[]> cityStats = new LinkedHashMap<>(); // å
¨å -> {æ»æ°, 累计, è§åå
æ°, è§åå
累计, è§å夿°, è§åå¤ç´¯è®¡} |
| | | Set<Long> used = new HashSet<>(); |
| | | int filled = 0, kept = 0; |
| | | List<String> skipped = new ArrayList<>(); |
| | | Map<String, Integer> skippedByCity = new LinkedHashMap<>(); |
| | | for (int i = 0; i < cityRows.size(); i++) { |
| | | int cr = cityRows.get(i); |
| | | String cityLabel = nvl(cellText(sheet.getRow(cr).getCell(0))); |
| | |
| | | if (!a.matches("\\d+(\\.\\d+)?")) continue; |
| | | if (b.isEmpty()) continue; |
| | | InvestmentProject p = matchInvest(projects, b, city, "ç©æµååº", used); |
| | | p = preferMonthlyCandidate(projects, p, mByProject, "ç©æµååº", used); |
| | | InvestmentMonthly m = p == null ? null : mByProject.get(p.getId()); |
| | | if (p == null || m == null) { kept++; continue; } |
| | | if (p == null || m == null) { |
| | | kept++; |
| | | // 2026-09-22ï¼ä¸åéé»ç»è½¬ä¸æï¼æªè¦ççè¡å¿
é¡»çç |
| | | skipped.add("第" + (r + 1) + "è¡ " + city + " " + b |
| | | + (p == null ? " â åºå
æ å¹é
项ç®" : " â åºå
æ " + period + " æåº¦æ°æ®")); |
| | | skippedByCity.merge(city, 1, Integer::sum); |
| | | continue; |
| | | } |
| | | used.add(p.getId()); |
| | | // å£å¾å客è¿ç«æç»è¡¨ï¼åªè¦ç H èªå¼å§å»ºè®¾ç´¯è®¡ / J èªå¹´å累计 / K æ¬æå®æ / M 形象è¿åº¦ |
| | | if (m.getStartCum() != null) putNum(row, 7, m.getStartCum()); |
| | |
| | | log.warn("ç©æµç«åºæèµæç»å
¬å¼æ±å¼å¤±è´¥: {}", e.getMessage()); |
| | | } |
| | | log.info("ç©æµç«åºæèµæç» {}ï¼åå
¥ {} è¡ï¼ç»è½¬æ¯çåå¼ {} è¡", period, filled, kept); |
| | | logSkippedRows("ç©æµç«åºæèµæç»", period, skipped, skippedByCity); |
| | | return toBytesHssf(wb); |
| | | } |
| | | |
| | |
| | | return full != null && RegionUtil.cityList().contains(full); |
| | | } |
| | | |
| | | /** |
| | | * ååï¼å½ä¸ååä¸è´ï¼å¤æ¡£æ¶ï¼ä¼å
éãå½æææ°æ®ãçé£ä¸æ¡£ã |
| | | * èæ¯ï¼2026-09-22ï¼ï¼åå °ãå¿«éç©æµäº§ä¸åäºæãå¨åºå
æä¸¤æ¡£ id=154ï¼ç«£å·¥ 2026ï¼æåº¦åªå° 7 æï¼ä¸ |
| | | * id=181ï¼ç«£å·¥ 2029ï¼æ 8 æï¼ï¼æ¨¡æ¿è¡ååç¼ä¸ 154 ä¸è´ â 导åºåå° 154 ç 7 æå¼ã |
| | | */ |
| | | private InvestmentProject preferMonthlyCandidate(List<InvestmentProject> pool, InvestmentProject p, |
| | | Map<Long, InvestmentMonthly> mByProject, |
| | | String category, Set<Long> excludeIds) { |
| | | if (p == null || mByProject.containsKey(p.getId())) return p; |
| | | String norm = normInvestName(p.getProjectName()); |
| | | if (norm.isEmpty()) return p; |
| | | InvestmentProject better = null; |
| | | for (InvestmentProject c : pool) { |
| | | if (c == null || c.getId().equals(p.getId())) continue; |
| | | if (excludeIds != null && excludeIds.contains(c.getId())) continue; |
| | | if (category != null && !category.equals(c.getCategory())) continue; |
| | | if (!mByProject.containsKey(c.getId())) continue; |
| | | if (!norm.equals(normInvestName(c.getProjectName()))) continue; |
| | | if (better == null || c.getId() > better.getId()) better = c; |
| | | } |
| | | return better != null ? better : p; |
| | | } |
| | | |
| | | /** æªæå½ææ°æ®è¦ççè¡å¿
é¡»ççï¼éè¡ååºè¡å·+å¸å·+项ç®åï¼é¿å
ãéé»ç»è½¬ä¸æå¼ã忬¡åç */ |
| | | private void logSkippedRows(String reportName, String period, List<String> skipped, Map<String, Integer> byCity) { |
| | | if (skipped == null || skipped.isEmpty()) return; |
| | | log.warn("{} {}ï¼{} è¡æªæå½ææ°æ®è¦çï¼ç»è½¬æ¯çåå¼ï¼ï¼éäººå·¥æ ¸å¯¹æºæä»¶/åºå
æ°æ®ï¼", |
| | | reportName, period, skipped.size()); |
| | | int limit = Math.min(skipped.size(), 50); |
| | | for (int i = 0; i < limit; i++) log.warn(" [æªè¦ç] {}", skipped.get(i)); |
| | | if (skipped.size() > limit) log.warn(" â¦å¦æ {} è¡æªéè¡ååº", skipped.size() - limit); |
| | | if (byCity != null && !byCity.isEmpty()) log.warn(" æªè¦çè¡æå¸å·ç»è®¡ï¼{}", byCity); |
| | | } |
| | | |
| | | /** å¨åéé¡¹ç®æ± 䏿åç§°å¹é
DB 项ç®ï¼å¯é å¸å·/ç±»å« è¿æ»¤ + å¿åºåç¼æ¶æ§ï¼ï¼æªå½ä¸è¿å null */ |
| | | private InvestmentProject matchInvest(List<InvestmentProject> pool, String name, String cityFull, String category) { |
| | | return matchInvest(pool, name, cityFull, category, null); |
| | |
| | | if (name == null) return ""; |
| | | String s = name.trim(); |
| | | s = s.replaceAll("[ï¼(]", "").replaceAll("[ï¼)]", ""); |
| | | s = s.replaceAll("[·â¢âï¼_\\-]", ""); |
| | | // 2026-09-22ï¼è¡¥å
å/å
¨è§å¥ç¹ãé¡¿å·ãåå·çï¼åºå
ãä¸å½ä¾é.å
¬å®åè´¸ç©æµåãå åè§å¥ç¹å¹é
ä¸ä¸æ¨¡æ¿è¡ï¼ |
| | | s = s.replaceAll("[·â¢âï¼_\\-ï¼.ããï¼,;ï¼:ï¼]", ""); |
| | | s = s.replaceAll("[â
â
¡â
¢â
£â
¤â
¥â
¦â
§â
¨â
©â
°â
±â
²â
³â
´â
µâ
¶â
·â
¸â
¹]", "I"); |
| | | s = s.replaceAll("^(æ¹åç|æ¦æ±å¸|é»ç³å¸|åå °å¸|宿å¸|è¥é³å¸|éå·å¸|èé¨å¸|åæå¸|èå·å¸|é»åå¸|å¸å®å¸|éå·å¸|æ©æ½å·|仿¡å¸|æ½æ±å¸|天é¨å¸|ç¥åæ¶æåº)", ""); |
| | | s = s.replaceAll("^(?:[\\u4e00-\\u9fa5]{2,4}(?:å¿|å¸|åº))", ""); |
| | |
| | | package com.trafficaudit.reportexport.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.trafficaudit.dataimport.entity.ImportBatch; |
| | | import com.trafficaudit.dataimport.mapper.ImportBatchMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.PreDestroy; |
| | | import javax.annotation.Resource; |
| | | import javax.sql.DataSource; |
| | | import java.io.File; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.security.MessageDigest; |
| | | import java.sql.Connection; |
| | | import java.sql.ResultSet; |
| | | import java.sql.Statement; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Comparator; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.Iterator; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.UUID; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import java.util.concurrent.ExecutorService; |
| | |
| | | * ç®çï¼2026-09-20 ç¨æ·ä¸æ¥ãç¹ä¸è½½è¦çä¸ä¼ï¼æ°æ®å¤äºä¼ä¸ä¼å¡æ»ãï¼ï¼ |
| | | * 1) ç¹å»åç«å»æåé¦ï¼ä¸åé¿æ¶é´æ ååºï¼ |
| | | * 2) çæè¿ç¨ä¸å ç¨ HTTP 请æ±çº¿ç¨ï¼é¿å
å¤äººåæ¶ç¹æå®¹å¨ææ»ï¼å·¥ä½çº¿ç¨åºå® 1 个ï¼å¤ä½è¯·æ±æ¾ç¤ºãæéä¸ãï¼ï¼ |
| | | * 3) å䏿¥è¡¨æ 10 åéå
çç»æå¯å¤ç¨ï¼é¿å
æ¯æ¬¡éç®æ´æ¬çº¦ 4 䏿 ¼å
¬å¼ã |
| | | * 3) å䏿¥è¡¨æçç»æå¯å¤ç¨ï¼**è½çä¿åï¼è¿ç¨éå¯åä¾ç¶ææ**ï¼ï¼é¿å
æ¯æ¬¡éç®æ´æ¬çº¦ 4 䏿 ¼å
¬å¼ã |
| | | * |
| | | * ç¼åæ£ç¡®æ§å®å«ï¼åªæå½ãè·ä¸æ¬¡çæä¸è¶
è¿ TTLãä¸ãæé´æ²¡æä»»ä½æ°çæ°æ®å¯¼å
¥ï¼import_batch æå¤§ id æªåï¼ã |
| | | * æ¶æå¤ç¨ï¼å¯¼å
¥å³å¤±æï¼é¿å
æè¿ææ¥è¡¨ç»ç¨æ·ãåç«¯ä»æä¾ãéæ°çæã强å¶å·æ°ã |
| | | * ç¼åæ£ç¡®æ§å®å«ï¼**æ°æ®æçº¹**ï¼æçº¹ç±ãæ±æ»å¤§è¡¨ä¾èµçæºè¡¨å
å®¹æ ¡éªåã+ãæ¯ççæä»¶èº«ä»½ï¼å¤§å°/ä¿®æ¹æ¶é´ï¼ãç®åºï¼ |
| | | * åªææçº¹ä¸è´ï¼ä¸ç»æä¸è¶
è¿ 7 å¤©ï¼æå¤ç¨ãå æ¤ï¼ |
| | | * - æèµ/è½è/å®¡æ ¸ç**䏿±æ»å¤§è¡¨æ å
³**ç导å
¥ä¸å让ç¼å失æï¼ |
| | | * - æ¢æ¯çãæ¹åç
§ä»¶ãå¨ç¸å
³æºè¡¨ï¼å«åå° UPDATEï¼é½ä¼è®©ç¼å失æï¼ä¸ä¼ææ§è¡¨å½æ°è¡¨ååºã |
| | | * åç«¯ä»æä¾ãéæ°çæã强å¶éç®ï¼è·³è¿ç¼åï¼ãè½çä½ç½®ï¼{summary.template-dir}/_cache/<key>_v<æçº¹>.xlsx |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | |
| | | |
| | | /** çæç»æä¿çæ¶é¿ï¼æé´å¯åå¤ä¸è½½ï¼è¿åèªå¨æ¸
ç */ |
| | | private static final long RESULT_TTL_MS = 30 * 60 * 1000L; |
| | | /** å䏿¥è¡¨æç»æå¤ç¨æ¶é¿ï¼ä¸æé´æ æ°å¯¼å
¥æ¶æå¤ç¨ï¼ */ |
| | | private static final long CACHE_TTL_MS = 10 * 60 * 1000L; |
| | | /** å䏿¥è¡¨æç»æå¤ç¨ä¸éï¼åªè¦æé´æ²¡ææ°å¯¼å
¥å°±ä¸ç´æ²¿ç¨ï¼è¶
è¿è¯¥å¤©æ°ä¸åå¤ç¨ï¼é²æ¢éå¹´ç»æè¢«å½æ°è¡¨ååºï¼ */ |
| | | private static final long CACHE_MAX_AGE_MS = 7L * 24 * 60 * 60 * 1000; |
| | | /** è½çç¼ååç®å½ï¼ç¸å¯¹ summary.template-dirï¼ */ |
| | | private static final String CACHE_SUBDIR = "_cache"; |
| | | |
| | | @Resource |
| | | private ReportExportService reportService; |
| | | @Resource |
| | | private ImportBatchMapper importBatchMapper; |
| | | private DataSource dataSource; |
| | | |
| | | /** æ±æ»å·¥ä½ç°¿ç®å½ï¼ä¸ ReportExportService åé
ç½®ï¼ï¼è½çç¼åæ¾å¨å
¶ _cache åç®å½ */ |
| | | @org.springframework.beans.factory.annotation.Value("${summary.template-dir:docs/çææ±æ»å¤§è¡¨}") |
| | | private String summaryTemplateDir; |
| | | |
| | | /** åå¸å®¢è¿ç®å½ï¼ç½çº¦è½¦è®¢ååå
¨çæ»é.xlsxï¼åºéç¼ºè¯¥ææ¶çå
åºè¾å
¥ï¼ */ |
| | | @org.springframework.beans.factory.annotation.Value("${city-passenger.template-dir:docs/åå¸å®¢è¿}") |
| | | private String cityPassengerTemplateDir; |
| | | |
| | | /** è®¡ç®æçº¹æ¶**æé¤**çè¡¨ï¼æèµçº¿ãè½è线ãå®¡æ ¸çº¿ãç³»ç»è¡¨ã导å
¥æ¥å¿ã |
| | | * è¿äºè¡¨ååä¸å½±åæ±æ»å¤§è¡¨å
å®¹ï¼æ²¡å¿
è¦è®©ç¼å失æï¼å
¶ä½è¡¨ä¸å¾çº³å
¥ï¼å®å¯å¤ç®ä¸å¯åºéï¼ã */ |
| | | private static final Set<String> FINGERPRINT_EXCLUDE = new HashSet<>(Arrays.asList( |
| | | "investment_project", "investment_monthly", "investment_system", |
| | | "h204_vehicle_quarterly", "h204_auth_vehicle", |
| | | "audit_result", "audit_run", "audit_rule", "audit_explanation", |
| | | "sys_user", "sys_role", "sys_user_role", "sys_dept", "sys_operation_log", |
| | | "llm_desensitize_map", "import_batch")); |
| | | |
| | | /** è½çç¼åç®å½ï¼å®ä½çç¥ä¸æ¨¡æ¿ä¸è´ï¼é
ç½®ç®å½ / user.dir ç¸å¯¹ / ä¸çº§ç®å½ï¼ */ |
| | | private File cacheDir() { |
| | | String rel = summaryTemplateDir; |
| | | while (rel.startsWith("./")) rel = rel.substring(2); |
| | | String[] roots = {rel, System.getProperty("user.dir") + "/" + rel, System.getProperty("user.dir") + "/../" + rel}; |
| | | for (String root : roots) { |
| | | if (root == null || root.trim().isEmpty()) continue; |
| | | File base = new File(root); |
| | | if (base.isDirectory()) { |
| | | File dir = new File(base, CACHE_SUBDIR); |
| | | if (!dir.isDirectory() && !dir.mkdirs()) continue; |
| | | return dir; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** ç¼åæä»¶ååç¼ï¼ä¸å«æ°æ®çæ¬ä¸æ©å±åï¼ï¼key éçéæ³å符ç»ä¸æ¿æ¢ */ |
| | | private String cacheFilePrefix(String type, String period, String mode, Integer toMonth) { |
| | | return (cacheKey(type, period, mode, toMonth)).replaceAll("[^0-9A-Za-z_-]", "_"); |
| | | } |
| | | |
| | | private final Map<String, Task> tasks = new ConcurrentHashMap<>(); |
| | | /** åæ¥è¡¨ææè¿ä¸æ¬¡æåç»æï¼key -> task */ |
| | |
| | | private final String period; |
| | | private final String mode; |
| | | private final Integer toMonth; |
| | | private final long createdAt = System.currentTimeMillis(); |
| | | /** çææ¶çæ°æ®çæ¬ï¼import_batch æå¤§ idï¼ï¼ç¨äºå¤æç¼åæ¯å¦è¿æ */ |
| | | private final long importVersion; |
| | | private volatile long createdAt = System.currentTimeMillis(); |
| | | /** çææ¶çæ°æ®æçº¹ï¼æºè¡¨æ ¡éªå + æ¯çæä»¶èº«ä»½ï¼ï¼ç¨äºå¤æç¼åæ¯å¦è¿æ */ |
| | | private final String fingerprint; |
| | | private volatile String status = "PENDING"; // PENDING/RUNNING/DONE/FAILED |
| | | private volatile int percent = 0; |
| | | private volatile String step = "æéä¸"; |
| | | private volatile String error; |
| | | private volatile byte[] data; |
| | | /** è½çç¼åæä»¶ï¼å
åæ°æ®è¢«æ¸
çåä»å¯ä»è¿éåï¼è·¨è¿ç¨éå¯å¤ç¨ï¼ */ |
| | | private volatile File cacheFile; |
| | | private volatile String fileName; |
| | | private volatile boolean fromCache; |
| | | /** æ¬æ¬¡ã没å½ä¸ç¼åãæ¯å 为å卿§ç»æä½æ°æ®/æ¯çå·²åï¼ç¨äºç»ç¨æ·ä¸å¥è§£éï¼ */ |
| | | private volatile boolean staleCache; |
| | | private volatile long finishedAt; |
| | | |
| | | Task(String type, String period, String mode, Integer toMonth, long importVersion) { |
| | | Task(String type, String period, String mode, Integer toMonth, String fingerprint) { |
| | | this.type = type; |
| | | this.period = period; |
| | | this.mode = mode; |
| | | this.toMonth = toMonth; |
| | | this.importVersion = importVersion; |
| | | this.fingerprint = fingerprint; |
| | | } |
| | | |
| | | void progress(int pct, String stepText) { |
| | |
| | | |
| | | public String getStatus() { return status; } |
| | | |
| | | public boolean isDone() { return "DONE".equals(status) && data != null; } |
| | | public boolean isDone() { |
| | | return "DONE".equals(status) && (data != null || (cacheFile != null && cacheFile.isFile())); |
| | | } |
| | | |
| | | public boolean isFromCache() { return fromCache; } |
| | | |
| | | public byte[] getData() { return data; } |
| | | public byte[] getData() { |
| | | if (data != null) return data; |
| | | File f = cacheFile; |
| | | if (f != null && f.isFile()) { |
| | | try { |
| | | return java.nio.file.Files.readAllBytes(f.toPath()); |
| | | } catch (Exception e) { |
| | | log.warn("读å导åºç¼åæä»¶å¤±è´¥ï¼{} {}", f.getAbsolutePath(), e.getMessage()); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public String getFileName() { return fileName; } |
| | | |
| | |
| | | m.put("percent", "DONE".equals(status) ? 100 : percent); |
| | | m.put("step", step); |
| | | m.put("fromCache", fromCache); |
| | | m.put("staleCache", staleCache); |
| | | m.put("fileName", fileName); |
| | | m.put("error", error); |
| | | long end = finishedAt > 0 ? finishedAt : System.currentTimeMillis(); |
| | |
| | | |
| | | /** |
| | | * æäº¤å¯¼åºä»»å¡ãforceRefresh=true æ¶å¿½ç¥ç¼åéæ°çæï¼ |
| | | * å¦åå¨ãå䏿¥è¡¨æã10 åéå
ãæé´æ æ°å¯¼å
¥ãçåæä¸ç´æ¥å¤ç¨ä¸æ¬¡ç»æã |
| | | * å¦åå¨ãå䏿¥è¡¨æ + æ°æ®æçº¹ä¸è´ + 7 天å
ãçåæä¸ç´æ¥å¤ç¨ä¸æ¬¡ç»æã |
| | | * å䏿¥è¡¨æå·²æä»»å¡å¨è·æ¶ç´æ¥è¿å该任å¡ï¼é¿å
é夿éã |
| | | */ |
| | | public Task submit(String type, String period, String mode, Integer toMonth, boolean forceRefresh) { |
| | | cleanupExpired(); |
| | | String key = cacheKey(type, period, mode, toMonth); |
| | | String fingerprint = dataFingerprint(); |
| | | if (!forceRefresh) { |
| | | Task hit = cache.get(key); |
| | | if (cacheUsable(hit)) { |
| | | if (cacheUsable(hit, fingerprint)) { |
| | | hit.fromCache = true; |
| | | log.info("æ¥è¡¨å¯¼åºä»»å¡å½ä¸ç¼åï¼{} {}ï¼çæäº {}ï¼", type, period, new Date(hit.finishedAt)); |
| | | hit.staleCache = false; // å½ä¸ç¼åæ¶ä¸è½æ®çä¸ä¸æ¬¡ãç»æå·²å¤±æãçæç¤º |
| | | log.info("æ¥è¡¨å¯¼åºä»»å¡å½ä¸å
åç¼åï¼{} {}ï¼çæäº {}ï¼", type, period, new Date(hit.finishedAt)); |
| | | return hit; |
| | | } |
| | | Task disk = loadFromDisk(key, type, period, mode, toMonth, fingerprint); |
| | | if (disk != null) { |
| | | tasks.put(disk.id, disk); |
| | | cache.put(key, disk); |
| | | log.info("æ¥è¡¨å¯¼åºä»»å¡å½ä¸è½çç¼åï¼{} {}ï¼çæäº {}ï¼æä»¶ {}ï¼", type, period, |
| | | new Date(disk.finishedAt), disk.cacheFile.getName()); |
| | | return disk; |
| | | } |
| | | } |
| | | Task running = findRunning(key); |
| | |
| | | log.info("æ¥è¡¨å¯¼åºä»»å¡å·²å¨æ§è¡ï¼å¤ç¨è¿è¡ä¸çä»»å¡ï¼{} {}ï¼{}ï¼", type, period, running.id); |
| | | return running; |
| | | } |
| | | Task task = new Task(type, period, mode, toMonth, importVersion()); |
| | | Task task = new Task(type, period, mode, toMonth, fingerprint); |
| | | // ææ§ç»æä½æ²¡å½ä¸ï¼æ°æ®ææ¯çåäºï¼â å端æç¤ºä¸å¥ï¼é¿å
ç¨æ·ä»¥ä¸º"ç¼ååäº" |
| | | task.staleCache = !forceRefresh && hasStaleCache(type, period, mode, toMonth, fingerprint); |
| | | tasks.put(task.id, task); |
| | | pool.submit(() -> run(task)); |
| | | return task; |
| | |
| | | t.status = "DONE"; |
| | | t.finishedAt = System.currentTimeMillis(); |
| | | cache.put(cacheKey(t.type, t.period, t.mode, t.toMonth), t); |
| | | writeToDisk(t, data); |
| | | log.info("æ¥è¡¨å¯¼åºä»»å¡å®æï¼{} {} ç¨æ¶ {} msï¼{} åè", t.type, t.period, t.finishedAt - start, data.length); |
| | | } catch (Throwable e) { |
| | | t.status = "FAILED"; |
| | |
| | | return null; |
| | | } |
| | | |
| | | private boolean cacheUsable(Task t) { |
| | | if (t == null || !"DONE".equals(t.status) || t.data == null) return false; |
| | | if (System.currentTimeMillis() - t.finishedAt > CACHE_TTL_MS) return false; |
| | | long now = importVersion(); |
| | | if (now < 0 || t.importVersion < 0) return false; // åä¸å°æ°æ®çæ¬æ¶ä¸åé£é©å¤ç¨ |
| | | return now == t.importVersion; |
| | | private boolean cacheUsable(Task t, String fingerprint) { |
| | | if (t == null || !"DONE".equals(t.status)) return false; |
| | | if (t.data == null && (t.cacheFile == null || !t.cacheFile.isFile())) return false; |
| | | if (System.currentTimeMillis() - t.finishedAt > CACHE_MAX_AGE_MS) return false; |
| | | if (fingerprint == null || t.fingerprint == null) return false; // ç®ä¸åºæçº¹æ¶ä¸åé£é©å¤ç¨ |
| | | return fingerprint.equals(t.fingerprint); |
| | | } |
| | | |
| | | /** æ°æ®çæ¬ï¼import_batch æå¤§ idï¼ä»»ä½ä¸æ¬¡å¯¼å
¥é½ä¼è®©å®ååï¼åä¸å°è¿å -1ï¼æ¤æ¶ç¦ç¨ç¼åï¼ */ |
| | | private long importVersion() { |
| | | /** |
| | | * æ±æ»å¤§è¡¨æ°æ®æçº¹ï¼ãä¾èµçæºè¡¨å
å®¹æ ¡éªåã+ãæ¯ççæä»¶èº«ä»½ãã |
| | | * - æºè¡¨ï¼åºå
é¤ FINGERPRINT_EXCLUDEï¼æèµ/è½è/å®¡æ ¸/ç³»ç»/导å
¥æ¥å¿ï¼ä»¥å¤çå
¨é¨è¡¨ï¼ç¨ CHECKSUM TABLE åæ ¡éªåï¼ |
| | | * è½ææè¡æ°ååãæ°å¢å é¤ã**åå° UPDATE**ï¼ |
| | | * - æä»¶ï¼æ¯çç®å½ä¸å
¨é¨æä»¶ï¼æ¯ç / åç
§ä»¶ / _å¤ä»½_ åå¡«ä»¶ï¼+ãç½çº¦è½¦è®¢ååå
¨çæ»é.xlsxãï¼åãåç§°+大å°+ä¿®æ¹æ¶é´ãã |
| | | * ä»»ä¸é¡¹ååå³æçº¹åå â ç¼å失æã计ç®å¤±è´¥è¿å nullï¼æ¤æ¶ç¦ç¨ç¼åï¼åªéç®ä¸å¤ç¨ï¼ã |
| | | */ |
| | | private String dataFingerprint() { |
| | | try { |
| | | List<Object> v = importBatchMapper.selectObjs(new QueryWrapper<ImportBatch>().select("IFNULL(MAX(id),0)")); |
| | | if (v == null || v.isEmpty() || v.get(0) == null) return 0L; |
| | | return ((Number) v.get(0)).longValue(); |
| | | List<String> parts = new ArrayList<>(); |
| | | try (Connection conn = dataSource.getConnection()) { |
| | | List<String> tables = new ArrayList<>(); |
| | | try (Statement st = conn.createStatement(); |
| | | ResultSet rs = st.executeQuery("SELECT table_name FROM information_schema.tables " |
| | | + "WHERE table_schema = DATABASE() AND table_type = 'BASE TABLE' ORDER BY table_name")) { |
| | | while (rs.next()) tables.add(rs.getString(1)); |
| | | } |
| | | for (String t : tables) { |
| | | if (FINGERPRINT_EXCLUDE.contains(t)) continue; |
| | | try (Statement st = conn.createStatement(); |
| | | ResultSet rs = st.executeQuery("CHECKSUM TABLE `" + t + "`")) { |
| | | if (rs.next()) parts.add("T:" + t + ":" + rs.getString(2)); |
| | | } |
| | | } |
| | | } |
| | | for (File f : listIdentityFiles(resolveBaseDir(summaryTemplateDir))) { |
| | | parts.add("F:" + f.getName() + ":" + f.length() + ":" + f.lastModified()); |
| | | } |
| | | File wyc = new File(resolveBaseDir(cityPassengerTemplateDir), "ç½çº¦è½¦è®¢ååå
¨çæ»é.xlsx"); |
| | | if (wyc.isFile()) parts.add("F:" + wyc.getName() + ":" + wyc.length() + ":" + wyc.lastModified()); |
| | | return sha256Hex(String.join("|", parts)).substring(0, 16); |
| | | } catch (Exception e) { |
| | | log.warn("读å导å
¥æ°æ®çæ¬å¤±è´¥ï¼æ¬æ¬¡ç¦ç¨å¯¼åºç¼åï¼{}", e.getMessage()); |
| | | return -1L; |
| | | log.warn("è®¡ç®æ°æ®æçº¹å¤±è´¥ï¼æ¬æ¬¡ç¦ç¨å¯¼åºç¼åï¼{}", e.getMessage()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** æ¯çç®å½çåºç¡ç®å½å®ä½ï¼ä¸æ¨¡æ¿è§£æåçç¥ï¼é
ç½®ç®å½ / user.dir ç¸å¯¹ / ä¸çº§ç®å½ï¼ */ |
| | | private File resolveBaseDir(String dir) { |
| | | if (dir == null) return null; |
| | | String rel = dir; |
| | | while (rel.startsWith("./")) rel = rel.substring(2); |
| | | String[] roots = {rel, System.getProperty("user.dir") + "/" + rel, System.getProperty("user.dir") + "/../" + rel}; |
| | | for (String root : roots) { |
| | | if (root == null || root.trim().isEmpty()) continue; |
| | | File f = new File(root); |
| | | if (f.isDirectory()) return f; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** ç®å½ä¸çæä»¶ï¼æååæåºï¼æé¤åç®å½ï¼ä¿è¯æçº¹ç¨³å®ï¼ */ |
| | | private List<File> listIdentityFiles(File dir) { |
| | | List<File> out = new ArrayList<>(); |
| | | if (dir == null) return out; |
| | | File[] fs = dir.listFiles(File::isFile); |
| | | if (fs == null) return out; |
| | | Arrays.sort(fs, Comparator.comparing(File::getName)); |
| | | out.addAll(Arrays.asList(fs)); |
| | | return out; |
| | | } |
| | | |
| | | private String sha256Hex(String text) throws Exception { |
| | | MessageDigest md = MessageDigest.getInstance("SHA-256"); |
| | | byte[] d = md.digest(text.getBytes(StandardCharsets.UTF_8)); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (int i = 0; i < 8; i++) sb.append(String.format("%02x", d[i])); // åå 8 åèï¼16 ä½åå
è¿å¶ï¼å¤ç¨ä¸æä»¶åç |
| | | return sb.toString(); |
| | | } |
| | | |
| | | /** 该æ¥è¡¨ææ¯å¦åå¨ãä¸å½åæçº¹ä¸ä¸è´ãçæ§ç»æï¼ç¨äºæç¤ºã䏿¬¡ç»æå·²å¤±æï¼æ£å¨æææ°æ°æ®éç®ãï¼ */ |
| | | private boolean hasStaleCache(String type, String period, String mode, Integer toMonth, String fingerprint) { |
| | | try { |
| | | File dir = cacheDir(); |
| | | if (dir == null) return false; |
| | | String prefix = cacheFilePrefix(type, period, mode, toMonth); |
| | | File[] fs = dir.listFiles((d, n) -> n.startsWith(prefix + "_v") && n.endsWith(".xlsx")); |
| | | if (fs == null || fs.length == 0) return false; |
| | | String current = prefix + "_v" + fingerprint + ".xlsx"; |
| | | for (File f : fs) { |
| | | if (!f.getName().equals(current)) return true; |
| | | } |
| | | return false; |
| | | } catch (Exception e) { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | for (Iterator<Map.Entry<String, Task>> it = cache.entrySet().iterator(); it.hasNext(); ) { |
| | | Task t = it.next().getValue(); |
| | | if (t.finishedAt <= 0 || now - t.finishedAt > CACHE_TTL_MS) it.remove(); |
| | | if (t.finishedAt <= 0 || now - t.finishedAt > CACHE_MAX_AGE_MS) it.remove(); |
| | | } |
| | | File dir = cacheDir(); |
| | | if (dir == null) return; |
| | | File[] fs = dir.listFiles((d, n) -> n.endsWith(".xlsx")); |
| | | if (fs == null) return; |
| | | for (File f : fs) { |
| | | if (now - f.lastModified() > CACHE_MAX_AGE_MS && !f.delete()) { |
| | | log.warn("æ¸
çè¿æå¯¼åºç¼å失败ï¼{}", f.getAbsolutePath()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** çææååæç»æè½çï¼ä¾è¿ç¨éå¯åå¤ç¨ï¼åç失败åªåè¦ï¼ä¸å½±åæ¬æ¬¡å¯¼åº */ |
| | | private void writeToDisk(Task t, byte[] data) { |
| | | try { |
| | | File dir = cacheDir(); |
| | | if (dir == null) return; |
| | | String fingerprint = t.fingerprint; |
| | | if (fingerprint == null) return; |
| | | String prefix = cacheFilePrefix(t.type, t.period, t.mode, t.toMonth); |
| | | File target = new File(dir, prefix + "_v" + fingerprint + ".xlsx"); |
| | | java.nio.file.Files.write(target.toPath(), data); |
| | | File[] siblings = dir.listFiles((d, n) -> n.startsWith(prefix + "_v") && n.endsWith(".xlsx")); |
| | | if (siblings != null) { |
| | | for (File f : siblings) { |
| | | if (!f.getName().equals(target.getName()) && !f.delete()) { |
| | | log.warn("æ¸
çæ§çæ¬å¯¼åºç¼å失败ï¼{}", f.getAbsolutePath()); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.warn("导åºç»æè½ç失败ï¼ä¸å½±åæ¬æ¬¡å¯¼åºï¼ä»
æ æ³è·¨éå¯å¤ç¨ï¼ï¼{}", e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** ä»è½çç¼åéæ¾ãå䏿¥è¡¨æ + å䏿°æ®æçº¹ + æªè¶
æãçç»æï¼æ²¡æè¿å null */ |
| | | private Task loadFromDisk(String key, String type, String period, String mode, Integer toMonth, String fingerprint) { |
| | | try { |
| | | if (fingerprint == null) return null; // ç®ä¸åºæçº¹æ¶ä¸åé£é©å¤ç¨ |
| | | File dir = cacheDir(); |
| | | if (dir == null) return null; |
| | | File f = new File(dir, cacheFilePrefix(type, period, mode, toMonth) + "_v" + fingerprint + ".xlsx"); |
| | | if (!f.isFile()) return null; |
| | | long finished = f.lastModified(); |
| | | if (finished <= 0 || System.currentTimeMillis() - finished > CACHE_MAX_AGE_MS) return null; |
| | | Task t = new Task(type, period, mode, toMonth, fingerprint); |
| | | t.cacheFile = f; |
| | | t.createdAt = finished; // å¤ç¨åå²ç»æï¼ä»¥çææ¶é´ä½ä¸ºèµ·ç¹ï¼é¿å
elapsedMs åºç°è´æ° |
| | | t.fileName = "çæ_éè·¯è¿è¾éæ±æ»è¡¨_" + period + ".xlsx"; |
| | | t.status = "DONE"; |
| | | t.percent = 100; |
| | | t.step = "宿"; |
| | | t.finishedAt = finished; |
| | | t.fromCache = true; |
| | | return t; |
| | | } catch (Exception e) { |
| | | log.warn("读åè½ç导åºç¼å失败ï¼{}", e.getMessage()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | |
| | | <el-main> |
| | | <h3>导å
¥æ°æ®æ¥ç</h3> |
| | | <div class="toolbar"> |
| | | <span class="toolbar-label">æ¥è¡¨æ</span> |
| | | <el-date-picker v-model="period" type="month" placeholder="æ¥è¡¨æï¼å
¨é¨ï¼" value-format="yyyy-MM" clearable style="width:150px" @change="doQuery"></el-date-picker> |
| | | <template v-if="!isRollup"> |
| | | <span class="toolbar-label">æ¥è¡¨æ</span> |
| | | <el-date-picker v-model="period" type="month" placeholder="æ¥è¡¨æï¼å
¨é¨ï¼" value-format="yyyy-MM" clearable style="width:150px" @change="doQuery"></el-date-picker> |
| | | </template> |
| | | <span class="toolbar-sep"></span> |
| | | <span class="toolbar-label">æ°æ®ç±»å</span> |
| | | <el-radio-group v-model="activeModule" size="small" @change="onModuleChange"> |
| | | <el-radio-button v-for="g in modules" :key="g.key" :label="g.key">{{ g.name }}</el-radio-button> |
| | | </el-radio-group> |
| | | <el-select v-model="type" size="small" style="width:250px" placeholder="éæ©æ°æ®ç±»å" @change="onTypeSelect"> |
| | | <el-option-group :label="activeTypes.name"> |
| | | <el-option v-for="t in activeTypes.types" :key="t.value" :label="t.label" :value="t.value"></el-option> |
| | | <el-select v-model="type" size="small" style="width:300px" placeholder="éæ©æ°æ®ç±»å" filterable |
| | | popper-class="data-type-select" :title="currentTypeLabel" @change="onTypeSelect"> |
| | | <el-option-group v-for="g in modules" :key="g.key" :label="g.name"> |
| | | <el-option v-for="t in g.types" :key="t.value" :label="t.label" :value="t.value"></el-option> |
| | | </el-option-group> |
| | | </el-select> |
| | | <el-input v-model="keyword" placeholder="ä¼ä¸/å¸å·åç§°" clearable style="width:180px" @keyup.enter.native="doQuery"></el-input> |
| | | <el-button type="primary" size="small" @click="doQuery">æ¥è¯¢</el-button> |
| | | <template v-if="canRollup"> |
| | | <span class="toolbar-label">è§å¾</span> |
| | | <el-radio-group v-model="viewMode" size="small" @change="onViewChange"> |
| | | <el-radio-button label="detail">æç»</el-radio-button> |
| | | <el-radio-button label="rollup">æå¸å·æ±æ»</el-radio-button> |
| | | </el-radio-group> |
| | | </template> |
| | | <template v-if="isRollup"> |
| | | <span class="toolbar-label">èµ·æ¢æ</span> |
| | | <el-date-picker v-model="from" type="month" placeholder="èµ·å§æ" value-format="yyyy-MM" style="width:130px"></el-date-picker> |
| | | <span>~</span> |
| | | <el-date-picker v-model="to" type="month" placeholder="ç»ææ" value-format="yyyy-MM" style="width:130px"></el-date-picker> |
| | | <span class="toolbar-label">æå</span> |
| | | <el-select v-model="rankMode" size="small" style="width:150px"> |
| | | <el-option label="ç空" value="blank"></el-option> |
| | | <el-option label="æç´¯è®¡å¼éæ" value="recompute"></el-option> |
| | | </el-select> |
| | | <el-button type="primary" size="small" @click="loadSummary">æ±æ»</el-button> |
| | | <el-button type="success" size="small" icon="el-icon-download" @click="exportSummary">å¯¼åº Excel</el-button> |
| | | </template> |
| | | <template v-if="hasPeriodType"> |
| | | <span class="toolbar-label">å£å¾</span> |
| | | <el-select v-model="periodType" size="small" style="width:110px" @change="doQuery"> |
| | | <el-option label="å
¨é¨" value=""></el-option> |
| | | <el-option label="彿" value="MONTH"></el-option> |
| | | <el-option label="累计" value="CUMULATIVE"></el-option> |
| | | </el-select> |
| | | </template> |
| | | <template v-if="!isRollup"> |
| | | <el-input v-model="keyword" placeholder="ä¼ä¸/å¸å·åç§°" clearable style="width:180px" @keyup.enter.native="doQuery"></el-input> |
| | | <el-button type="primary" size="small" @click="doQuery">æ¥è¯¢</el-button> |
| | | </template> |
| | | <el-button size="small" icon="el-icon-full-screen" @click="toggleFullscreen">å
¨å±æ¥ç</el-button> |
| | | </div> |
| | | <div class="load-hint">å
± {{ total }} æ¡è®°å½ï¼å·²å è½½ {{ records.length }} æ¡</div> |
| | | <div class="load-hint">å
± {{ total }} æ¡è®°å½ï¼å·²å è½½ {{ records.length }} æ¡<span v-if="isRollup && summaryHint" class="rollup-hint">ã|ã{{ summaryHint }}</span></div> |
| | | <div class="table-wrap" ref="tableWrap"> |
| | | <div class="table-area"> |
| | | <el-table :data="records" border v-loading="loading" size="small" style="width:100%" height="100%"> |
| | | <el-table-column v-for="c in visibleColumns" :key="c.prop" :prop="c.prop" :label="c.label" :min-width="c.width" show-overflow-tooltip> |
| | | <el-table-column v-for="c in renderColumns" :key="c.prop" :prop="c.prop" :label="c.label" :min-width="c.width" :fixed="c.fixed ? 'left' : false" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatCell(scope.row[c.prop]) }}</span> |
| | | <span>{{ formatCell(scope.row[c.prop], c.prop) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | { |
| | | key: 'passenger', name: 'å
¬è·¯æ
客', types: [ |
| | | { value: 'h2031', label: 'å
¬è·¯æ
客è¿è¾æåº¦ç产æ
åµ' }, |
| | | { value: 'passengerAuth', label: 'è¿æ¿è½¦è¾æ°' } |
| | | { value: 'passengerAuth', label: 'è¿æ¿è½¦è¾æ°' }, |
| | | { value: 'passengerIndividual', label: '个ä½å®¢è¿é/å¨è½¬é' } |
| | | ] |
| | | }, |
| | | { |
| | | key: 'city', name: 'åå¸å®¢è¿', types: [ |
| | | { value: 'cityBus', label: 'åå¸å
Œ
±äº¤éæåº¦è¿è¥æ
åµ' }, |
| | | { value: 'cityTaxi', label: '巡游åºç§æ±½è½¦è¿è¥æå¡æ
嵿æ¥' }, |
| | | { value: 'cityTaxiAuth', label: 'åºç§è½¦è¿æ¿è½¦è¾' } |
| | | { value: 'cityTaxiAuth', label: 'åºç§è½¦è¿æ¿è½¦è¾' }, |
| | | { value: 'wycTotal', label: 'ç½çº¦è½¦æ»æ°' }, |
| | | { value: 'wycOrder', label: 'ç½çº¦è½¦è®¢ååå
¨çæ»é' } |
| | | ] |
| | | }, |
| | | { |
| | |
| | | activeModule: 'freight', |
| | | type: 'h2032', |
| | | period: '', |
| | | periodType: '', |
| | | viewMode: 'detail', |
| | | rollupTypes: [], |
| | | from: '', |
| | | to: '', |
| | | rankMode: 'blank', |
| | | summaryHint: '', |
| | | keyword: '', |
| | | page: 1, |
| | | size: 50, |
| | |
| | | } |
| | | }, |
| | | computed: { |
| | | canRollup() { |
| | | return (this.rollupTypes || []).some(t => t.type === this.type) |
| | | }, |
| | | isRollup() { |
| | | return this.viewMode === 'rollup' && this.canRollup |
| | | }, |
| | | // è§ä¸è§ä¸æåç表æ"å£å¾"åï¼å½æ/累计ï¼ï¼æå®åæä¸æ¹çéè䏿¯è¡¨æ ¼å |
| | | hasPeriodType() { |
| | | return (this.columns || []).some(c => c.prop === 'periodType') |
| | | }, |
| | | currentTypeLabel() { |
| | | for (const g of this.modules) { |
| | | const t = g.types.find(x => x.value === this.type) |
| | | if (t) return g.name + ' · ' + t.label |
| | | } |
| | | return this.type |
| | | }, |
| | | activeTypes() { |
| | | const g = this.modules.find(x => x.key === this.activeModule) || this.modules[0] |
| | | return g |
| | | }, |
| | | visibleColumns() { |
| | | const hiddenProps = ['enterpriseCode', 'unifiedCreditCode', 'reportUnit'] |
| | | const hiddenLabels = ['ä¼ä¸ä»£ç ', 'ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ', 'å¡«æ¥åä½'] |
| | | return (this.columns || []).filter(c => |
| | | hiddenProps.indexOf(c.prop) < 0 && hiddenLabels.indexOf(c.label) < 0) |
| | | return (this.columns || []).filter(c => this.keepColumn(c)) |
| | | }, |
| | | // 左侧å»ç»"è¿æ¯è°çæ°æ®"çåï¼å¸å·/å°åº + ä¼ä¸(项ç®)åç§°/车çå·ï¼æå¤ 3 åã |
| | | // æ¥è¡¨æä¸æå±å°åºä¸åä¸å»ç»ï¼æ¥è¡¨ææ¯çéæ¡ä»¶ï¼æå±å°åºæ¯åºå代ç ï¼å·²ç±å¸å·åæ¿ä»£ï¼ã |
| | | renderColumns() { |
| | | const stickyProps = ['city', 'regionName', 'region', 'periodType', 'enterpriseName', 'projectName', 'plateNo'] |
| | | const cols = this.visibleColumns |
| | | let count = 0 |
| | | while (count < cols.length && count < 3 && stickyProps.indexOf(cols[count].prop) >= 0) { |
| | | count++ |
| | | } |
| | | return cols.map((c, i) => Object.assign({}, c, { fixed: i < count })) |
| | | } |
| | | }, |
| | | methods: { |
| | | // æ°æ®æ¥çç»ä¸åè¿æ»¤ï¼å
鍿 è¯åä¸å±ç¤ºï¼æ¥è¡¨æï¼ç±ç鿡件ä½ç°ï¼ä¸æå±å°åºï¼åºå代ç ï¼å·²è¢«å¸å·åæ¿ä»£ï¼ä¸å±ç¤º |
| | | keepColumn(c) { |
| | | if (!c) return false |
| | | // å£å¾åä¸ç§»ä¸ºçéï¼æå表货è¿éä¸åæºæä»¶æªæä¾ï¼å
¨ç©ºï¼æ
ä¸å±ç¤º |
| | | const hiddenProps = ['enterpriseCode', 'unifiedCreditCode', 'reportUnit', 'projectId', 'regionCode', 'reportPeriod', |
| | | 'periodType', 'aboveScaleFreight', 'belowScaleFreight', 'totalFreight'] |
| | | const hiddenLabels = ['ä¼ä¸ä»£ç ', 'ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ', 'å¡«æ¥åä½', '项ç®ID', 'æå±å°åº', 'æ¥è¡¨æ', 'å£å¾'] |
| | | if (hiddenProps.indexOf(c.prop) >= 0 || hiddenLabels.indexOf(c.label) >= 0) return false |
| | | return true |
| | | }, |
| | | onModuleChange(key) { |
| | | const g = this.modules.find(x => x.key === key) |
| | | if (!g || !g.types.length) return |
| | |
| | | } |
| | | this.doQuery() |
| | | }, |
| | | onTypeSelect() { this.doQuery() }, |
| | | loadRollupTypes() { |
| | | api.get('/data/rollupTypes').then(res => { |
| | | // æ¦æªå¨å·²è¿åååºä½ï¼æ
res.data å³ç±»åæ°ç» |
| | | this.rollupTypes = (res && res.data) || [] |
| | | }).catch(() => { this.rollupTypes = [] }) |
| | | }, |
| | | onViewChange() { |
| | | this.records = [] |
| | | this.total = 0 |
| | | if (this.isRollup) { |
| | | if (!this.to) this.to = this.period || this.defaultMonth() |
| | | if (!this.from) this.from = this.to.substring(0, 4) + '-01' |
| | | this.loadSummary() |
| | | } else { |
| | | this.summaryHint = '' |
| | | this.doQuery() |
| | | } |
| | | }, |
| | | defaultMonth() { |
| | | const now = new Date() |
| | | return now.getFullYear() + '-' + ('0' + (now.getMonth() + 1)).slice(-2) |
| | | }, |
| | | loadSummary() { |
| | | if (!this.from || !this.to) { this.$message.warning('请å
éæ©èµ·æ¢æ'); return } |
| | | this.loading = true |
| | | api.get('/data/summary', { params: { type: this.type, from: this.from, to: this.to, rankMode: this.rankMode }, timeout: 120000 }) |
| | | .then(res => { |
| | | const d = res.data || {} |
| | | this.columns = d.columns || [] |
| | | this.records = d.records || [] |
| | | this.total = this.records.length |
| | | this.summaryHint = (d.label || '') + 'ã' + d.from + ' ~ ' + d.to + ' 累计ï¼åæ¯åºæ° ' + d.lastFrom + ' ~ ' + d.lastTo |
| | | + 'ï¼æåå£å¾ï¼' + (d.rankMode === 'recompute' ? 'æç´¯è®¡å¼éæ' : 'ç空') |
| | | }) |
| | | .catch(e => { if (!e || !e._toast) this.$message.error('æ±æ»æ¥è¯¢å¤±è´¥') }) |
| | | .finally(() => { this.loading = false }) |
| | | }, |
| | | exportSummary() { |
| | | if (!this.from || !this.to) { this.$message.warning('请å
éæ©èµ·æ¢æ'); return } |
| | | api.get('/data/export', { |
| | | params: { type: this.type, from: this.from, to: this.to, rankMode: this.rankMode }, |
| | | responseType: 'blob', timeout: 180000 |
| | | }).then(res => { |
| | | const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) |
| | | const url = window.URL.createObjectURL(blob) |
| | | const a = document.createElement('a') |
| | | a.href = url |
| | | a.download = 'æå¸å·æ±æ»_' + this.type + '_' + this.from + '_' + this.to + '.xlsx' |
| | | document.body.appendChild(a) |
| | | a.click() |
| | | document.body.removeChild(a) |
| | | window.URL.revokeObjectURL(url) |
| | | this.$message.success('æ±æ»è¡¨å·²å¯¼åº') |
| | | }).catch(() => this.$message.error('导åºå¤±è´¥')) |
| | | }, |
| | | onTypeSelect() { |
| | | const g = this.modules.find(x => x.types.some(t => t.value === this.type)) |
| | | if (g) this.activeModule = g.key |
| | | this.periodType = '' |
| | | this.viewMode = 'detail' |
| | | this.summaryHint = '' |
| | | this.doQuery() |
| | | }, |
| | | doQuery() { |
| | | this.page = 1 |
| | | this.records = [] |
| | |
| | | type: this.type, |
| | | period: this.period || undefined, |
| | | keyword: this.keyword || undefined, |
| | | periodType: this.periodType || undefined, |
| | | page: this.page, |
| | | size: this.size |
| | | } |
| | | }).then(res => { |
| | | const d = res.data || {} |
| | | this.records = d.records || [] |
| | | this.columns = (d.columns || []).filter(c => ['enterpriseCode', 'unifiedCreditCode', 'reportUnit'].indexOf(c.prop) < 0 && ['ä¼ä¸ä»£ç ', 'ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ', 'å¡«æ¥åä½'].indexOf(c.label) < 0) |
| | | this.columns = d.columns || [] |
| | | this.total = d.total || 0 |
| | | if (this.page > 1 && this.records.length === 0) { |
| | | this.page = 1 |
| | |
| | | type: this.type, |
| | | period: this.period || undefined, |
| | | keyword: this.keyword || undefined, |
| | | periodType: this.periodType || undefined, |
| | | page: nextPage, |
| | | size: this.size |
| | | } |
| | |
| | | this.records = this.records.concat(addRows) |
| | | this.page = nextPage |
| | | if (d.total != null) this.total = d.total |
| | | if (d.columns && d.columns.length) this.columns = d.columns.filter(c => ['enterpriseCode', 'unifiedCreditCode', 'reportUnit'].indexOf(c.prop) < 0 && ['ä¼ä¸ä»£ç ', 'ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç ', 'å¡«æ¥åä½'].indexOf(c.label) < 0) |
| | | if (d.columns && d.columns.length) this.columns = d.columns |
| | | }).catch(e => { |
| | | if (e && e._toast) return |
| | | this.$message.error('å è½½æ´å¤å¤±è´¥') |
| | |
| | | document.exitFullscreen() |
| | | } |
| | | }, |
| | | formatCell(v) { |
| | | // æ¾ç¤ºæ ¼å¼åï¼ä¸æ¹å¨åºå±æ°æ®ï¼å¯¼åºä»ä¸ºå
¨ç²¾åº¦ï¼ï¼ |
| | | // - æ¯çç±»åï¼ç¯æ¯/忝/å¢é/å æ¯ï¼åºå
æ¯å°æ°ï¼0.045 = 4.5%ï¼ï¼æ¾ç¤ºä¸ºç¾åæ¯ï¼ |
| | | // - æåç±»åæ¾ç¤ºæ´æ°ï¼ |
| | | // - å
¶ä½æ°å¼ååä½ãä¿ç两ä½å°æ°ï¼æ´æ°åæ ·ã |
| | | formatCell(v, prop) { |
| | | if (v === null || v === undefined || v === '') return '-' |
| | | return v |
| | | const s = typeof v === 'string' ? v.trim() : v |
| | | if (typeof v !== 'number' && !/^-?\d+(\.\d+)?$/.test(String(s))) return v |
| | | const n = Number(s) |
| | | if (!isFinite(n)) return v |
| | | const key = String(prop || '').toLowerCase() |
| | | if (/rank/.test(key)) return Math.round(n).toLocaleString('zh-CN') |
| | | if (/(rate|yoy|mom|growth|ratio|percent|share)/.test(key)) return (n * 100).toFixed(2) + '%' |
| | | if (Number.isInteger(n)) return n.toLocaleString('zh-CN') |
| | | return n.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | if (q.type) this.type = q.type |
| | | if (q.period) this.period = q.period |
| | | if (q.keyword) this.keyword = q.keyword |
| | | this.loadRollupTypes() |
| | | this.loadData() |
| | | window.addEventListener('scroll', this.onScroll, { passive: true }) |
| | | if (this.$refs.tableWrap) { |
| | |
| | | #app .toolbar-label { color:#606266; font-weight:600; white-space:nowrap; } |
| | | #app .toolbar-sep { width:1px; height:22px; background:#DCDFE6; margin:0 2px; } |
| | | #app .load-hint { color:#909399; font-size:12px; margin-bottom:6px; } |
| | | #app .rollup-hint { color:#409EFF; } |
| | | #app .table-wrap { display:flex; flex-direction:column; height:calc(100vh - 250px); min-height:300px; } |
| | | #app .table-area { flex:1 1 auto; min-height:0; overflow:hidden; } |
| | | #app .table-area .el-table { width:100%; height:100%; } |
| | | #app .table-area:fullscreen { padding:20px; background:#fff; overflow:auto; } |
| | | #app .table-wrap:fullscreen { padding:20px; background:#fff; overflow:auto; display:flex; flex-direction:column; height:100vh; } |
| | | #app .table-wrap:fullscreen .table-area { flex:1 1 auto; min-height:0; } |
| | | </style> |
| | | </style> |
| | | <style> |
| | | /* æ°æ®ç±»å䏿ï¼Element UI é»è®¤æåç»æ é¢åæ 12px ç°è²å°åï¼çèµ·æ¥"æ¯é项æ´å°æ´æ·¡"ã |
| | | è¿éæå®æ¹ææç¡®çç»æ 颿 ·å¼ï¼å æ·±ãå ç²ãç¥å¤§ã带åºè²ï¼ï¼ä¸éé¡¹å½¢æææçå±çº§ã */ |
| | | .data-type-select .el-select-group__title { |
| | | font-size: 13px; |
| | | font-weight: 700; |
| | | color: #303133; |
| | | line-height: 28px; |
| | | background: #F5F7FA; |
| | | padding-left: 12px; |
| | | letter-spacing: .5px; |
| | | } |
| | | .data-type-select .el-select-group__title::after { display: none; } |
| | | .data-type-select .el-select-group { padding-bottom: 6px; } |
| | | .data-type-select .el-select-group .el-select-dropdown__item { padding-left: 20px; } |
| | | </style> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- æ±æ»å¤§è¡¨å¼æ¥çæè¿åº¦ï¼çæä¸æ¬¡çº¦ 10~20 ç§ï¼é¿å
ç¹å»åé¿æ¶é´æ ååºï¼ --> |
| | | <el-dialog title="æ£å¨çææ±æ»å¤§è¡¨" :visible.sync="taskVisible" width="460px" |
| | | <el-dialog :title="taskDialogTitle" :visible.sync="taskVisible" width="460px" |
| | | :close-on-click-modal="false" :show-close="taskFinished"> |
| | | <div class="task-body"> |
| | | <el-progress :percentage="taskInfo.percent || 0" :status="taskInfo.status === 'FAILED' ? 'exception' : (taskDone ? 'success' : null)" |
| | | :stroke-width="14"></el-progress> |
| | | <p class="task-step">{{ taskInfo.step || 'æéä¸' }}</p> |
| | | <p class="task-meta" v-if="taskInfo.period">æ¥è¡¨æ {{ taskInfo.period }}ã{{ taskInfo.fromCache ? '䏿¬¡çæç¨æ¶' : 'å·²ç¨' }} {{ (taskInfo.elapsedMs / 1000).toFixed(1) }} ç§</p> |
| | | <p class="task-meta" v-if="taskInfo.fromCache">æ¬æ¬¡ç´æ¥ä½¿ç¨ {{ taskCacheTime }} çæçç»æï¼10 åéå
䏿鴿²¡ææ°å¯¼å
¥æ°æ®ï¼ãå¦éæææ°æ°æ®éç®ï¼è¯·ç¹ãéæ°çæãã</p> |
| | | <p class="task-meta" v-if="taskInfo.period && !taskInfo.fromCache">æ¥è¡¨æ {{ taskInfo.period }}ãå·²ç¨ {{ ((taskInfo.elapsedMs || 0) / 1000).toFixed(1) }} ç§</p> |
| | | <p class="task-meta" v-else-if="taskInfo.period">æ¥è¡¨æ {{ taskInfo.period }}ã䏿¬¡çæäº {{ taskCacheTime }}</p> |
| | | <p class="task-meta" v-if="taskInfo.staleCache">䏿¬¡çæçç»æå·²å æ°æ®ææ¯çåå失æï¼æ¬æ¬¡æææ°æ°æ®éç®ã</p> |
| | | <p class="task-meta" v-if="taskInfo.fromCache">æ¬æ¬¡ç´æ¥æ²¿ç¨ {{ taskCacheTime }} çæçç»æï¼æé´æ²¡ææ°çæ°æ®å¯¼å
¥ï¼ãå¦éæææ°æ°æ®éç®ï¼è¯·ç¹ãéæ°çæãã</p> |
| | | <p class="task-done" v-if="taskDownloaded"> |
| | | å·²èªå¨ä¸è½½ï¼<b>{{ taskFileName }}</b><span v-if="taskFileSize">ï¼{{ taskFileSizeText }}ï¼</span>ï¼æä»¶å¨æµè§å¨é»è®¤ä¸è½½ç®å½ã |
| | | </p> |
| | | <p class="task-error" v-else-if="taskDone">èªå¨ä¸è½½æ²¡æåï¼å¯ç¹ãä¿åæä»¶ãåå䏿¬¡ã</p> |
| | | <p class="task-error" v-if="taskInfo.status === 'FAILED'">{{ taskInfo.error }}</p> |
| | | </div> |
| | | <span slot="footer"> |
| | | <el-button size="small" type="primary" :disabled="!taskDone" @click="downloadTaskFile">{{ taskInfo.fromCache ? 'ä¸è½½' : 'ä¿åæä»¶' }}</el-button> |
| | | <el-button size="small" v-if="taskDone && !taskDownloaded" @click="downloadTaskFile()">ä¿åæä»¶</el-button> |
| | | <el-button size="small" :disabled="taskRunning" @click="restartTask">éæ°çæ</el-button> |
| | | <el-button size="small" v-if="taskRunning" @click="minimizeTask">åå°è¿è¡</el-button> |
| | | <el-button size="small" v-else @click="closeTask">å
³é</el-button> |
| | | <el-button size="small" v-else type="primary" @click="closeTask">å
³é</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </el-main> |
| | |
| | | taskVisible: false, |
| | | taskInfo: {}, |
| | | taskTimer: null, |
| | | // è¿åº¦å¼¹çªï¼å®æåä¼èªå¨ä¸è½½ä¸æ¬¡ï¼è¿éè®°å½ãæ¯å¦å·²ä¸è½½ãä¸æä»¶ä¿¡æ¯ï¼å·²ä¸è½½å°±ä¸åæ¾ç¤ºä¸è½½æé®ï¼ |
| | | taskDownloaded: false, |
| | | taskFileName: '', |
| | | taskFileSize: 0, |
| | | taskKey: 'summaryWorkbook', |
| | | modules: [ |
| | | { |
| | |
| | | const d = new Date(t) |
| | | const p = (n) => String(n).padStart(2, '0') |
| | | return d.getFullYear() + '-' + p(d.getMonth() + 1) + '-' + p(d.getDate()) + ' ' + p(d.getHours()) + ':' + p(d.getMinutes()) + ':' + p(d.getSeconds()) |
| | | }, |
| | | // å¼¹çªæ é¢éä»»å¡ç¶æååï¼é¿å
ã已宿ãè¿åçãæ£å¨çæã |
| | | taskDialogTitle() { |
| | | const s = this.taskInfo && this.taskInfo.status |
| | | if (s === 'FAILED') return 'æ±æ»å¤§è¡¨çæå¤±è´¥' |
| | | if (s === 'DONE') return 'æ±æ»å¤§è¡¨å·²çæ' |
| | | return 'æ£å¨çææ±æ»å¤§è¡¨' |
| | | }, |
| | | taskFileSizeText() { |
| | | const n = this.taskFileSize || 0 |
| | | if (!n) return '' |
| | | return n >= 1048576 ? (n / 1048576).toFixed(2) + ' MB' : Math.round(n / 1024) + ' KB' |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | this.stopTaskPolling() |
| | | this.taskInfo = { status: 'PENDING', percent: 0, step: 'æäº¤ä»»å¡', period: this.period, elapsedMs: 0 } |
| | | this.taskVisible = true |
| | | this.taskDownloaded = false |
| | | this.taskFileName = '' |
| | | this.taskFileSize = 0 |
| | | this.loading = 'gen-' + this.curModule.key |
| | | const params = Object.assign({}, this.buildParams(), { refresh: refresh ? 'true' : 'false' }) |
| | | api.get('/report/exportTask/summaryWorkbook', { params, timeout: 60000 }) |
| | |
| | | return |
| | | } |
| | | this.taskInfo = res.data |
| | | if (this.taskInfo.status === 'DONE') { this.loading = ''; this.downloadTaskFile(); return } |
| | | if (this.taskInfo.status === 'DONE') { this.loading = ''; this.downloadTaskFile(true); return } |
| | | if (this.taskInfo.status === 'FAILED') { this.loading = ''; return } |
| | | this.pollTask() |
| | | }) |
| | |
| | | if (this.taskInfo.status === 'DONE') { |
| | | this.stopTaskPolling() |
| | | this.loading = '' |
| | | this.downloadTaskFile() |
| | | this.downloadTaskFile(true) |
| | | } else if (this.taskInfo.status === 'FAILED') { |
| | | this.stopTaskPolling() |
| | | this.loading = '' |
| | |
| | | stopTaskPolling() { |
| | | if (this.taskTimer) { clearInterval(this.taskTimer); this.taskTimer = null } |
| | | }, |
| | | downloadTaskFile() { |
| | | // auto=true 表示ãä»»å¡å®æåçèªå¨ä¸è½½ãï¼ç¨æ·ç¹æé®æ¶ä¸º false |
| | | downloadTaskFile(auto) { |
| | | const id = this.taskInfo && this.taskInfo.taskId |
| | | if (!id) return |
| | | const name = this.taskInfo.fileName || ('çæ_éè·¯è¿è¾éæ±æ»è¡¨_' + this.period + '.xlsx') |
| | | this.taskFileName = name |
| | | api.get('/report/exportTask/' + id + '/file', { responseType: 'blob', timeout: 120000 }) |
| | | .then(res => { this.downloadBlob(res, name); this.$message.success('æ¥è¡¨å¯¼åºæå') }) |
| | | .then(res => { |
| | | this.taskFileSize = (res && res.size) || 0 |
| | | this.taskDownloaded = true |
| | | this.downloadBlob(res, name) |
| | | this.$message.success(auto ? 'çæå®æï¼å·²èªå¨ä¸è½½' : 'æ¥è¡¨å¯¼åºæå') |
| | | }) |
| | | .catch(err => this.failWith(err)) |
| | | }, |
| | | restartTask() { this.startSummaryTask(true) }, |
| | |
| | | .task-step { margin: 12px 0 4px; font-size: 14px; color:#303133; } |
| | | .task-meta { margin: 2px 0; font-size: 12px; color:#909399; line-height: 1.6; } |
| | | .task-error { margin: 8px 0 0; font-size: 13px; color:#F56C6C; word-break: break-all; } |
| | | .task-done { margin: 8px 0 0; font-size: 13px; color:#67C23A; line-height: 1.6; } |
| | | </style> |
| | | |
| | | <style> |