docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-21.md
@@ -58,9 +58,22 @@
     **导出「按月分目录 + è‡ªåЍ备份 + è¿è¡Œæ—¥å¿—/校验报错」未实现**(Q10 å·²ç­”同意);
  6. å¯¼å‡ºå‰åŸºæ•°ä½“检(B4)只做了一半:后端 `getLastMidIssues()` **无任何调用方**,前端未消费、无《数据缺失清单》页。
### 5. åå °ç‰©æµæºæ–‡ä»¶æ¸…理(用户「清除掉」)+ æŠ•资系统新模板支持
- **十堰源文件清理(数据处置)**:`docs/投资/输入/物流(物流园区)/8月/湖北省十堰交通物流基础设施投资统计汇总表(月报)(2026å¹´8月).xls`
  é‡Œçš„æ­¦æ±‰æ®µï¼ˆ27 ä¸ªé¡¹ç›®ï¼‰ä¸Žé»„石段(4 ä¸ªé¡¹ç›®ï¼‰ç”¨ Excel COM æ•´è¡Œåˆ é™¤ï¼ˆç¬¬ 11~63 è¡Œï¼‰ï¼Œåªç•™åå °æ®µï¼ˆ7 ä¸ªé¡¹ç›®ï¼‰ï¼›
  åŽŸä»¶å…ˆå¤‡ä»½åˆ° `docs/投资/输出/源文件备份/…_原始含武汉黄石_20260921.xls`。
  é‡å¯¼éªŒè¯ï¼šè¯¥æ–‡ä»¶ç”± **38 æ¡ â†’ 7 æ¡**,8 æœˆç‰©æµ total 128 â†’ 97,库内仍是 152 ä¸ªé¡¹ç›® / 136 æ¡ 2026-08 æœˆåº¦æ•°ï¼ˆä¸å¢žä¸å‡ï¼‰â†’ **残留问题闭环**。
- **投资系统导出新模板**:用户把比对明细表换成《2026å¹´8月投资系统项目明细》(多「项目所处阶段」、少「自年初累计」,列位整体右移)。
  åŽŸå®žçŽ°å†™æ­» 8 åˆ— â†’ æ”¹ä¸º**按表头关键字定位**(`findColByKeywords`),兼容新旧模板;缺列时 `year_cum` ç•™ç©ºè€Œä¸æ˜¯é”™å¡«ã€‚
  æ–°æ¨¡æ¿ 129 æ¡å·²å…¥åº“(`investment_system` 2026-08 = 129,2026-07 = 148 ä¸å—影响),字段逐列抽查一致。
- **审核「基准缺失」保护**:新模板没有「自年初累计」,原 `nvl()` ä¼šæŠŠ NULL å½“ 0 â†’ 100+ æ¡è¯¯æŠ¥ã€‚改为基准为 NULL æ—¶è·³è¿‡å¹¶è®° WARN æ—¥å¿—。
  å®žæµ‹ï¼šRULE_I002 ç”±ã€Œæ¯ä¸ªé¡¹ç›®ä¸€æ¡ã€é™ä¸º **0 æ¡**;RULE_I001 2 æ¡ã€RULE_I003 1 æ¡ã€RULE_I004(存在性)25 æ¡ï¼Œåˆè®¡ 28 æ¡å‡ä¸ºçœŸå®žå·®å¼‚。
## äºŒã€æµ‹è¯•结果摘要
- æœ¬æ¬¡**无代码改动**,无《功能测试报告》(仅有数据核查)。
- è§ã€ŠåŠŸèƒ½æµ‹è¯•æŠ¥å‘Š_投资系统新模板按表头解析与审核基准缺失保护_2026-09-21.md》:**11 æ¡ç”¨ä¾‹é€šè¿‡**(正向 6 / è´Ÿå‘ 1 / å›žå½’ 4)。
- ä¸ŠåŠæ—¥ï¼ˆæ±‡æ€»å¤§è¡¨åŒè½¨åˆ¶å®šä½ï¼‰ï¼šæœ¬æ¬¡**无代码改动**,无《功能测试报告》(仅有数据核查)。
- æ•°æ®æ ¸æŸ¥å£å¾„:全部结果与库内 `h2031_enterprise_monthly` / `passenger_individual_monthly` /
  `city_bus_monthly` / `city_taxi_monthly` / `wyc_order_monthly` çŽ°ç®—å€¼é€ä½æ¯”å¯¹ï¼Œ17 å¸‚å·ž Ã— 8 ä¸ªæœˆï¼Œ
  ä¸€è‡´æ€§è¾¾ 1e-9;复现脚本与中间输出已留档(见上)。
@@ -108,3 +121,12 @@
**本次无代码改动**,属数据类工作,故不另出《功能测试报告》。
**待用户确认**:① äº¤ä»˜åŒ…是否需要压缩 zip(50 MB â†’ ä¾¿äºŽå¾®ä¿¡/网盘传输);② åŒäº‹çŽ¯å¢ƒè‹¥ä¸º MySQL 5.7,需另出一份 5.7 ä¸“用导出;③ æ˜¯å¦éœ€è¦æŠŠ `docs/`(母版、投资源文件)一并打包 â€”— è¯¥éƒ¨åˆ†å·²åœ¨ git ä»“库内,clone å³å¯èŽ·å¾—ã€‚
### äº”之补充:10:34 å¤æŸ¥å‘现备份已过期,已重新导出
- ç”¨ `CHECKSUM TABLE` å¤æ£€ 10:17 é‚£ä»½å¤‡ä»½æ—¶å‘现 4 å¼ è¡¨æ ¡éªŒå’Œä¸ä¸€è‡´ï¼Œè¿›ä¸€æ­¥æŸ¥ `COUNT(*)`:`audit_result` 3393→3421、`import_batch` 417→419、`investment_system` 148→277、`investment_monthly` 284→284(行数同但内容变),最后写入时间 10:20~10:22
  â†’ å³ **10:17 å¯¼å‡ºä¹‹åŽï¼Œå¦ä¸€ä¸ªä¼šè¯ï¼ˆæäº¤ 2e6830b)又往库里导入了投资系统数据**,旧备份已过期。
- å·²é‡æ–°å¯¼å‡ºï¼š**10:34:57,52,030,977 å­—节,合计 128,962 è¡Œ**(旧份 128,803 è¡Œï¼‰ï¼Œã€Šè¿˜åŽŸè¯´æ˜Žã€‹å·²æŒ‰æ–°æ•°æ®é‡å†™ï¼ˆå«æ–‡ä»¶ SHA256)。
- é‡æ–°éªŒè¯ï¼ˆä¸‰å±‚,全过):结构 `CREATE TABLE` 29/29;逐表 `COUNT(*)` 29/29 ä¸€è‡´ï¼›`CHECKSUM TABLE` 29/29 ä¸€è‡´ï¼›`mysqldump --order-by-primary` æœ‰åºå¯¼å‡ºä¸¤ä»½æ•°æ®æ–‡ä»¶ **SHA256 å®Œå…¨ç›¸åŒ**(逐行内容一致)。
- **经验**:备份只是某一时刻的快照,导完之后只要还在导数据/跑审核就旧了;交付前必须最后再导一次。
- æ–°å¢žæ–‡æ¡£ï¼š`docs/工具/数据库备份与还原操作步骤.md`(备份参数说明 / ä¸‰æ­¥éªŒè¯ / è¿˜åŽŸ / å¸¸è§é—®é¢˜ï¼Œå‘½ä»¤å¯ç›´æŽ¥å¤åˆ¶ï¼‰ã€‚