From 6f7cb955a2fbd54cfaac712537519af7b5707542 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 16 五月 2026 11:28:32 +0800
Subject: [PATCH] update
---
admin-server/src/main/java/com/estate/expert/admin/stat/report/render/WordNumberingSanitizer.java | 30 ++++++++++++++++++++++++++++++
admin-server/src/main/resources/templates/设备风险评估报告new.docx | 0
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/WordNumberingSanitizer.java b/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/WordNumberingSanitizer.java
index bc18727..980f840 100644
--- a/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/WordNumberingSanitizer.java
+++ b/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/WordNumberingSanitizer.java
@@ -4,7 +4,10 @@
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFNumbering;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
+import org.apache.poi.xwpf.usermodel.XWPFRun;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDecimalNumber;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNumLvl;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNumPr;
@@ -44,6 +47,9 @@
}
document.getTables().forEach(table -> table.getRows().forEach(row ->
row.getTableCells().forEach(cell -> sanitizeCell(document, cell, normalizeDangerDetail))));
+ if (normalizeDangerDetail) {
+ boldSummaryRows(document, "综合得分");
+ }
document.getHeaderList().forEach(header -> header.getParagraphs().forEach(WordNumberingSanitizer::sanitizeParagraph));
document.getFooterList().forEach(footer -> footer.getParagraphs().forEach(WordNumberingSanitizer::sanitizeParagraph));
}
@@ -60,6 +66,30 @@
row.getTableCells().forEach(innerCell -> sanitizeCell(document, innerCell, normalizeDangerDetail))));
}
+ private static void boldSummaryRows(XWPFDocument document, String markerText) {
+ if (document == null || markerText == null || markerText.isBlank()) {
+ return;
+ }
+
+ for (XWPFTable table : document.getTables()) {
+ for (XWPFTableRow row : table.getRows()) {
+ boolean summaryRow = row.getTableCells().stream()
+ .map(XWPFTableCell::getText)
+ .anyMatch(text -> text != null && text.contains(markerText));
+ if (!summaryRow) {
+ continue;
+ }
+ for (XWPFTableCell cell : row.getTableCells()) {
+ for (XWPFParagraph paragraph : cell.getParagraphs()) {
+ for (XWPFRun run : paragraph.getRuns()) {
+ run.setBold(true);
+ }
+ }
+ }
+ }
+ }
+ }
+
private static void normalizeDangerDetailHeadingNumbering(XWPFDocument document, List<XWPFParagraph> paragraphs) {
boolean inDangerDetail = false;
boolean pendingNewGroup = false;
diff --git "a/admin-server/src/main/resources/templates/\350\256\276\345\244\207\351\243\216\351\231\251\350\257\204\344\274\260\346\212\245\345\221\212new.docx" "b/admin-server/src/main/resources/templates/\350\256\276\345\244\207\351\243\216\351\231\251\350\257\204\344\274\260\346\212\245\345\221\212new.docx"
index c732ce6..c0f6720 100644
--- "a/admin-server/src/main/resources/templates/\350\256\276\345\244\207\351\243\216\351\231\251\350\257\204\344\274\260\346\212\245\345\221\212new.docx"
+++ "b/admin-server/src/main/resources/templates/\350\256\276\345\244\207\351\243\216\351\231\251\350\257\204\344\274\260\346\212\245\345\221\212new.docx"
Binary files differ
--
Gitblit v1.7.1