zhizhijie
4 天以前 978526b474da9a495554ddc924bd736c52bb549b
docs: 汇总大表验收改按四层口径(母版只作版式来源、不再作等价基线)
1个文件已添加
2个文件已修改
129 ■■■■■ 已修改文件
docs/生成计算参照与验收口径_2026-10-13.md 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/确认回执汇总与剩余疑问_汇总大表数据驱动改造_2026-09-07.md 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/要求与验收基线清单.md 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/Éú³É¼ÆËã²ÎÕÕÓëÑéÊÕ¿Ú¾¶_2026-10-13.md
New file
@@ -0,0 +1,103 @@
# ç”Ÿæˆè®¡ç®—参照与验收口径(2026-10-13 æ±‡æ€»ï¼‰
> ä¸€é¡µå›žç­”两件事:① æ±‡æ€»å¤§è¡¨çš„"生成计算"**参照了同事专项统计的哪些做法**;② **每次出表怎么验收**(四层验收,已脚本化)。
> æ¥æºï¼š`docs/汇总大表M0版式重建器规格_2026-10-06.md` ç¬¬åä¸€èŠ‚ï¼ˆ2026-10-08 å¯¹é½è¡¨ï¼‰ã€`docs/汇总大表生成数据验证方法_2026-10-12.md`、`docs/要求与验收基线清单.md` R6、`docs/确认回执汇总…_2026-09-07.md` ç¬¬å…«èŠ‚ã€‚
## ä¸€ã€å‚照同事「专项统计」的映射(2026-10-08 åŽŸæ–‡å¯¹é½è¡¨ï¼‰
| åŒäº‹ä¸“项统计的做法 | ä»–为什么能成立 | æ±‡æ€»å¤§è¡¨çš„对应做法 | çŠ¶æ€ |
|---|---|---|---|
| ä¸€ä»½æ¯ç‰ˆï¼ˆ`2026年十一数据.xlsx`),**天为行、年为列** | å¢žé•¿ç»´åº¦æ˜¯ã€Œå¹´ã€ã€å¤©æ•°å›ºå®š 8 | æŒ‰ **F10 æŒ‰æœˆæŒ‰éœ€æ‰©åˆ—**:读 N æœˆæ¯ç‰ˆäº§å‡º N+1 æœˆç‰ˆå¼ï¼ˆä¸é¢„留空列),母版只当版式来源 | âœ… å·²å®žçŽ°ï¼ˆæ‰©åˆ—å™¨ï¼‰ |
| æ¯ç‰ˆ**同时是数据容器**(历史年份值就在并排年列里) | åŽ†å²å€¼éšæ¨¡æ¿èµ° | **反过来做**:历史参照值入库、母版只留版式、参照组由 DB å›žå¡« | â¬œ æœªå®žæ–½ï¼ˆ10-08 å®šæ–¹å‘) |
| è¡¨å¤´/行标签**语义定位**(`findYearColumn`/`parseDayIndex`) | åˆ—序变了也能导 | é¡µè§„则表 `SummarySheetRule`:**按表头认月份组、按行标签认市州/指标,不硬编码列锚点** | ðŸš§ éƒ¨åˆ†ï¼ˆæœˆåº¦å—还依赖母版公式;2026-09 æ¼æœˆå³æºäºŽæ­¤ï¼‰ |
| æ˜“漂移口径**外置成表**(`holiday_calendar`/`passenger_coefficient`/`vehicle_adjustment`) | è§„则不散在代码与单元格里 | å¤–置:参照年保留组数、排名口径(全省不排名)、`B=G+L/2+Q/10`、缺数置空规则 | ðŸš§ éƒ¨åˆ† |
| `DECIMAL(30,15)` + `BigDecimal` + æŒ‰ Excel æ˜¾ç¤ºç²¾åº¦å–值 | ç²¾åº¦å£å¾„统一、无浮点尾差 | æ‰¿æŽ¥å¾…办「16 å¼ è¡¨ 228 ä¸ª double åˆ—改 DECIMAL+BigDecimal」;已做 F1 å…¨ç²¾åº¦å­˜å‚¨ï¼‹ä¸¤ä½å°æ•°æ˜¾ç¤ºã€æ¯ç‰ˆæ–‡æœ¬æ•°å­—归一 | ðŸš§ éƒ¨åˆ† |
| **导入两阶段确认** + å…¨ç¨‹åªè¯»æ ¸å¯¹ï¼ˆåŽ†å²æ•°æ®ä¸è¢«è¯¯è¦†ç›–ï¼‰ | å…ˆå‡ºå·®å¼‚清单、用户确认后才写 | **生成前先出缺数/差异清单、人工确认后再出表**(B4 åŸºæ•°ä½“检 + ã€Šæ•°æ®ç¼ºå¤±æ¸…单》页) | âœ… å·²å®žçް |
| è¾“出走模板文件(docx/PNG) | ç‰ˆå¼æ¥æºå•一 | ä¿ç•™çŽ°æœ‰åšæ³•ï¼ˆå¿«æŠ¥æ”¹ `word/document.xml`、JFreeChart å‡º PNG) | â€” |
**一句话**:借的是**方法与纪律**(语义定位、口径外置、两阶段确认、精度统一),**不照搬**他"母版兼数据容器"的做法——我们反过来让历史值入库。
## äºŒã€ç”Ÿæˆè®¡ç®—的分段与各自参照(2026-10-12《生成数据验证方法》)
原则:**每一段都要有一个独立于该段的参照**;两边同源就验不出东西。
| æ®µ | é—®é¢˜ | å‚ç…§ | è°è´Ÿè´£ | ç¨‹åºèƒ½è‡ªè¯ |
|---|---|---|---|---|
| L0 æºæ–‡ä»¶â†’库 | æºæ•°æ®å¯¹ä¸å¯¹ | æºæ–‡ä»¶/下发表模板 | æ•°æ®ã€ä¸šåŠ¡ | ä¸èƒ½ |
| L1 åº“→口径值 | ç®—法口径对不对 | **手写 SQL å¤ç®—**(不看母版/定稿) | ç¨‹åº | èƒ½ |
| L2 å£å¾„值→单元格 | å†™å›žå¯¹ä¸å¯¹ | ä¸Šä¸€æœŸæ¯ç‰ˆ/生成件("不该动的格未变") | ç¨‹åº | èƒ½ |
| L3 å•元格→整本 | ä¸Žäººå·¥å®šç¨¿ä¸€è‡´å— | æ‰‹å·¥å®šç¨¿ï¼ˆ**记版本 + sha256**) | åŒæ–¹å¤æ ¸ | éƒ¨åˆ† |
| L4 è·¨é¡µåˆæˆé¡µ | å‹¾ç¨½å¯¹ä¸å¯¹ | å‹¾ç¨½å¼æœ¬èº«ï¼ˆå¦‚ `道路运输周转量 B=G+L/2+Q/10`) | ç¨‹åº | èƒ½ |
典型失败模式(原文):L0 æ¼å¯¼/列错位/单位差 10000/重复导入叠加;L1 è§„下倒减为负、Σ市州≠省行;L2 å½“月列没写、上期列被重算冲掉、公式断链;L3 æŠŠ"定稿滞后"当"程序回归";L4 æºé¡µå¯¹è€Œåˆæˆé¡µå¼•用错列。
## ä¸‰ã€æ¯æ¬¡å‡ºè¡¨çš„四层验收(脚本化;与第二节的分段是两套切分,别混)
工具:`汇总表四层验收.py`(L1–L4)+ `汇总表全盘体检.py`(增量版,含 A/B/C/D)。命令:
```
python æ±‡æ€»è¡¨å››å±‚验收.py <生成表.xlsx> --源表 <当期源表.xlsx> --上期 <上期件.xlsx> --报告 éªŒæ”¶æŠ¥å‘Š.txt
```
| å±‚ | æŸ¥ä»€ä¹ˆ | çœŸå€¼/依据 | é€šè¿‡æ ‡å‡† |
|---|---|---|---|
| éªŒæ”¶ L1 ç»“构断言 | å…¨ç°¿å…¬å¼ä¸Žè¡¨å¤´ | è¡¨å¤´æœ¬èº« | ç´¯è®¡=当年 1..M æœˆä¹‹å’Œï¼›ç´¯è®¡åŒæ¯”分母=去年 1..M æœˆï¼›**历史列零变化**;无月首日期串;`#REF!`=0 |
| éªŒæ”¶ L2 ä¸Žæºè¡¨ | 8 ä¸ªå¯è§å°è´¦é¡µ | **当期业务源表** | é€æ ¼ diff=0;差异须逐条结论并签核 |
| éªŒæ”¶ L3 å†…部勾稽 | å…¨ç°¿ | ç”± L2 æŽ¨å¯¼ | å…¨çœ=Σ市州;累计=Σ各月;排名/占比自洽 |
| éªŒæ”¶ L4 è·¨æœŸæŠ¥è­¦ | å…¨ç°¿ | ä¸ŠæœŸä»¶ | åŒå£å¾„环比超阈值(默认 Â±30%、基数≥100)即提示 |
**白名单机制**:已知且已解释的差异显式登记(轮渡块形态、母版模板遗留日期值、源表自带脏值被清空…);**白名单之外任何差异=不通过**,不再靠人工逐条解释。
**两套切分的对应关系**(重要):
| éªŒæ”¶å››å±‚ | è¦†ç›–第二节的哪一段 |
|---|---|
| éªŒæ”¶ L1 ç»“构断言 | é“¾æ¡ L2(写回层)为主 |
| éªŒæ”¶ L2 ä¸Žæºè¡¨/定稿 | é“¾æ¡ L3(出表层);源表可用时也覆盖 L0 çš„结果 |
| éªŒæ”¶ L3 å†…部勾稽 | é“¾æ¡ L4(合成页) |
| éªŒæ”¶ L4 è·¨æœŸæŠ¥è­¦ | é“¾æ¡ L1 çš„"环比异常"体检 |
| **未覆盖** | **链条 L1 çš„"SQL é”šç‚¹å¤ç®—"尚未脚本化(待办)** |
## å››ã€é€šè¿‡æ ‡å‡†ä¸Žä¸‰æ¡çºªå¾‹
- **通过**=四层全过 + ç™½åå•外零差异;**任一未覆盖 â†’ ç»“论只能写"未覆盖",不得写"已验证"**。
- çºªå¾‹ â‘ **独立参照**(同源互比等于没验);②**一次只换一个变量**(换代码/换数据/换母版分开验);③**差异先分类再结论**(结构/格式/浮点尾差只计数,实质数值差异进清单)。
- è´£ä»»è¾¹ç•Œï¼šç¨‹åºä¿è¯"**不搬错 + ä¸Žæºè¡¨ä¸€è‡´ + å¯è¿½æº¯**";**数据本身的正确性**由导入审核 + ä¸šåŠ¡å£å¾„ç¡®è®¤ + æ¯æœŸç­¾æ ¸è´Ÿè´£ã€‚
## äº”、待办(按优先级)
1. é“¾æ¡ L1 çš„ **SQL é”šç‚¹å¤ç®—脚本化**(全省 + 2 å¸‚州,覆盖 è§„上/规下/合计/周转量/中口径/城市内)。
2. **历史参照值入库**、母版只留版式(10-08 å·²å®šæ–¹å‘)。
3. è½®æ¸¡å— 8 æ ¼å£å¾„确认(当前列白名单);跨年(2027-01)扩列规则;"缺当月母版时自动扩列"接主链。
## å…­ã€ã€Œçº¦å®š 8 æ¡ã€vs çŽ°çŠ¶ vs çŽ°åšæ³•ï¼ˆ2026-10-13 æ ¸å®žï¼‰
| # | çº¦å®šå¯ä»¥å‚ç…§çš„ | åšäº†å— | çŽ°åœ¨å®žé™…æ€Žä¹ˆåš |
|---|---|---|---|
| 1 | æŒ‰éœ€å¢žé•¿åˆ— â†’ F10 æŒ‰æœˆæŒ‰éœ€æ‰©åˆ— | âœ… | æ‰©åˆ—器已实现;底稿取 `_cache\summaryWorkbook_<期>_month_v*.xlsx`;**未接主链**(`resolveSummaryMother` åªç²¾ç¡®åŒ¹é…ï¼‰â†’ æ¯æœˆä»éœ€äººå·¥ä¸€æ­¥ï¼ˆæ‰©åˆ—→确认落盘→生成) |
| 2 | è¡¨å¤´/行标签语义定位 | ðŸš§ | å·²åšï¼šè¡¨å¤´åŠ¨æ€å®šä½ã€æŒ‰ã€ŒA å¸‚州名 + B æŒ‡æ ‡æ–‡æ¡ˆã€å®šä½è¡Œã€æ‰©åˆ—按基准月份列判表头、累计/累计同比按表头重建(2026-10-13 æ–°å¢žï¼‰ã€‚未做:页规则表 `SummarySheetRule`(用启发式替代) |
| 3 | è¾“出走模板文件 | âœ… | å¤åˆ¶æ¯ç‰ˆ â†’ å›žå¡«/还原 â†’ æŽ’名页按母版标题格对齐搬块 â†’ 7 æ ‡é¢˜é¡µæŒ‰ period çް写 |
| 4 | å£å¾„外置成表 | â¬œ | å†™æ­»åœ¨ä»£ç /母版:系数 `2、10`、排名口径、缺数置空规则 |
| 5 | ç²¾åº¦ç»Ÿä¸€ï¼ˆDECIMAL+BigDecimal) | â¬œ | ä»èµ° double;已做 F1 å…¨ç²¾åº¦ï¼‹ä¸¤ä½å°æ•°æ˜¾ç¤ºã€æ¯ç‰ˆæ–‡æœ¬æ•°å­—归一 |
| 6 | ä¸¤é˜¶æ®µç¡®è®¤ï¼‹åªè¯»æ ¸å¯¹ | âœ…(环节不同) | åŒäº‹åœ¨å¯¼å…¥ä¾§åšï¼›æˆ‘们在**生成侧**做(缺数清单+货运体检+导出前弹窗+《数据缺失清单》页)。**导入侧仍是重复导入直接覆盖** |
| 7 | äºŒç»´è¡¨ä¸‰å±‚职责 | ðŸš§ | åŽŸå§‹å€¼ âœ…(导入表齐全);配置值、人工调整值**均无表**;**Excel ä»æ‰¿æ‹…历史值存储**(2025 å‚照值在母版里) |
| 8 | äººå·¥è°ƒæ•´å€¼å•独建表(覆盖层) | â¬œ | é  `_备份_`/`_bak_` æ¯ç‰ˆ + äººå·¥æ”¹æ¯ç‰ˆå…œ |
**不可照搬 3 æ¡çš„æ‰§è¡Œ**:不把 Excel å½“数据源 âœ…(业务数据走 DB,但历史参照值仍在母版 âš ï¸ï¼‰ï¼›æ¯ç‰ˆåªç•™ç‰ˆå¼ â¬œï¼›ç‹¬ç«‹ã€Œæ–°å¹´ç»„」逻辑 âŒï¼ˆè·¨å¹´ `month>=12` æŠ›é”™ï¼‰ã€‚
## ä¸ƒã€ä»»åŠ¡æ¸…å•ï¼ˆå€Ÿ 3 æ¡ + è‡ªå»º 3 æ¡ï¼‰
**借同事的**:① è¯­ä¹‰å®šä½ï¼ˆæ¯”对与定位都不硬编码列锚点);② å‚照值入库、母版只留版式(阶段 2 æ ¸å¿ƒï¼‰ï¼›â‘¢ å£å¾„与人工调整外置成表 + è¦†ç›–层留痕(覆盖值+原因+时间)。
**自建**:④ **SQL é”šç‚¹å¤ç®—**(链条 L1,唯一能发现"源表自身错"的层);⑤ **L2 æ¯”对覆盖补齐**(班线包车/网约车/货运,用语义映射);⑥ **L4 è·¨æœŸé˜ˆå€¼æŠ¥è­¦**(已实现)。
## å…«ã€2026-10-13 è¯­ä¹‰æ¯”对结果(新增脚本 `汇总表语义比对.py`)
按「行=市州+指标、列=å¹´+月+类型」归位后比对 2026-09 ç”Ÿæˆä»¶ ä¸Ž æ¡Œé¢æºè¡¨ï¼š
| é¡µç­¾ | å¯æ¯”行 | å·®å¼‚ | ç»“论 |
|---|---|---|---|
| ç­çº¿åŒ…车 | 54 | **0** | âœ… åŽŸè¢«"表头布局不同"跳过,现可比且完全一致 |
| å…¬äº¤ / å‡ºç§Ÿ / åŸŽå¸‚客运 / å…¬è·¯æ€»å®¢è¿ / è½¨é“、轮渡 | 72/69/36/36/10 | **0** | âœ… |
| ç½‘约车 | 72 | 8 | âš ï¸ å…¨çœ 4 ä¸ªæŒ‡æ ‡çš„ 2026-09 å½“月值 = ç”Ÿæˆ 0、源表有值(4997.74 / 29166.70 / 4571.18 / 23367.09);同比 = **-100%**。属**库内 9 æœˆç½‘约车缺数**(订单/pin æœªå¯¼ï¼‰ï¼Œéžç®—é”™ â†’ **但"缺数期同比显示 -100%"应改为留空**(待处理) |
| ä¸­å£å¾„明细 / ä¸­å£å¾„客运量 | 181 | 62 / 22 | å·®å¼‚全为 `生成=None / æº='#DIV/0!'` â†’ **源表脏值被清空**(生成件更干净) |
**结论**:把语义比对补上后,`班线包车` å¯è¯å®žä¸€è‡´ï¼›`网约车` çš„差异可归因到"缺数",不属于算错。
docs/È·ÈÏ»ØÖ´»ã×ÜÓëÊ£ÓàÒÉÎÊ_»ã×Ü´ó±íÊý¾ÝÇý¶¯¸ÄÔì_2026-09-07.md
@@ -28,7 +28,7 @@
| D3 | æ¯å¹´æ–°å¼€ä¸€æœ¬ï¼ˆå«ä¸Šä¸€å¹´å‚照组);2026 æ±‡æ€»è¡¨åªåˆ° 2026-12 |
| D4 | ç”¨æˆ·æŒ‡å®š period;缺数月份列提示清单 |
| D5 | ç‹¬ç«‹å°è¡¨ä¸ç»§ç»­ç”Ÿæˆï¼ˆè§å‰©ä½™ç–‘é—® Q2) |
| E1 | éªŒæ”¶ï¼šå…ˆå›žå½’“生成 2026-07 == å·²ä¿®æ­£æ¯ç‰ˆ diff=0”,再过 8 æœˆ |
| E1 | éªŒæ”¶ï¼šå…ˆå›žå½’“生成 2026-07 == å·²ä¿®æ­£æ¯ç‰ˆ diff=0”,再过 8 æœˆ **【2026-10-13 å·²ä¿®è®¢ï¼šæ¯ç‰ˆå·²éª¨æž¶åŒ–,不再作等价基线;验收改按四层口径,见文末第八节】** |
| E2 | 8 æœˆéªŒè¯ï¼šç³»ç»Ÿè‡ªåŠ¨ç”Ÿæˆ vs äººå·¥æ¯”对;逐市州加总=全省;与源月报逐项对齐 |
| E3 | ç¼ºæ•°â†’汇总表留空+提示清单;轨迹测算等审核脏数据不进入大表 |
@@ -74,3 +74,24 @@
- ä»¥æœ¬ã€Šç¡®è®¤å›žæ‰§æ±‡æ€»â€¦ã€‹æ–‡æ¡£ä¸ºå”¯ä¸€å†³ç­–基线;凡已在 A1-E3 / Q1-Q3 / æœ¬è¡¨ç¡®è®¤è¿‡çš„口径,直接执行,不再重复提问。
- åªå°±æ–‡æ¡£æœªè¦†ç›–的新决策向用户提问。
## å…«ã€2026-10-13 ä¿®è®¢ï¼šéªŒæ”¶å£å¾„(替代 E1 åŽŸæŽªè¾žï¼‰
**修订原因**:E1 å†™äºŽæ”¹é€ åˆæœŸï¼Œå½“时「母版 â‰ˆ æ‰‹å·¥å®šç¨¿ä»¶ã€ï¼Œæ•…「生成 == æ¯ç‰ˆ diff=0」成立。此后母版被骨架化
(当期列留空、排名页与四张合成页存的是上一期静态值),相等关系不再成立(实测:生成 2026-09 ä¸Žæ¯ç‰ˆç›¸æ¯”,
差异全部落在「母版留空由生成回填」与「排名/合成页按当期重算」两类,**生成空、母版有值 = 0 å¤„,无丢数**)。
**新口径:验收=四层(全部通过才可交付)**
| å±‚ | æŸ¥ä»€ä¹ˆ | çœŸå€¼/依据 | é€šè¿‡æ ‡å‡† |
|---|---|---|---|
| L1 ç»“构断言 | å…¨ç°¿å…¬å¼ä¸Žè¡¨å¤´ | è¡¨å¤´æœ¬èº« | ç´¯è®¡=当年 1..M æœˆä¹‹å’Œï¼›ç´¯è®¡åŒæ¯”分母=去年 1..M æœˆï¼›**历史列(去年及以前)零变化**;无月首日期串写入;`#REF!`=0 |
| L2 å°è´¦æ•°å€¼ | 8 ä¸ªå¯è§å°è´¦é¡µ | **当期业务源表** | é€æ ¼ diff=0;有差异须逐条给出结论并签核 |
| L3 å†…部勾稽 | å…¨ç°¿ | ç”± L2 æŽ¨å¯¼ | å…¨çœ=Σ市州;累计=Σ各月;排名/占比自洽 |
| L4 è·¨æœŸæŠ¥è­¦ | å…¨ç°¿ | ä¸ŠæœŸä»¶ | åŒå£å¾„环比超阈值(默认 Â±30%,基数≥100)即提示 |
- **母版只作版式来源,不作验收基线**;验收基线 = å½“期业务源表 + ä¸šåŠ¡ç¡®è®¤åŽçš„å®šç¨¿ä»¶ï¼ˆå»ºè®®å…¥åº“ä¸º
  `docs/生成汇总大表/基线/golden_YYYY-MM.xlsx`)。
- **白名单机制**:已知且已解释的差异(如轮渡块形态、母版模板遗留日期值、源表自带脏值被清空)显式列入白名单;
  **白名单之外的任何差异=不通过**,不再靠人工逐条解释。
- å·¥å…·ï¼š`汇总表四层验收.py`(用法见文件头);2026-09 å®žæµ‹ï¼šL1/L2/L3/L4 å…¨é€šè¿‡ï¼Œç™½åå• 36 æ¡ã€‚
- è¯´æ˜Žï¼šæœ¬å£å¾„保证「程序不把对的数据搞错 + ä¸Žæºè¡¨ä¸€è‡´ + å¯è¿½æº¯ã€ï¼›**数据本身的正确性**仍由导入审核 + ä¸šåŠ¡å£å¾„ç¡®è®¤ + æ¯æœŸç­¾æ ¸è´Ÿè´£ã€‚
docs/ÒªÇóÓëÑéÊÕ»ùÏßÇåµ¥.md
@@ -33,9 +33,10 @@
|---|---|---|---|
| R1 | é€æœˆæ‰©å±•生成;保留母版缓存与母版程序复制;累计公式去掉未到月份、同比分母联动 | âœ… M0/M1 | |
| R2 | ç”Ÿæˆâ€œé“路运输量汇总表(整本)”= å½“月表 + ç´¯è®¡ï¼ˆ1-X月)| âœ… | |
| R3 | ç”Ÿæˆç‰©ä¸Žæ¯ç‰ˆ/库 0 å·®å¼‚为验收标准(含中口径分析页、排名页累计块) | âœ… 7月回归 | |
| R3 | ç”Ÿæˆç‰©ä¸Žæ¯ç‰ˆ/库 0 å·®å¼‚为验收标准(含中口径分析页、排名页累计块) | âœ… 7月回归(**2026-10-13 å·²ä¿®è®¢**:母版已「骨架化」=当期列留空+排名/合成页存上期静态值,不能再当等价基线;验收改按 R6) | |
| R4 | ç‹¬ç«‹å°è¡¨ä¿ç•™ä½†å‰ç«¯éšè—ï¼Œç­‰å¤§è¡¨è·‘通后可取消 | âœ… æ‹æ¿ | |
| R5 | æŽ’名/分析/汇总的**当月数据**要与累计数据分别计算,禁止把累计值当当月值 | ðŸš§ M2/M3 å®žå¼¹ | |
| R6 | **验收=四层**(2026-10-13 å®šï¼Œæ›¿ä»£åŽŸ E1/R3 çš„“与母版 diff=0”):L1 ç»“构断言(累计=当年1..M月之和、累计同比分母=去年1..M月、历史列零变化、无月首日期串/无错误值);L2 ä¸Ž**当期业务源表**逐格比对(0 å·®å¼‚,差异须逐条结论并签核);L3 å†…部勾稽(全省=Σ市州、累计=Σ各月、排名/占比自洽);L4 è·¨æœŸæŠ¥è­¦ï¼ˆä¸Žä¸ŠæœŸä»¶åŒå£å¾„环比,超阈值提示——唯一能兜“没见过的新错误”的一层)。工具:`汇总表四层验收.py`;**白名单之外的任何差异=不通过**;母版只作版式来源、不作等价基线 | ðŸš§ å·¥å…·å·²å°±ç»ªï¼ŒE1 æŽªè¾žå·²åŒæ­¥ä¿®è®¢ | |
## å››ã€å®¡æ ¸è§„则
| ç¼–号 | è¦æ±‚ | çŠ¶æ€ | å¤‡æ³¨ |