From ed01be06d17f1159d32e7fa2133a32f2986d3b9f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 22 九月 2026 14:50:53 +0800
Subject: [PATCH] refactor(mes): 替换物料服务为MDM API并完善质检Word导出功能

---
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcProductReportWordBuilderTest.java |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcProductReportWordBuilderTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcProductReportWordBuilderTest.java
index 9de4db1..90d18f7 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcProductReportWordBuilderTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/indicatorresult/MesQcProductReportWordBuilderTest.java
@@ -54,21 +54,35 @@
             assertEquals("10.023銆�10.115", itemTable.getRow(2).getCell(1).getText().trim());
             assertEquals("/", itemTable.getRow(3).getCell(1).getText().trim());
 
-            // 鍒ゅ畾缁撹/璐ㄦ涓撶敤绔犵暀绌�
+            // 鍒ゅ畾缁撹甯﹀嚭妫�楠岀粨鏋滐紱璐ㄦ涓撶敤绔犵暀绌哄緟鐩栫珷
             assertTrue(itemTable.getRow(2).getCell(0).getText().contains("璇曟牱璐ㄩ噺 m /g"));
-            assertEquals("鍒ゅ畾缁撹锛�", tables.get(2).getRow(0).getCell(0).getText().trim());
+            assertEquals("鍒ゅ畾缁撹锛�1鍨�", tables.get(2).getRow(0).getCell(0).getText().trim());
             assertEquals("璐ㄦ涓撶敤绔狅細", tables.get(2).getRow(0).getCell(1).getText().trim());
 
             // 澶囨敞榛樿鏂囨
             assertTrue(tables.get(3).getRow(0).getCell(1).getText().contains("妫�楠岀粨鏋滀粎瀵规牱鍝佹湰韬垨鏈壒娆¤礋璐�"));
 
-            // 绛惧瓧琛岀暀绌猴紙鎵撳嵃鍚庢墜鍐欙級锛屼笉寰楀嚭鐜板鍚�
+            // 绛惧瓧琛屽甫鍑哄鍚嶏細妫�楠�=妫�娴嬩汉銆佸鏍�=澶嶆牳浜恒�佹壒鍑�=瀹℃牳浜�
             String signLine = doc.getParagraphs().stream()
                     .filter(p -> p.getText().contains("鎵瑰噯锛�"))
                     .findFirst().orElseThrow().getText();
-            assertTrue(signLine.contains("妫�楠岋細") && signLine.contains("澶嶆牳锛�"));
-            assertTrue(!signLine.contains("鏉庡崥") && !signLine.contains("鍛ㄤ簹娲�") && !signLine.contains("鍖呯繝钀�"),
-                    "绛惧瓧琛屽簲鐣欑┖锛屼笉杈撳嚭妫�楠�/澶嶆牳/鎵瑰噯濮撳悕");
+            assertTrue(signLine.contains("妫�楠岋細鏉庡崥"), "妫�楠屽簲甯﹀嚭妫�娴嬩汉濮撳悕锛�" + signLine);
+            assertTrue(signLine.contains("澶嶆牳锛氬懆浜氭磥"), "澶嶆牳搴斿甫鍑哄鏍镐汉濮撳悕锛�" + signLine);
+            assertTrue(signLine.contains("鎵瑰噯锛氬寘缈犺悕"), "鎵瑰噯搴斿甫鍑哄鏍镐汉濮撳悕锛�" + signLine);
+        }
+    }
+
+    @Test
+    public void testBuildWithoutSigners() throws IOException {
+        MesQcQcReportRespVO report = randomReport();
+        report.setInspectorName(null).setAuditName("").setApproveName(null);
+        byte[] docx = MesQcProductReportWordBuilder.build(report);
+        try (InputStream in = new ByteArrayInputStream(docx); XWPFDocument doc = new XWPFDocument(in)) {
+            String signLine = doc.getParagraphs().stream()
+                    .filter(p -> p.getText().contains("鎵瑰噯锛�"))
+                    .findFirst().orElseThrow().getText();
+            assertTrue(signLine.contains("妫�楠岋細") && signLine.contains("澶嶆牳锛�") && signLine.contains("鎵瑰噯锛�"),
+                    "鏈寚瀹氫汉鍛樻椂浠嶄繚鐣欎笁涓爮浣嶄緵鎵嬪啓锛�" + signLine);
         }
     }
 
@@ -80,7 +94,8 @@
                 .setSamplingTime(LocalDateTime.of(2026, 1, 6, 9, 0))
                 .setInspectDate(LocalDateTime.of(2026, 1, 6, 15, 0))
                 .setDocCreateTime(LocalDateTime.of(2026, 1, 6, 8, 0))
-                .setInspectorName("鏉庡崥").setAuditName("鍛ㄤ簹娲�").setApproveName("鍖呯繝钀�");
+                .setInspectorName("鏉庡崥").setAuditName("鍛ㄤ簹娲�").setApproveName("鍖呯繝钀�")
+                .setCheckResult(1).setCheckResultText("1鍨�");
 
         MesQcQcReportRespVO.ReportItem appearance = new MesQcQcReportRespVO.ReportItem();
         appearance.setIndicatorName("澶栬").setItemType(1).setSortOrder(10);

--
Gitblit v1.9.3