docs(交接): 09-29 记录——用户手工改母版(格式+删草稿)、G20 措辞按用户手工改动登记忽略、母版扩列器立项;工具加 USER_EDITS 类别
3个文件已修改
13 ■■■■■ 已修改文件
HANDOFF.md 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/工具/汇总大表差异比对.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/生成汇总大表/2026年8月道路运输量汇总表.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
HANDOFF.md
@@ -30,6 +30,11 @@
  - ç»“果:按当前母版重新生成 2026-08 åŽï¼Œä¸Žæ‰‹å·¥å®šç¨¿çš„**需处理差异 = 0**,其余全部落在"已忽略(约定差异)"。清单:`docs/问题汇总/_清单_母版最新生成件_20260928.md/.csv`(本地,不入库)。
  - æ³¨æ„ï¼šæ¡Œé¢é‚£ä»½ `生成_道路运输量汇总表_2026-08.xlsx` æ˜¯æ—§å¯¼å‡ºï¼ˆå«æ—§é”™è¯¯å€¼/旧基数),与更新后的定稿比对会显示较多差异,以"母版重新生成件"为准。
- **无表头草稿列清单(9 å¤„,共 539 æ ¼ï¼‰**:`公交/出租/网约车!U`(各 72)、`城市客运!U`(36)、`班线包车!DU`(55,表头"1-3月累计")、`中口径明细!U`(90)、`中口径客运量!AB`(180)、` è´§è¿!V` ä¸Ž ` è´§è¿!AX`(各 74,用户所指 U åˆ—在手工那份右移一列)。母版/生成件**已全部清空**,手工定稿仍保留 â†’ å¯¹æ¯”时归入「已知设计(无表头草稿列)」。其余"无表头列"是合并表头的正常列(` è´§è¿!C…Q` æœˆä»½å€¼åˆ—、各年块尾部累计/累计同比列、排名页 R åˆ—等),两边都有、非草稿。明细见 `docs/问题汇总/_已确认差异清单_2026-08_20260928.md`。
- **09-29:用户手工改母版(仅格式 + åˆ é™¤è‰ç¨¿ï¼‰ï¼Œå¹¶ç«‹é¡¹æ¯ç‰ˆæ‰©åˆ—器**
  - ç”¨æˆ·è¯´æ˜Žæœ¬æ¬¡æ¯ç‰ˆæ”¹åЍ仅"调格式 + åˆ è‰ç¨¿",未动业务口径;指纹变化缓存自动失效,已重新生成核对:需处理 2 æ¡ â†’ `城市汇总!G20` æŒ‰"以用户手工改动为准"登记为**已知差异(用户手工改动)**(工具新增 `USER_EDITS`);剩 `班线包车!EO6` = `#DIV/0!`(WPS ä¿å­˜é‡ç®—产生,待定留白)。
  - **母版扩列器(方案 B)**:复用 `cloneColumnPair/moveColumnPair/cloneCellForMonth/cloneMergedRegion/copyColumnWidth/fixCumulativeFormulas` ä¸Ž `SummaryWorkbookFiller.ensureMonth*`;需新写"扩列编排 + æ¯é¡µè§„则配置 + å›žå½’自检"。**当年内每期一键、跨年加一次性"新年块"逻辑**;首次估 0.5~1 å¤©ã€‚等同事确认后先出《19 é¡µæ‰©åˆ—规格表》。
  - è¿è¡ŒçŠ¶æ€ï¼šåŽç«¯ 8090 / å‰ç«¯ 8080 å·²ç”± `start-dev.ps1` å¯åŠ¨ã€‚
  - ç”¨æˆ·æ¯ç‰ˆæ”¹åŠ¨å°šæœªæäº¤ï¼Œå¾…ç¡®è®¤åŽä¸Žæ‰©åˆ—å™¨ä¸€èµ·æäº¤ã€‚
- **待办**:① æŽ’名页结构(块顺序、标题措辞、市州名短名/全名、周转量排名多 7 è¡Œï¼‰ï¼›â‘¡ æŽ’名页结构(块顺序、标题措辞、市州名短名/全名、周转量排名多 7 è¡Œï¼‰ï¼›â‘¢ ç¼º 2026-09 æ¯ç‰ˆã€å¯¼å‡ºå‰åŸºæ•°ä½“检(P0-3)。
## æœ€æ–°ï¼ˆ2026-09-27)
docs/¹¤¾ß/»ã×Ü´ó±í²îÒì±È¶Ô.py
@@ -71,6 +71,9 @@
            if norm_indicator(indicator) == norm_indicator(pat): return True
    return False
# ç”¨æˆ·æ‰‹å·¥æ”¹åŠ¨ä¸ºå‡†ï¼ˆä¸å†è®¡å…¥å·®å¼‚ï¼‰
USER_EDITS = {("城市汇总", "G20")}
def num(v):
    return isinstance(v, (int, float)) and not isinstance(v, bool)
@@ -111,7 +114,8 @@
def main(gen, dgf, prefix):
    ACTION = ("实质数值差异", "错误值(程序)", "错误值(手工)", "需处理(非数值文本)", "文本不同")
    IGNORE = ("已忽略(单边有值)", "已忽略(结构/设计)", "取整尾差(可忽略)", "文本型数字(可忽略)",
              "已知设计(母版新增行)", "已知设计(无表头草稿列)", "已知设计(排名表当月/累计块)", "其它")
              "已知设计(母版新增行)", "已知设计(无表头草稿列)", "已知设计(排名表当月/累计块)",
              "已知差异(用户手工改动)", "其它")
    cats = list(ACTION) + list(IGNORE)
    REASON = {(" è´§è¿", "EA"): "2022年各市州累计同比:业务已确认软件口径正确(手工那列错)",
              ("班线包车", "EO"): "程序生成时重算(疑母版2020年块分母为0):母版/手工为 0.1818,待核对",
@@ -197,6 +201,8 @@
                    cat = "需处理(非数值文本)"; note = "程序=%s æ‰‹å·¥=%s" % (str(vg)[:14], str(vd)[:14])
                else:
                    cat = "其它"; note = "程序=%s æ‰‹å·¥=%s" % (str(vg)[:14], str(vd)[:14])
                if cat and (sh, "%s%d" % (get_column_letter(i+1), p+1)) in USER_EDITS:
                    bump("已知差异(用户手工改动)"); continue
                if cat:
                    bump(cat)
                    rows_out.append([sh, "%s%d" % (get_column_letter(i+1), p+1), rl_g[p][:38], cl_g[i][:18], cat,
docs/Éú³É»ã×Ü´ó±í/2026Äê8ÔµÀ·ÔËÊäÁ¿»ã×ܱí.xlsx
Binary files differ