From c556e46c2a6232d74ab6dbf7566479ec955d905d Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期六, 16 五月 2026 16:00:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin-server/src/main/java/com/estate/expert/admin/stat/report/builder/DeviceReportBuilder.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/admin-server/src/main/java/com/estate/expert/admin/stat/report/builder/DeviceReportBuilder.java b/admin-server/src/main/java/com/estate/expert/admin/stat/report/builder/DeviceReportBuilder.java
index 4e27d9d..b9df00b 100644
--- a/admin-server/src/main/java/com/estate/expert/admin/stat/report/builder/DeviceReportBuilder.java
+++ b/admin-server/src/main/java/com/estate/expert/admin/stat/report/builder/DeviceReportBuilder.java
@@ -7,7 +7,9 @@
 import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
 import com.estate.expert.admin.service.UserFileService;
 import com.estate.expert.admin.stat.report.render.CustomPictureRenderPolicy;
+import com.estate.expert.admin.stat.report.render.DeviceGroupTablePolicy;
 import com.estate.expert.admin.stat.report.render.DeviceTablePolicy;
+import com.estate.expert.admin.stat.report.render.WordNumberingSanitizer;
 import org.springframework.core.io.ClassPathResource;
 
 import java.io.IOException;
@@ -73,7 +75,7 @@
 
         ConfigureBuilder builder = Configure.builder();
         builder.bind("data.设备信息", new LoopRowTableRenderPolicy());
-        builder.bind("data.设备分组信息", new LoopRowTableRenderPolicy());
+        builder.bind("data.设备分组信息", new DeviceGroupTablePolicy());
         builder.bind("data.评估结果.设备得分情况", new LoopRowTableRenderPolicy());
         builder.bind("详情", new LoopRowTableRenderPolicy());
         builder.bind("data.评估结果.分类评估", new LoopRowTableRenderPolicy());
@@ -96,8 +98,9 @@
 
     private XWPFTemplate compileAndRender(ClassPathResource res, ConfigureBuilder builder, JSONObject data) {
         try {
-            return XWPFTemplate.compile(res.getInputStream(), builder.build()).render(
-                    Map.of("data", data)
+            return WordNumberingSanitizer.sanitize(
+                    XWPFTemplate.compile(res.getInputStream(), builder.build()).render(Map.of("data", data)),
+                    res.getPath().contains("new")
             );
         } catch (IOException e) {
             throw new RuntimeException(e);

--
Gitblit v1.7.1