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