From 89a0e7cd7ec202e57e6971e27559b85c3c971aaf Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期一, 12 十月 2026 16:00:43 +0800
Subject: [PATCH] docs(交接): 记录 9 月导入核验与出表抽查结果、仍缺数据清单
---
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/layout/SummaryLayoutExpander.java | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
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 20c94ff..6d3b317 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
@@ -3,6 +3,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
@@ -80,6 +81,7 @@
if (sh == null || expanded.contains(sh.getSheetName())) continue;
shiftQualifiedRefs(sh, insertColOf);
}
+ recalcAndCache(wb);
int titleFixed = applyTitles(wb, year, targetMonth);
if (titleFixed > 0) {
log.info("鎵╁垪锛氭爣棰樻寜 {}骞磠}鏈� 閲嶅啓 {} 鏍�", year, targetMonth, titleFixed);
@@ -96,6 +98,7 @@
/** 鍙妸 7 涓爣棰橀〉鐨勬爣棰樻寜缁欏畾鏈熸閲嶅啓锛堢敤浜庝慨姝f瘝鐗堥噷婊炲悗鐨勬爣棰橈級銆� */
public byte[] fixTitles(byte[] source, int year, int month) {
try (XSSFWorkbook wb = new XSSFWorkbook(new ByteArrayInputStream(source))) {
+ recalcAndCache(wb);
int n = applyTitles(wb, year, month);
wb.setForceFormulaRecalculation(true);
ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -107,6 +110,17 @@
}
}
+ /** 鏁存湰閲嶇畻骞舵妸缁撴灉鍐欏叆缂撳瓨鍊硷細鍚﹀垯姣嶇増閲屽彧鏈夊叕寮忔病鏈夊�硷紝鍚庣画璇诲彇浼氭妸绌哄�煎綋 0锛�2026-10-12 淇級 */
+ private void recalcAndCache(XSSFWorkbook wb) {
+ try {
+ FormulaEvaluator ev = wb.getCreationHelper().createFormulaEvaluator();
+ ev.clearAllCachedResultValues();
+ ev.evaluateAll();
+ } catch (Exception e) {
+ log.warn("鎵╁垪锛氭暣鏈噸绠楁湭瀹屾垚锛堝叕寮忎粛鍦紝Excel 鎵撳紑浼氬啀绠楋級锛歿}", e.getMessage());
+ }
+ }
+
/** 鎶� 7 涓〉绛剧殑鏍囬鏂囧瓧鎸夈�岀疮璁�=1-M鏈堛�佸綋鏈�=M鏈堛�嶉噸鍐欙紱鍛戒腑鏍囪鎵嶆敼锛岄伩鍏嶈浼ゅ娉ㄣ�� */
private int applyTitles(XSSFWorkbook wb, int year, int month) {
int changed = 0;
--
Gitblit v1.9.1