From 5194ad0c471cf6fa81786ad7fbe4269c364f8f0c Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期二, 06 十月 2026 19:51:36 +0800
Subject: [PATCH] docs(汇总大表): M0 月度版式重建器规格(10 页规格表、改动清单、工作量重估 3.5-5 天)

---
 docs/汇总大表M0版式重建器规格_2026-10-06.md |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 106 insertions(+), 0 deletions(-)

diff --git "a/docs/\346\261\207\346\200\273\345\244\247\350\241\250M0\347\211\210\345\274\217\351\207\215\345\273\272\345\231\250\350\247\204\346\240\274_2026-10-06.md" "b/docs/\346\261\207\346\200\273\345\244\247\350\241\250M0\347\211\210\345\274\217\351\207\215\345\273\272\345\231\250\350\247\204\346\240\274_2026-10-06.md"
new file mode 100644
index 0000000..6e4a14f
--- /dev/null
+++ "b/docs/\346\261\207\346\200\273\345\244\247\350\241\250M0\347\211\210\345\274\217\351\207\215\345\273\272\345\231\250\350\247\204\346\240\274_2026-10-06.md"
@@ -0,0 +1,106 @@
+# 姹囨�诲ぇ琛� M0銆屾湀搴︾増寮忛噸寤哄櫒銆嶈鏍硷紙2026-10-06锛�
+
+> 鐘舵�侊細**銆愬緟楠屾敹銆戞湰杞彧瀹氳鏍间笌宸ヤ綔閲忥紝涓嶅惈浠g爜鏀瑰姩**锛涜鏍肩粡鐢ㄦ埛瀹″畾鍚庡啀寮�宸ャ��
+> 渚濇嵁锛歚docs/姹囨�诲ぇ琛ㄦ暟鎹┍鍔ㄦ敼閫犳柟妗坃2026-09-07.md`锛堝惈 2026-09-08 闄勫綍锛夈�乣HANDOFF.md` 鐨� 2026-09-28 / 09-29 涓よ妭銆�2026-09-29 鐢ㄦ埛鎵嬪伐浜у嚭鐨� 9 鏈堟瘝鐗堛��
+
+## 涓�銆佽儗鏅笌鐩爣
+
+- **鐜扮姸**锛氭眹鎬诲ぇ琛ㄧ殑鏁版嵁椹卞姩鍥炲~锛堟柟妗� M1鈥揗3锛夊凡钀藉湴鈥斺�擿exportSummaryWorkbook` 宸叉寜銆岃搴撹绠� 鈫� 鍥炲~姣嶇増 鈫� 鏁存湰閲嶇畻銆嶈繍琛岋紙`ReportExportService.java:3634` 璧凤紝璁$畻灞� `reportexport/calc`锛夈��
+- **鍞竴鍗$偣**锛�**鏈堝害鍒楃増寮�**銆傜▼搴忓彧鎸� `{year}骞磠month}鏈堥亾璺繍杈撻噺姹囨�昏〃.xlsx` 绮剧‘鍖归厤姣嶇増锛坄ReportExportService.resolveSummaryMother`锛屽悓鏂囦欢 4576 琛岋級锛岀洰鏍囨湀娌℃湁瀵瑰簲姣嶇増灏辩洿鎺ユ姏閿欙紝涓嶄細鑷姩鎵╁垪銆�9 鏈堟瘝鐗堟槸鐢ㄦ埛 09-29 鍦� Excel 閲屾墜宸ユ墿鍑烘潵鐨勶紙鏈満 `docs/鐢熸垚姹囨�诲ぇ琛�/2026骞�9鏈堥亾璺繍杈撻噺姹囨�昏〃.xlsx`銆乣_璇曞仛_20260929.xlsx`锛屽潎鏈叆搴擄級銆�
+- **鐩爣锛圡0锛�**锛氱粰瀹氥�屼竴鏈彲鐢ㄦ瘝鐗� + 鐩爣骞存湀銆嶏紝绋嬪簭鑷姩鎶婂垪鐗堝紡閲嶅缓鍒扮洰鏍囨湀锛屼骇鍑哄彲鐩存帴鍥炲~鐨勬瘝鐗堢増寮忥紝鏇夸唬姣忔湀鎵嬪伐鎵╁垪銆�
+- **鍑哄彛楠屾敹**锛氣憼 閲嶅缓鍚庣敓鎴� 2026-07锛屾暟鍊间笌宸蹭慨姝� 7 鏈堟瘝鐗堥�愭牸 diff=0锛堜粎鍒椾綅鍙樺寲锛夛紱鈶� 鐢熸垚 2026-09锛屼笌鐢ㄦ埛鎵嬪伐 9 鏈堟瘝鐗堥�愭牸 diff=0銆�
+
+## 浜屻�佷负浠�涔堟槸澧為噺鏀归�犺�屼笉鏄噸鍐�
+
+| 灞傛 | 鐜扮姸 | 缁撹 |
+|---|---|---|
+| 璁$畻灞� | `reportexport/calc/{PaxCalc,FreightCalc,MidCalc,WycSplitCalc}`锛岀害 900 琛� | 鐩存帴澶嶇敤 |
+| 鍥炲~灞� | `SummaryWorkbookFiller`锛�899 琛岋級锛歚fillMonthlyLedger` / `ensureMonthFormulas` / `ensureMonthYoyFormulas` / `repairCumulativeYoyFormulas` / `yearMonthCols` / `usableMonthCols` / `cumulativeHelperCols` | 鐩存帴澶嶇敤 |
+| 鎵╁垪鍘熻 | `ReportExportService.java:1039-1200`锛歚moveColumnPair` / `cloneColumnPair` / `cloneCellForMonth` / `cloneMergedRegion` / `copyColumnWidth` / `fixCumulativeFormulas`锛涗笖宸茶窇閫� `extendMonthlyColumns`锛堢嫭绔嬪皬琛� 1鈥�6 鏈� 鈫� 1鈥�12 鏈堬級 | 鐩存帴澶嶇敤 |
+| **缂哄彛** | 鎶婁笂杩板師璇�**缂栨帓**鍒版眹鎬诲ぇ琛� 19 涓〉绛鹃噷鐨� 10 涓暱琛ㄩ〉锛屽苟閫愰〉閰嶇疆瑙勫垯 + 鍥炲綊鑷 | **鏈鏂板** |
+
+宸叉湁鎶曞叆锛堜笉鍙涪寮冿級锛�38 涓彁浜ゃ��930 鏍煎樊寮傛牳瀵广�丄1鈥揈3/Q1鈥換3 涓�杞彛寰勬媿鏉裤�傞噸鍐欎笉鍒掔畻銆�
+
+## 涓夈�佸垪鐗堝紡瑙勫垯锛�0 鍩哄垪鍙凤級
+
+| 椤� | 瑙勫垯 |
+|---|---|
+| 褰撴湀鍊煎垪 | 1 鏈� = 2锛圕 鍒楋級锛沵 鏈� = `2 + 2 脳 (m 鈭� 1)` |
+| 褰撴湀鍚屾瘮鍒� | 褰撴湀鍊煎垪 + 1 |
+| 绱鍒� / 绱鍚屾瘮鍒� | 2026 缁勬湯灏撅紝褰撳墠 14/15锛圤/P锛夛紱鎵╁埌 12 鏈堝悗涓� 26/27 |
+| 2025 鍙婃洿鏃╁弬鐓х粍 | 姣忔墿涓�涓湀鏁翠綋鍙崇Щ 2 鍒� |
+| 宸茬‘璁ゅ彛寰勶紙鏂规 D1锛� | 褰撴湀鍊煎垪+鍚屾瘮鍒楁彃鍦ㄧ疮璁′箣鍓嶃�佺疮璁℃粴鍔ㄣ��2025+ 鍙傜収缁勫彸绉烩�斺�旂瓑浠蜂簬鏈枃浠剁殑銆屾湀搴︾増寮忛噸寤哄櫒銆� |
+
+`SummaryWorkbookFiller.FIRST_MONTH_COL=2`锛堝悓鏂囦欢 47 琛岋級涓庤鍏紡涓�鑷达紝浣嗗睘纭紪鐮侀敋鐐癸紝瑙佺涓冭妭绗� 4 鏉°��
+
+## 鍥涖�侀渶瑕佹墿鍒楃殑 10 涓暱琛ㄩ〉锛堟暟瀛楀彇鑷柟妗� v1 闄勫綍瀹炴祴锛�
+
+| 椤电 | maxCol | 鍚堝苟鍖� | 闇�骞崇Щ鐨勫叕寮忔暟 |
+|---|---|---|---|
+| ` 璐ц繍`锛堟敞鎰忓墠瀵肩┖鏍硷級 | 145 | 140 | 6638 |
+| 鐝嚎鍖呰溅 | 285 | 204 | 5688 |
+| 涓彛寰勬槑缁� | 87 | 157 | 6654 |
+| 鍏氦 | 86 | 76 | 2004 |
+| 鍑虹 | 86 | 76 | 1872 |
+| 缃戠害杞� | 86 | 70 | 1664 |
+| 鍏矾鎬诲杩� | 274 | 194 | 鏈崟鐙粺璁� |
+| 鍩庡競瀹㈣繍 | 72 | 55 | 鏈崟鐙粺璁� |
+| 杞ㄩ亾銆佽疆娓� | 72 | 110 | 鏈崟鐙粺璁� |
+| 涓彛寰勫杩愰噺 | 68 | 111 | 鏈崟鐙粺璁� |
+
+宸茬煡 6 椤靛叕寮忓钩绉诲悎璁$害 **24,520 澶�**锛堝叕浜� 2004 / 鍑虹 1872 / 缃戠害 1664 / 涓彛寰勬槑缁� 6654 / 璐ц繍 6638 / 鐝嚎 5688锛夈��
+
+## 浜斻�佷笉闇�瑕佹墿鍒楃殑椤�
+
+- **6 涓垚鍝侀〉**锛堝綋鏈堝潡涓庣疮璁″潡鏄缁撴瀯銆佸垪浣嶅浐瀹氾紝鐩存帴鎸夋槧灏勫~鍊�/鍏紡锛夛細璐ц繍閲忔帓鍚嶃�佽揣杩愬懆杞噺鎺掑悕銆佷腑鍙e緞鎺掑悕銆佸煄甯傛眹鎬汇�佸煄甯傚垎甯傚窞銆侀亾璺繍杈撳懆杞噺銆�
+- **3 涓潤鎬侀〉**锛堜笉鍔級锛氫腑鍙e緞鍒嗘瀽銆�2025骞村煄甯傚杩愰噺銆佷腑鍙e緞璁$畻杩囩▼銆�
+
+## 鍏�佹敼鍔ㄦ枃浠舵竻鍗�
+
+- 鏂板 `traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummaryLayoutRebuilder.java`锛氱紪鎺掑眰锛屾寜鐩爣鏈堥噸寤� 10 涓暱琛ㄩ〉鐨勫垪甯冨眬銆�
+- 鏂板 `traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummarySheetRule.java`锛氶�愰〉瑙勫垯閰嶇疆锛堣〃澶磋銆佹暟鎹捣姝㈣銆佹湀浠界粍璧风偣銆佺疮璁″垪浣嶃�佹槸鍚︽淳鐢熼〉銆佸悎骞跺尯绛栫暐锛夈��
+- 鏂板 `traffic-audit-server/src/test/java/com/trafficaudit/reportexport/layout/SummaryLayoutRebuilderTest.java`锛氭墿鍒楀悗 7/9 鏈堟暟鍊煎洖褰掕嚜妫�銆�
+- 鏀归�� `ReportExportService.exportSummaryWorkbook`锛堝悓鏂囦欢 3634 琛岃捣锛夛細姣嶇増缂哄け鏃朵笉鍐嶆姏閿欙紝鏀逛负銆屽彇鏈�杩戝彲鐢ㄦ瘝鐗� 鈫� 閲嶅缓鍒扮洰鏍囨湀 鈫� 缁х画鍥炲~銆嶃��
+- 鏀归�� `ReportExportService.resolveSummaryMother`锛堝悓鏂囦欢 4576 琛岋級锛氭斁寮�"浠呯簿纭尮閰�"闄愬埗锛屼繚鐣�"鎵句笉鍒颁换浣曡摑鏈墠鎶ラ敊"銆�
+- 鍙�夛紙寤鸿鍋氾級锛氭妸 `SummaryWorkbookFiller.FIRST_MONTH_COL` 纭紪鐮佹敼涓烘寜琛ㄥご `yearMonthCols` 璇箟瀹氫綅锛岄伩鍏嶆瘝鐗堟尓鍒楀悗闈欓粯鍐欓敊鍒椼��
+- 鍓嶇锛氭棤闇�鏀瑰姩锛堝叆鍙d笌鍙傛暟涓嶅彉锛夈��
+- 鏂囨。锛氭湰瑙勬牸 + `HANDOFF.md` 缁撹锛沗_璇曞仛_20260929.xlsx` 绛夎繃绋嬩骇鐗╀笉鍏ュ簱銆�
+
+## 涓冦�佸叧閿畻娉�
+
+1. **閫夎摑鏈�**锛氱洰鏍囨湀姣嶇増瀛樺湪鍒欑洿鎺ョ敤锛涗笉瀛樺湪鍒欏彇鏈�杩戝彲鐢ㄦ瘝鐗堬紙榛樿 9 鏈堟墜宸ョ増锛岃绗崄鑺傚緟纭椤� 1锛夈��
+2. **瀹氫綅**锛氬鐢� `yearMonthCols` 鐨勮〃澶磋瘑鍒紙鏀寔鏂囨湰 `2026骞�8鏈坄 涓庢暟鍊兼棩鏈熷簭鍒楄〃澶达紝鍙浠婂勾/鍘诲勾锛夛紝鍦ㄥ墠 5 琛屽唴鎵惧嚭鍚勬湀浠界粍鐨勫疄闄呭垪浣嶁�斺�斿厛璁や綅缃啀鍔ㄥ垪锛屼笉鐩蹭俊鍥哄畾鍒楀彿銆�
+3. **閲嶅缓**锛堝姣忎釜闀胯〃椤碉級锛氱Щ鍔ㄧ疮璁″垪瀵瑰埌 2026 缁勬湯灏� 鈫� 鎸夋湀鍏嬮殕鏈堜唤鍒楀锛堣〃澶存枃鏈�/鏃ユ湡淇銆佹牱寮忋�佸悎骞跺尯銆佸垪瀹姐�佽法椤靛叕寮忓垪寮曠敤鍚屾锛夆啋 淇绱涓庣疮璁″悓姣斿叕寮忋��
+4. **閲嶇畻涓庤嚜妫�**锛歚setFullCalcOnLoad(true)` + 鏁存湰閲嶇畻锛涜緭鍑哄墠璺戙��#REF! 璁℃暟 = 0銆嶃�岀疮璁″垪瑕嗙洊鍒板綋鏈熴�嶈嚜妫�锛屼笉閫氳繃鍒欎腑姝€��
+
+## 鍏�侀獙璇佹柟妗堬紙M0 鍑哄彛锛�
+
+| 缂栧彿 | 鐢ㄤ緥 | 棰勬湡 |
+|---|---|---|
+| 1 | 閲嶅缓鐗堝紡鍚庣敓鎴� 2026-07 | 涓庡凡淇 7 鏈堟瘝鐗堣濉尯鍩熼�愭牸 diff=0锛屼粎鍒椾綅鍙樺寲 |
+| 2 | 鐢熸垚 2026-09 | 涓庣敤鎴锋墜宸� 9 鏈堟瘝鐗堥�愭牸 diff=0 |
+| 3 | 鍏紡鑷 | 鍏ㄧ翱 `#REF!` = 0锛涚疮璁�/绱鍚屾瘮瑕嗙洊鍒板綋鏈� |
+| 4 | 鐗堝紡鑷 | 鍚堝苟鍖恒�佸垪瀹姐�侀殣钘忔爣璁般�佹墦鍗板尯涓庢墜宸� 9 鏈堟瘝鐗堜竴鑷达紱Excel/WPS 鎵撳紑鏃犱慨澶嶅憡璀� |
+| 5 | 璐熷悜锛氱洰鏍囨湀婧愭暟鎹己澶� | 缁欏嚭缂烘暟娓呭崟锛屼笉闈欓粯杈撳嚭绌鸿〃 |
+| 6 | 璐熷悜锛氭瘝鐗堣鏀瑰鑷存湀浠借〃澶磋瘑鍒笉鍒� | 鏄庣‘鎶ラ敊锛屼笉鐚滄祴鍒椾綅 |
+
+## 涔濄�佸伐浣滈噺棰勪及
+
+| 闃舵 | 棰勪及 |
+|---|---|
+| 瑙勬牸琛ㄥ畾绋匡紙鏈枃浠� + 鐢ㄦ埛瀹″畾锛� | 0.5 澶� |
+| Rebuilder + 閫愰〉瑙勫垯 + 鍗曟祴 | 1.5鈥�2.5 澶� |
+| 7/8 鏈堝洖褰� + 9 鏈堝鐓ф牳瀵� | 1 澶� |
+| 椋庨櫓缂撳啿 | 0.5鈥�1 澶� |
+| **鍚堣** | **绾� 3.5鈥�5 澶�**锛堝惈娴嬭瘯涓庨獙鏀讹級 |
+
+璇存槑锛歚HANDOFF.md` 09-29 鑺傛浘浼般��0.5~1 澶┿�嶏紝閭e彧鏄墿鍒楀師璇殑澶嶇敤浼拌锛涙寜闄勫綍瀹炴祴锛堢害 2.45 涓囧鍏紡骞崇Щ + 2 鍗冧綑澶勫悎骞跺尯锛夐噸浼颁负 3.5鈥�5 澶┿��
+
+## 鍗併�侀闄╀笌寰呯‘璁�
+
+1. **寰呯‘璁わ細浠ュ摢鏈綔鎵╁垪钃濇湰銆�** 寤鸿浠ョ敤鎴锋墜宸ョ殑 9 鏈堟瘝鐗堜负鍑嗭紙鐗堝紡宸茬敱鐢ㄦ埛鍥哄寲锛夈��
+2. **寰呯‘璁わ細鏄惁涓�娆″缓鎴� 12 鏈堟弧鐗堝紡銆�** 鏂规 v1 寤鸿婊$増寮忋�佸悗缁湀浠藉彧鍋氥�岄殣钘�/缃伆鏈埌鏈堜唤 + 绱閲嶇畻 + 濉綋鏈堛�嶏紝鍙樉钁楅檷浣庡悗缁闄╋紱鑻ュ潥鎸侀�愭湀鎻掑叆锛屽鏉傚害涓庡洖褰掓垚鏈洿楂樸��
+3. **姣嶇増鍘嗗彶鍧戣涓�骞惰鐩�**锛氭瘝鐗堢敱 openpyxl 鍐欏嚭锛屽瓨鍦ㄩ珮鍘嬬缉锛堝凡鐢� `ZipSecureFile.setMinInflateRatio` 缁曡繃锛変笌娈嬬暀 `<is>` 闈炴硶鏍硷紙`normalizeStaleInlineStrings` 娓呯悊锛変袱绫婚棶棰橈紝閫愬垪鍏嬮殕鏃堕渶淇濇寔杩欎袱澶勫鐞嗐��
+4. **鍩庡競瀹㈣繍椤靛弬鐓х粍鏄帇缂╃粨鏋�**锛堝悓姣� + 1-X 鏈堢疮璁★級锛屼笌鍏跺畠闀胯〃椤典笉鍚岋紝闇�鍗曠嫭瑙勫垯銆�
+5. **璺ㄥ勾寮�鏂版湰锛�2027锛変笉鍦� M0 鑼冨洿**锛岄渶鍙﹀畾"鏂板勾鍧�"瑙勫垯銆�
+6. **鏈鐩栭〉**锛氫腑鍙e緞鍒嗘瀽绛� 3 涓潤鎬侀〉浠嶆部鐢ㄦ瘝鐗堥潤鎬佸唴瀹癸紝鏈樁娈典笉鏀广��
\ No newline at end of file

--
Gitblit v1.9.1