From b14fec1599277629e10b2bc686f02fd0c2e0bec1 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期五, 18 九月 2026 16:46:30 +0800
Subject: [PATCH] fix(货运月报): 订正持续在规企业累计运距同比基期口径(v2)

---
 docs/功能测试报告/功能测试报告_汇总表公式扩页与重算_2026-09-18.md |   85 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 0 deletions(-)

diff --git "a/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\346\261\207\346\200\273\350\241\250\345\205\254\345\274\217\346\211\251\351\241\265\344\270\216\351\207\215\347\256\227_2026-09-18.md" "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\346\261\207\346\200\273\350\241\250\345\205\254\345\274\217\346\211\251\351\241\265\344\270\216\351\207\215\347\256\227_2026-09-18.md"
new file mode 100644
index 0000000..00c85db
--- /dev/null
+++ "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\346\261\207\346\200\273\350\241\250\345\205\254\345\274\217\346\211\251\351\241\265\344\270\216\351\207\215\347\256\227_2026-09-18.md"
@@ -0,0 +1,85 @@
+# 鍔熻兘娴嬭瘯鎶ュ憡_姹囨�昏〃銆屽叕寮忔墿椤� + 鐢熸垚浠堕噸绠椼�峗2026-09-18
+
+## 涓�銆佸姛鑳借鏄�
+
+淇銆婇亾璺繍杈撻噺姹囨�昏〃銆嬬敓鎴愪欢鐨勪笁鏉′富绾块棶棰橈紙鐢ㄦ埛 2026-09-18 鎻愬嚭锛夛細
+
+| 涓荤嚎 | 鐜拌薄 | 鏍瑰洜 | 鏈澶勭疆 |
+|---|---|---|---|
+| 1 | 鍩庡競瀹㈣繍 / 涓彛寰勬槑缁� 8 鏈堟暣鍒椾负绌恒�佺疮璁�=1~7 鏈� | `SummaryWorkbookFiller.ensureMonthFormulas()` 鐨�**椤佃寖鍥�**鍙惈 6 涓彴璐﹂〉锛屾紡浜嗚繖涓ら〉锛堝悓姣斿叕寮忕敤鐨勯〉鑼冨洿鍗存槸鍚殑锛屾墍浠ュ嚭鐜�"鍚屾瘮鍒楁湁鍏紡銆佸綋鏈堝�煎垪绌虹櫧"锛� | 椤佃寖鍥存敼鐢� `isMonthLedgerSheet`锛堝惈 鍩庡競瀹㈣繍 / 涓彛寰勬槑缁� / 鍏矾鎬诲杩� / 涓彛寰勫杩愰噺锛� |
+| 2 | 鍏氦/鍑虹/缃戠害杞�/鍩庡競鍒嗗競宸炵殑**鍏ㄧ渷琛�**鍋滃湪涓婁竴鏈� | 鍏ㄧ渷琛屾槸 `=C9+C13+鈥锛埼�17甯傚窞锛夊叕寮忥紝浣嗙敓鎴愪欢**涓嶅甫缂撳瓨鍊�**锛岄瑙�/浜屾澶勭悊鍙鍒版瘝鐗堜笂涓�鏈熺殑鏃у�� | 鐢熸垚鏀跺熬鏂板 `recalcWorkbookFormulas()`锛岄�愭牸 `evaluateFormulaCell` 鎶婄粨鏋滃啓鍥炵紦瀛樺�硷紱澶辫触鍏滃簳 `fullCalcOnLoad=true` |
+| 3锛堥儴鍒嗭級 | 涓彛寰勬帓鍚嶆暟鎹笉瀵� | `K3/O3` 鏄� `SUM(K4:K20)` 鍏紡锛堝悓鏍锋棤缂撳瓨鍊硷級锛沗M3/Q3` 鍚屾瘮鏄啓姝荤殑搴撳唴鍏ㄧ渷鍙e緞 | 鏈鍙В鍐�"SUM 鏃犵紦瀛樺��"锛涘啓姝诲悓姣斿彛寰� + `loadMidClassMap` 缂轰袱缁�**鐣欏緟涓嬩竴姝�**锛堟敼鍔ㄤ細鍔ㄥ彛寰勶紝闇�鍏堢‘璁わ級 |
+
+鏀瑰姩鏂囦欢锛�
+- `traffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/SummaryWorkbookFiller.java`
+  - `ensureMonthFormulas()` 椤佃寖鍥翠慨姝o紱鏂板娲剧敓椤电粨鏋勬�у父閲忚鎸夋湀娌跨敤锛涙柊澧� `isDerivedFormulaSheet()` / `structuralConstant()`锛涚Щ闄ゅ凡鏃犵敤鐨� `isFilledLedgerSheet()`锛涘姞 logger銆�
+- `traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java`
+  - 鏂板 `recalcWorkbookFormulas(XSSFWorkbook)`锛屽苟鍦� `exportSummaryWorkbook()` 鍐欐枃浠跺墠璋冪敤銆�
+
+## 浜屻�佹祴璇曠幆澧�
+
+- 鍚庣 Spring Boot锛�8090锛夈�佸墠绔� Vue锛�8080锛夛紝`start-dev.ps1` 鍚姩锛汳ySQL 127.0.0.1:3308 / traffic_audit銆�
+- 姣嶇増锛歚docs/鐢熸垚姹囨�诲ぇ琛�/2026骞�8鏈堥亾璺繍杈撻噺姹囨�昏〃.xlsx`锛堝悓鏈熷浠芥瘝鐗� `_澶囦唤_2026骞�8鏈堚� **涓嶅瓨鍦�**锛屾棩蹇� WARN锛屽睘宸茬煡鑳屾櫙锛夈��
+- 鎶ヨ〃鏈燂細`2026-08`锛涘叆鍙o細`GET /api/report/export/summaryWorkbook?period=2026-08&mode=month`銆�
+- 浜х墿锛歚_tmp/_qa_out/gen_2026-08_after.xlsx`锛�1,329,471 B锛岀敓鎴愯�楁椂 12.6 s锛夈��
+- 璇佹嵁锛歚_tmp/_qa_out/{verify2.txt, verify3.txt, verify5.txt, diff_old_new.txt, after_cols.txt, xml_check.txt, v_cmp.txt}`銆�
+- 鍚庣鏃ュ織锛歚姹囨�诲伐浣滅翱鍏紡閲嶇畻瀹屾垚锛氭垚鍔� 40713 鏍硷紝澶辫触 0 鏍糮銆乣娲剧敓椤电粨鏋勬�у父閲忚鎸夋湀娌跨敤 4 鏍硷紙绗� 8 鏈堬級`銆�
+
+## 涓夈�佺敤渚嬭〃
+
+### 姝e悜鐢ㄤ緥
+
+| # | 杈撳叆 | 棰勬湡 | 瀹為檯 | 缁撹 |
+|---|---|---|---|---|
+| TC1 | 鐢熸垚 2026-08 姹囨�昏〃锛屾鏌ャ�屽煄甯傚杩愩�峇 鍒楋紙8 鏈堝綋鏈堝�硷級 | 姣忚搴旀湁褰撴湀鍊煎叕寮忥紙璺ㄨ〃寮曠敤鍙崇Щ锛� | Q4~Q39 鍏� 36 鏍煎叏閮ㄦ湁鍏紡锛屽 `Q9 = =鍏氦!Q16+鍑虹!Q16+缃戠害杞�!Q16+'杞ㄩ亾銆佽疆娓�'!Q9` | 閫氳繃 |
+| TC2 | 鍚屼笂锛屾鏌ャ�屼腑鍙e緞鏄庣粏銆峇 鍒� | 180 琛屾湁褰撴湀鍊硷紙鍏紡鎴栫粨鏋勬�у父閲忥級 | 180 鏍兼湁鍊硷紙176 鍏紡 + 4 甯搁噺锛� | 閫氳繃 |
+| TC3 | 鎶芥煡銆屼腑鍙e緞鏄庣粏銆嶇粨鏋勬�у父閲忚锛堟姹� 鍩庨檯鍩庝埂宸℃父鍑虹/缃戠害杞� = 0锛� | 鎸夋湀娌跨敤 0锛屼笉鐣欑┖ | Q13=0.0銆丵14=0.0銆丵107=0.0銆丵108=0.0锛屾棩蹇楄銆屾部鐢� 4 鏍笺�� | 閫氳繃 |
+| TC4 | 鏍稿鍏ㄧ渷琛� = 危17 甯傚窞锛堢嫭绔嬫眰鍜� vs 缂撳瓨鍊硷級 | 涓よ�呯浉绛� | 鍏氦 12315.37 = 12315.37锛涘嚭绉� 5786.81 = 5786.81锛涚綉绾﹁溅 4997.74 = 4997.74 | 閫氳繃 |
+| TC5 | 妫�鏌� 8 鏈堢疮璁″垪锛圫锛� | 搴斿惈 8 鏈堬紙=C+E+鈥�+Q锛� | 鍏氦 S5=110776.34銆佸嚭绉� S5=48069.02銆佺綉绾﹁溅 S5=33864.94銆佷腑鍙e緞鏄庣粏 S5=31528.06锛堟敼鍔ㄥ墠鍒嗗埆鍋滃湪 1~7 鏈堬級 | 閫氳繃 |
+| TC6 | 妫�鏌ャ�屼腑鍙e緞鎺掑悕銆嶅叏鐪佽 | `=SUM(K4:K20)` 搴旀湁缂撳瓨鍊� = 危17甯傚窞 | K3 缂撳瓨 24481.7407锛堜笌鎵嬪伐 危17 甯傚窞涓�鑷达級銆丱3 缂撳瓨 1131273.449 | 閫氳繃 |
+| TC7 | 妫�鏌ュ叕寮忔槸鍚﹁鐮村潖锛堥噸绠楁槸鍚﹁鐢� evaluateInCell锛� | 鍏紡涓庣紦瀛樺�煎苟瀛橈紙`<f>` + `<v>`锛� | XML 鍏ㄩ儴涓� `<c ...><f>鈥�</f><v>鈥�</v></c>`锛屽叕寮忎繚鐣� | 閫氳繃 |
+| TC8 | 妫�鏌ャ�屽煄甯傛眹鎬汇�嶃�屼腑鍙e緞鍒嗘瀽銆嶇瓑璺ㄩ〉椤� | 闅忔姤琛ㄦ湡鍒锋柊锛屼笉鍙楁湰娆℃敼鍔ㄥ奖鍝� | 鍩庡競姹囨�� 鎬诲杩愰噺 269628.07锛�1-8鏈堬級锛屾瘝鐗堜负 237412.33锛�1-7鏈堬級 | 閫氳繃 |
+
+### 璐熷悜 / 杈圭晫鐢ㄤ緥
+
+| # | 杈撳叆 | 棰勬湡 | 瀹為檯 | 缁撹 |
+|---|---|---|---|---|
+| TC9 | 姣嶇増鍚屾湡澶囦唤锛坄_澶囦唤_2026骞�8鏈堚�锛夌己澶� | 涓嶄腑鏂敓鎴愶紝璁� WARN | 鏃ュ織 `姹囨�诲伐浣滅翱鏈壘鍒板悓鏈熷浠芥瘝鐗堚�锛屾甯稿嚭浠� | 閫氳繃锛堝凡鐭ヨ儗鏅級 |
+| TC10 | 鍏紡閲嶇畻閬囧埌涓嶆敮鎸佸嚱鏁�/澶栭儴寮曠敤 | 璺宠繃璇ユ牸骞惰鏁帮紝涓嶄腑鏂鍑� | 鏈澶辫触 0 鏍硷紱浠g爜淇濈暀閫愭牸 try-catch + 澶辫触鏍蜂緥鏃ュ織 | 閫氳繃锛堟湭瑙﹀彂锛� |
+| TC11 | 娲剧敓椤点�屽叏鏈堝悓甯搁噺銆嶅垽瀹氳璇敤浜庡彴璐﹂〉 | 鍙拌处椤典笉寰楁部鐢ㄤ笂鏈堟暟鍊硷紙闃�"缁撹浆"锛� | `structuralConstant()` 浠呭湪 `isDerivedFormulaSheet()` 涓虹湡鏃剁敓鏁堬紙6 涓彴璐﹂〉涓嶉�傜敤锛� | 閫氳繃锛堥�昏緫闅旂锛� |
+| TC12 | 閲嶇畻璇激鏁板�兼牸锛堥潪鍏紡鏍硷級 | 鍙鐞� `CellType.FORMULA` 鐨勬牸 | 閬嶅巻鏃惰烦杩囨墍鏈夐潪鍏紡鏍� | 閫氳繃 |
+
+### 鍏ュ簱鎶芥煡锛堝簱 鈫� 姹囨�昏〃閫愰」瀵归綈锛�
+
+| 瀵硅薄 | 搴擄紙`city_bus_monthly` 2026-08锛� | 鐢熸垚浠� | 缁撹 |
+|---|---|---|---|
+| 姝︽眽甯� 瀹㈣繍閲� | 3856.83 | 鍏氦椤� Q9 = 3856.83 | 涓�鑷� |
+| 榛勭煶甯� 瀹㈣繍閲� | 879.12 | 鍏氦椤� Q13 = 879.12 | 涓�鑷� |
+| 17 甯傚窞鍚堣 | 12315.37 | 鍏氦椤� Q5锛堝叏鐪佽缂撳瓨锛�= 12315.37 | 涓�鑷� |
+| 姝︽眽甯� 鍩庡競鍐呭杩愰噺 | 3837.20 | 鍏氦椤� Q11 = 3837.20锛堝煄甯傚杩愰〉 Q6 寮曠敤瀹冿級 | 涓�鑷� |
+
+## 鍥涖�佸洖褰掓瘮瀵癸紙鏀瑰姩鍓� vs 鏀瑰姩鍚庯級
+
+閫愭牸瀵规瘮鏀瑰姩鍓嶅悗涓ゆ鐢熸垚浠讹紙`diff_old_new.txt`锛夛細
+
+| 椤� | 宸紓鏍兼暟 |
+|---|---|
+| 鍩庡競瀹㈣繍 | 36 |
+| 涓彛寰勬槑缁� | 180 |
+| 鍏朵綑 17 椤碉紙鍚揣杩愩�佸叕浜ゃ�佸嚭绉熴�佺綉绾﹁溅銆佺彮绾垮寘杞︺�佹帓鍚嶉〉銆佽法椤靛悎鎴愰〉锛� | 0 |
+| **鍚堣** | **216** |
+
+宸紓鍏ㄩ儴钀藉湪鏈鐩爣椤碉紝涓旈兘鏄�岀┖ 鈫� 鍏紡銆嶏紱鍏跺畠椤甸�愭牸涓�鑷达紝鏃犲洖褰掋��
+
+## 浜斻�佸彂鐜扮殑闂涓庡缃�
+
+1. **`FormulaEvaluator.evaluate(Cell)` 鏃犲壇浣滅敤**锛圥OI 4.1.0锛夛細棣栨瀹炵幇鐢ㄤ簡 `evaluate()`锛屾棩蹇楁樉绀�"鎴愬姛 40713 鏍�"浣嗘枃浠堕噷娌℃湁缂撳瓨鍊硷紙`<f>` 鏃� `<v>`锛夈�傛敼鐢� `evaluateFormulaCell(Cell)` 鍚庡啓鍏ユ甯搞�傚凡鎶婄粨璁哄啓杩涗唬鐮佹敞閲娿��
+2. **涓彛寰勬帓鍚嶅悓姣斾粛涓哄啓姝诲��**锛歋UMMARY 閲� `M3=0.7424 / Q3=0.2317` 浠嶆槸姣嶇増/搴撳唴鍏ㄧ渷鍙e緞锛屼笌 危17 甯傚窞锛�24481.74锛夊彛寰勪笉涓�鑷� 鈥斺�� 闇�鎸夌 3 姝ョ粺涓�锛堟秹鍙婂彛寰勫垽瀹氾紝鏈湪鏈鏀瑰姩锛夈��
+3. **鐙珛銆婄敓鎴恄鍏矾鏃呭涓彛寰勬槑缁嗐�嬪彛寰勭己鍙�**锛歚loadMidClassMap()` 鍙"鍏矾鐝嚎 + 鍩庨檯鍩庝埂鍏氦"涓ょ淮锛岀己宸℃父鍑虹銆佺綉绾﹁溅 鈥斺�� 鏈敼锛岀暀寰呯 3 姝ャ��
+4. **搴撳唴 h2031銆屽叏鐪併�嶈 鈮� 危17 甯傚窞**锛�1-8 鏈� 27524.49 vs 24481.74锛屽樊 3042.75锛夛細灞炰笟鍔″彛寰勯棶棰橈紝寤鸿涓氬姟渚ф牳瀵癸紝涓嶉樆濉炪��
+
+## 鍏�佺粨璁�
+
+- 鐢ㄦ埛鎶ョ殑"8 鏈堟病鏁版嵁 / 鍏ㄧ渷琛屽仠鍦ㄤ笂涓�鏈�"涓ゆ潯涓荤嚎**宸蹭慨澶嶅苟缁忓洖褰掗獙璇�**锛氬煄甯傚杩愩�佷腑鍙e緞鏄庣粏 8 鏈堝垪琛ラ綈锛涘叏鐪佽銆佺疮璁″垪銆佹帓鍚� SUM 鍧囧甫姝g‘缂撳瓨鍊笺��
+- 鏀瑰姩闈㈠彲鎺э紙216 鏍硷紝鍏ㄩ儴鍛戒腑鐩爣椤碉級锛屾棤鍥炲綊銆�
+- 绗� 3 姝ワ紙涓彛寰勬帓鍚嶅悓姣斿彛寰勭粺涓� + `loadMidClassMap` 琛ヤ袱缁达級寰呯敤鎴风‘璁ゅ悗瀹炴柦銆�
\ No newline at end of file

--
Gitblit v1.9.1