From fc00eb79fce982425f9a83d63894a51549ed758a Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期一, 12 十月 2026 17:11:58 +0800
Subject: [PATCH] fix(汇总大表): 扩列表头行改按基准月份列判定并清理9月母版被写入日期的13格(待验收)
---
HANDOFF.md | 8 ++++++++
docs/生成汇总大表/2026年9月道路运输量汇总表.xlsx | 0
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummaryLayoutExpander.java | 43 ++++++++++++++++++++++++++++++++++---------
3 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/HANDOFF.md b/HANDOFF.md
index 4b07b2c..4149825 100644
--- a/HANDOFF.md
+++ b/HANDOFF.md
@@ -4,6 +4,14 @@
> **姣忓ぉ缁撴潫鏃�**锛氭妸褰撳ぉ杩涘睍銆佽俯杩囩殑鍧戙�佹柊闇�姹傘�佹湭瀹屾垚浜嬮」鏇存柊鍒版湰鏂囦欢锛岀劧鍚庡彲浠ユ斁蹇冨紑鏂板璇濄��
> **鍗忎綔绾﹀畾锛�2026-08-31锛�**锛氳銆屾彁浜ゃ��= 鏈湴 commit + 鎺ㄩ�佸埌杩滅 git锛坥rigin main锛孏itblit锛夛紝涓嶅啀鍙仛鏈湴 commit銆�
+### 10-12锛�11锛夛細鎵╁垪琛ㄥご琛屼簩娆′慨姝� + 9 鏈堟瘝鐗堣鎵╁垪鍐欐垚鏃ユ湡鐨� 13 鏍兼竻鐞嗐�愬緟楠屾敹銆�
+
+- **鐜拌薄锛堢敤鎴锋姤鍛婏級**锛氱敓鎴愯〃閲�"寰堝鏁版嵁鏄� 8 鏈堢殑"銆傛帓鏌ュ彂鐜� **9 鏈堟瘝鐗堥噷鏈� 13 涓暟鎹牸琚啓鎴愪簡 9 鏈堟湀浠芥棩鏈熷簭鍒� `46266`锛�= 2026-09-01锛�**锛歚 璐ц繍!S11/T11`銆乣鐝嚎鍖呰溅!S9/T9`銆乣鍏氦!S8/T8`銆乣鍑虹!S6/T6`銆乣涓彛寰勬槑缁�!S5/T5`锛涗笅娓哥紦瀛樿甯﹀亸锛坄鐝嚎鍖呰溅!S5`銆乣涓彛寰勬槑缁�!S99/S100/S104/S105` 绛変篃鏄� 46266锛夈��
+- **鏍瑰洜**锛氭墿鍒楀櫒 `headerRowsOf` 棣栫増鍙姹�"鏁磋 鈮�2 涓湀浠芥牸"锛岃�屽嚭绉熺 6 琛屻�佺彮绾垮寘杞︾ 3 琛岃繖绫�**鏁版嵁琛�**閲屾伆濂芥湁 2 涓儚鏃ユ湡搴忓垪鐨勬暟鍊� 鈫� 琚鍒ゆ垚琛ㄥご琛� 鈫� 鎵╁垪鏃舵妸"鏈堜唤鏃ユ湡"鍐欒繘浜嗘暟鎹锛坄cloneHeaderCell` 瀵规暟鍊兼牸鍐� `targetMonth` 鐨勬棩鏈燂級銆�
+- **淇硶**锛氭敼涓�**鍏堝彇"鏈堜唤琛ㄥご鏍兼渶澶氱殑閭d竴琛�"浣滃熀鍑嗭紝鎶婂畠鐨勬湀浠藉垪褰撴爣鍑嗗垪**锛涘彧鏈夎繖浜涘垪涓婂ぇ鍗婃槸鏈堜唤鏍肩殑琛屾墠绠楄〃澶磋銆傝建閬撱�佽疆娓′竴椤典袱涓潡鐨� `[1,10]` 淇濇寔 鉁擄紱` 璐ц繍/鍏氦/缃戠害杞�/涓彛寰勬槑缁哷 浠嶄负鍗曡琛ㄥご 鉁撱��
+- **姣嶇増淇锛堢敤 Excel COM锛屾湭鏁存湰閲嶅啓锛�**锛�13 鏍兼寜鎵╁垪瑙勫垯绮句慨锛堣鐣欑┖鐨勬竻绌恒�佸叕寮忔寜瑙勫垯琛ュ洖 `=S12+S13` / `=S11/AN11-1` / `=S10+S14+鈥锛�+ `CalculateFull` 鏁存湰閲嶇畻鍒锋柊缂撳瓨锛涗慨澶嶅墠澶囦唤 `_bak_2026骞�9鏈堟瘝鐗坃娓呯悊鑴忔牸鍓峗20261012.xlsx`銆備慨澶嶅悗鍏ㄧ翱鍙墿 3 涓� `46266` 鐨�**鍚堟硶琛ㄥご鏈堜唤鏍�**锛堝煄甯傚杩� S2銆佸叕浜� S3銆佸嚭绉� S3锛夈��
+- **楠岃瘉**锛氶噸璺� 2026-08鈫�9 鏈堟墿鍒楋紙鏃ュ織琛ㄥご琛� ` 璐ц繍[2] 鐝嚎鍖呰溅[1] 鍩庡競瀹㈣繍[1] 鍏氦[2] 鍑虹[2] 缃戠害杞2] 杞ㄩ亾銆佽疆娓1,10] 涓彛寰勬槑缁哰2]`锛夛紝鏂版帹浠跺湪杩� 13 鏍间笂鍏ㄩ儴姝g‘锛涢噸璺� 2026-09 鐢熸垚锛屼骇鐗� `docs\鐢熸垚姹囨�诲ぇ琛╘杈撳嚭\鐢熸垚_閬撹矾杩愯緭閲忔眹鎬昏〃_2026-09.xlsx` 涓� 13 鏍兼仮澶嶄负鐪熷疄 9 鏈堝�硷紙`鐝嚎鍖呰溅!S9=20647.5363`銆乣鍏氦!S8=61618.09`銆乣鍑虹!S6=32787.72`锛夛紝**鏃� 46266 娈嬬暀**銆�
+- **鎶ュ憡锛堟湰鍦般�佷笉鍏ュ簱锛�**锛歚docs/鍔熻兘娴嬭瘯鎶ュ憡/鍔熻兘娴嬭瘯鎶ュ憡_鎵╁垪琛ㄥご琛屽熀鍑嗗垪淇涓庢瘝鐗堣剰鏍兼竻鐞哶2026-10-12.md`銆傜姸鎬侊細**銆愬緟楠屾敹銆�**銆�
### 10-12锛�3锛夛細淇��9 鏈堜骇鐗╀涪 8 鏈堝垪 / 绱婕忔湀銆嶁�斺�旀墿鍒楁敼涓�**浠ュ綋鏈熶骇鐗╀负搴�**銆愬緟楠屾敹銆�
- **鐜拌薄锛堢敤鎴锋姤鍛婏級**锛氱敓鎴愮殑 9 鏈堟眹鎬诲ぇ琛ㄩ噷 **8 鏈堝垪鍏ㄧ┖**锛岀疮璁℃紡鎺� 8 鏈堬紙瑙勪笂璐ц繍閲忕疮璁℃樉绀� 31309.58锛屾纭簲涓� 1-7鏈� 27734.46 + 8鏈� 3665.36 + 9鏈� 3575.12 = **34974.95**锛夈��
diff --git "a/docs/\347\224\237\346\210\220\346\261\207\346\200\273\345\244\247\350\241\250/2026\345\271\2649\346\234\210\351\201\223\350\267\257\350\277\220\350\276\223\351\207\217\346\261\207\346\200\273\350\241\250.xlsx" "b/docs/\347\224\237\346\210\220\346\261\207\346\200\273\345\244\247\350\241\250/2026\345\271\2649\346\234\210\351\201\223\350\267\257\350\277\220\350\276\223\351\207\217\346\261\207\346\200\273\350\241\250.xlsx"
index 287aa1d..dac7381 100644
--- "a/docs/\347\224\237\346\210\220\346\261\207\346\200\273\345\244\247\350\241\250/2026\345\271\2649\346\234\210\351\201\223\350\267\257\350\277\220\350\276\223\351\207\217\346\261\207\346\200\273\350\241\250.xlsx"
+++ "b/docs/\347\224\237\346\210\220\346\261\207\346\200\273\345\244\247\350\241\250/2026\345\271\2649\346\234\210\351\201\223\350\267\257\350\277\220\350\276\223\351\207\217\346\261\207\346\200\273\350\241\250.xlsx"
Binary files differ
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummaryLayoutExpander.java b/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummaryLayoutExpander.java
index 6d3b317..c9cd5a4 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummaryLayoutExpander.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummaryLayoutExpander.java
@@ -264,23 +264,48 @@
return insertCol;
}
- /** 琛ㄥご琛岋紙0 鍩猴級锛氬惈銆屽勾+鏈堛�嶈〃澶村崟鍏冩牸鐨勮锛涜建閬撱�佽疆娓℃湁涓や釜鍧� 鈫� 涓よ銆� */
+ /**
+ * 琛ㄥご琛岋紙0 鍩猴級锛氳建閬撱�佽疆娓¤繖绫讳竴椤典袱涓潡鐨勬湁涓よ銆�
+ *
+ * <p>2026-10-12 浜屾淇锛氬厛鍙栥�屾湀浠借〃澶存牸鏈�澶氱殑閭d竴琛屻�嶄綔鍩哄噯锛屾妸瀹冪殑鏈堜唤鍒楀綋浣滄爣鍑嗗垪锛�
+ * 鍙湁杩欎簺鍒椾笂澶у崐鏄湀浠芥牸鐨勮鎵嶇畻琛ㄥご琛屻�傚墠鐗堝彧瑕佹眰銆屾暣琛� 鈮�2 涓湀浠芥牸銆嶏紝
+ * 浼氭妸鏁版嵁琛岄噷鎭板ソ钀芥垚鏃ユ湡搴忓垪鐨勬暟鍊煎綋鎴愯〃澶� 鈫� 鎵╁垪鏃舵妸鏈堜唤鏃ユ湡鍐欒繘鏁版嵁琛�
+ * 锛�2026-09 姣嶇増 ` 璐ц繍!S11`銆乣鍑虹!S6` 绛� 13 鏍艰鍐欐垚 46266锛夈��
+ */
private List<Integer> headerRowsOf(Sheet sh) {
- List<Integer> rows = new ArrayList<>();
- int lastRow = Math.min(sh.getLastRowNum(), sh.getFirstRowNum() + HEADER_SCAN_ROWS);
- for (int r = sh.getFirstRowNum(); r <= lastRow; r++) {
+ int first = sh.getFirstRowNum();
+ int lastRow = Math.min(sh.getLastRowNum(), first + HEADER_SCAN_ROWS);
+ List<Integer> base = new ArrayList<>();
+ for (int r = first; r <= lastRow; r++) {
Row row = sh.getRow(r);
if (row == null) continue;
- for (int c = row.getFirstCellNum(); c >= 0 && c < row.getLastCellNum(); c++) {
- if (yearMonthOf(row.getCell(c)) != null) {
- rows.add(r);
- break;
- }
+ List<Integer> cols = monthColsOf(row);
+ if (cols.size() > base.size()) base = cols;
+ }
+ List<Integer> rows = new ArrayList<>();
+ if (base.size() < 2) return rows;
+ int need = Math.max(2, (base.size() + 1) / 2);
+ for (int r = first; r <= lastRow; r++) {
+ Row row = sh.getRow(r);
+ if (row == null) continue;
+ int hit = 0;
+ for (int c : base) {
+ if (yearMonthOf(row.getCell(c)) != null) hit++;
}
+ if (hit >= need) rows.add(r);
}
return rows;
}
+ /** 琛屽唴鎵�鏈夈�屽勾+鏈堛�嶈〃澶存牸鐨勫垪鍙凤紙0 鍩猴級 */
+ private List<Integer> monthColsOf(Row row) {
+ List<Integer> cols = new ArrayList<>();
+ for (int c = row.getFirstCellNum(); c >= 0 && c < row.getLastCellNum(); c++) {
+ if (yearMonthOf(row.getCell(c)) != null) cols.add(c);
+ }
+ return cols;
+ }
+
private Map<Integer, Integer> monthCols(Sheet sh, int year) {
Map<Integer, Integer> cols = new LinkedHashMap<>();
int lastRow = Math.min(sh.getLastRowNum(), sh.getFirstRowNum() + HEADER_SCAN_ROWS);
--
Gitblit v1.9.1