| New file |
| | |
| | | # åè½æµè¯æ¥å_æ±æ»å¤§è¡¨çå¼ç»ä¸_2026-09-08 |
| | | |
| | | ## ä¸ãåè½è¯´æ |
| | | ç¨æ·ææ¿ï¼2026-09-08ï¼ï¼æ±æ»å¤§è¡¨çå¼ç»ä¸ï¼å项è§åââ |
| | | 1) æ°å¼ä¿ç两ä½å°æ°ï¼æ°å¼/å
¬å¼æ ¼æ¾ç¤º 0.00ï¼åæ¯ç¾åæ¯ 0.00% ä¿çï¼ï¼ |
| | | 2) æååæ´æ°ï¼æ ¼å¼ 0ï¼ï¼ |
| | | 3) è¡¨æ ¼å宽æå
容èªéåºï¼é¿å
¬å¼ææ¬ä¸åæåæçï¼ï¼ |
| | | 4) èæ¯è²å
¨é¨ç»ä¸å»é¤ï¼æ å¡«å
ï¼ã |
| | | |
| | | æ¶åæä»¶ï¼ |
| | | - æ¯çï¼`docs/çææ±æ»å¤§è¡¨/2026å¹´7æéè·¯è¿è¾éæ±æ»è¡¨.xlsx`ã`2026å¹´8æéè·¯è¿è¾éæ±æ»è¡¨.xlsx` |
| | | - è¿åæºï¼ååå½ä¸ï¼é²çææ¶æ§åºè²/æ§æ ¼å¼â夿´»âï¼ï¼`_å¤ä»½_2026å¹´7æéè·¯è¿è¾éæ±æ»è¡¨_æ¸
çå_20260904.xlsx` |
| | | - ç¨åºï¼`ReportExportService`ï¼æ°å¢ `applyDonorNumberFormat`ï¼è¿ååå¡«æ¶åæ¥ donor æ°åæ ¼å¼ï¼ |
| | | |
| | | ## äºãæµè¯ç¯å¢ |
| | | - å端 8090ï¼`start-dev.ps1` å¯å¨ï¼ï¼`mvn -q -DskipTests compile` exit=0 |
| | | - æ¥å£ï¼`GET /api/report/export/summaryWorkbook?period=2026-07|2026-08&mode=month` |
| | | - æ ¡éªï¼python3 + openpyxlï¼å¼çº§/æ ·å¼çº§å读ï¼data_only=Falseï¼diff |
| | | |
| | | ## ä¸ãç¨ä¾è¡¨ |
| | | | # | ç¨ä¾ | æä½ | 颿 | å®é
| ç»è®º | |
| | | |---|---|---|---|---|---| |
| | | | 1 | æ¯çå»åºè² | 7/8 ææ¯çä¸å¤ä»½ç»ä¸èæ¬å¤ç | å
¨ç°¿æ solid å¡«å
| 7 ææ¯ç fills=0ï¼8 ææ¯çæ¸
é¤ 57908 æ ¼åºè²å=0ï¼å¤ä»½æ¸
é¤ 57886 æ ¼å=0 | éè¿ | |
| | | | 2 | æ°å¼ä¸¤ä½å°æ° | æ°å¼+å
¬å¼æ ¼æåè¯ä¹å½ä¸ | æ°æ®æ ¼æ¾ç¤º 0.00ï¼åæ¯/ç¾åæ¯ä¿ç | 7 ææ¯ç 38778 æ ¼å½ä¸ï¼å¯¼åº 7/8 ææ°æ®æ ¼å 0.00 / 0.00% | éè¿ | |
| | | | 3 | æåæ´æ° | æååè¡¨å¤´åæ°æ®æ ¼è®¾ä¸º 0 | æåæ¾ç¤ºæ´æ° | æ¯çä¸å¯¼åºæååå为 0ï¼æ½æ¥`è´§è¿éæå`/`ä¸å£å¾æå`æ£ç¡® | éè¿ | |
| | | | 4 | å宽èªéåº | å
¬å¼ä¸è®¡å®½ãæ°å¼åä¿åº 12 | é¿å
¬å¼åæ¶ç¼©å°æ°å¼å®½ | `è´§è¿` I/V/Xâ¦ç± 42 â 12ï¼é¿ææ¬åï¼å¦ Qï¼ä¿ç | éè¿ | |
| | | | 5 | å
容ä¸å | å¤çååå
¨ç°¿å¼çº§ diff | diff=0 | 7 æ v1âv2 diff=0ï¼8 ææå vs 忝çä»
6 å¤ç©ºä¸²`''âNone` | éè¿ | |
| | | | 6 | 7 æå¯¼åºç«¯å°ç«¯ | æ°ç弿¯ç+å¤ä»½çæ 2026-07 | æ åºè²ãæ ¼å¼ç»ä¸ãæ ¡éªè¡åºè²ä¸å¤æ´» | fills=0ï¼åºç§/å
¬äº¤æå¼ 0.00ã忝 0.00%ã`è´§è¿`r117/118 æ ¡éªè¡ 0.00 䏿 åºè²ï¼æ®ä½ä»
å表éçæ¥æéç¹å | éè¿ | |
| | | | 7 | 8 æå¯¼åºç«¯å°ç«¯ | çæ 2026-08 | ä¸ 8 ææ¯ç 0 å·®å¼ãæ åºè² | å¼ diff=0ï¼fills=0ï¼æ½æ¥æ ¼å¼æ£ç¡® | éè¿ | |
| | | | 8 | Java ç¼è¯ | `mvn -q -DskipTests compile` | exit=0 | exit=0 | éè¿ | |
| | | |
| | | ## åãåç°çé®é¢ä¸å¤ç½® |
| | | 1. **骨æ¶ç©ºåè¿åæ¶æ ¼å¼ä¸¢å¤±/åºè²å¤æ´»**ï¼æ¯ç 5-7 æåå·²æ¸
空ï¼å«åæ¯å
¬å¼ï¼ï¼å¯¼åºè¿ååªåå¼ä¸åæ ·å¼ï¼å¯¼è´æ´æ°å¼æ¾ç¤º `1234`ï¼ç¼º .00ï¼ã忝å
¬å¼ä»¥ General æ¾ç¤ºå°æ°æ¯ä¾ã`è´§è¿`r117/118 æ ¡éªè¡æå¤ä»½æ§åºè²å¸¦åï¼30 æ ¼ï¼ã |
| | | å¤ç½®ï¼(a) å¤ä»½æºæä»¶ååçå¼ç»ä¸ï¼å»åºè²ã0.00ãæå 0ï¼ï¼(b) Java æ°å¢ `applyDonorNumberFormat`ï¼è¿ååå¡«æ¶åæ¥ donor æ°åæ ¼å¼ï¼åæ¯/æ´æ°å¼/æ ¡éªè¡æ¾ç¤ºç»ä¸ã |
| | | 2. **å宽被é¿å
¬å¼æç**ï¼é¦çèªéåºæå
¬å¼ææ¬è®¡å
¥å®½åº¦ï¼I/V/Xâ¦å被æå° 42ãå¤ç½®ï¼å®½åº¦ä»
æéæå
容计ç®ãé¿å
¬å¼ä¸è®¡å®½ãæ°å¼/å
¬å¼åä¿åº 12ã |
| | | 3. **åè¯ä¹è¯¯å¤**ï¼è¡ 3 ææ¬¡æ¥æåºåï¼46082â¦ï¼æ¾ä½¿æ´å被å¤âæ¥æåâæ¼å½ä¸ãå¤ç½®ï¼æ¥ææ ¼æ° ⤠æ°å¼æ ¼æ°æ¶ææ°å¼åå½ä¸ï¼æ¥æåºåæå¨åå
æ ¼æ ¼å¼ä¸å¨ï¼ã |
| | | 4. **Excel å ç¨ 8 ææ¯ç**ï¼openpyxl æ æ³è½çï¼çå¾
ç¨æ·å
³éçªå£åè¦çï¼é¢è§å¯æ¬å
è¡æä¾æ¡é¢ã |
| | | 5. **æ¥æéç¹åï¼å表éçï¼**ï¼2019-2026 åºåå· General ææ¬¡è¡ï¼å¦`å
¬è·¯æ»å®¢è¿`r2 60 æ ¼ã`ä¸å£å¾è®¡ç®è¿ç¨`A å 192 æ ¼ï¼éæ°æ®ï¼æªæ¹å¨ï¼å¦éç»ä¸ä¸ºæ¥ææ¾ç¤ºå¯å¦è¡ææ¿ã |
| | | |
| | | ## äºãç»è®º |
| | | - çå¼ç»ä¸å项è§åå¨ 7/8 ææ¯çä¸å¯¼åºäº§ç©ç«¯å°ç«¯çæï¼å
¨ç°¿å
容鶿¹å¨ã |
| | | - åç»ï¼8 æå½ææ°æ®å¯¼å
¥åæ M2/M3 å¡«å¼å¹¶å¤éªï¼æ¥æéç¹åæ¾ç¤ºæ¹å¼å¾
ä¸å¡ç¡®è®¤ã |