From 6b8585fc452ecdcaa82d86fab79a9f27bb442851 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 09:13:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_南通_苏珩' into dev_南通_苏珩

---
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImplTest.java |   40 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImplTest.java
index 87a0e26..531fac2 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImplTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImplTest.java
@@ -6,12 +6,18 @@
 import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
 import cn.iocoder.yudao.module.mes.enums.qc.MesQcStatusEnum;
 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
+import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
+import cn.iocoder.yudao.module.mes.service.qc.MesQcCompletionHelper;
 import cn.iocoder.yudao.module.mes.service.qc.defectrecord.MesQcDefectRecordService;
+import cn.iocoder.yudao.module.mes.service.qc.imports.MesQcImportHelper;
+import cn.iocoder.yudao.module.mes.service.qc.ncr.MesQcNcrService;
+import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi;
 import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateItemService;
 import cn.iocoder.yudao.module.mes.service.wm.arrivalnotice.MesWmArrivalNoticeService;
 import cn.iocoder.yudao.module.mes.service.wm.outsourcereceipt.MesWmOutsourceReceiptService;
 import cn.iocoder.yudao.module.mes.service.qc.indicatorresult.MesQcIndicatorResultService;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.annotation.Import;
 import org.springframework.test.context.bean.override.mockito.MockitoBean;
@@ -23,6 +29,7 @@
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
 import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 /**
@@ -55,6 +62,21 @@
     private AdminUserApi adminUserApi;
     @MockitoBean
     private MesQcIndicatorResultService indicatorResultService;
+    @MockitoBean
+    private MesQcCompletionHelper completionHelper;
+    @MockitoBean
+    private SrmSupplierApi srmSupplierApi;
+    @MockitoBean
+    private MdmItemApi mdmItemApi;
+    @MockitoBean
+    private MesQcNcrService ncrService;
+    @MockitoBean
+    private MesQcImportHelper qcImportHelper;
+
+    @BeforeEach
+    void stubCompletionHelper() {
+        when(completionHelper.validateAndGetResult(anyString(), anyLong(), any(), any(), any())).thenReturn(1);
+    }
 
     @Test
     public void testFinishIqc_writeBack_arrivalNotice() {
@@ -174,17 +196,25 @@
     }
 
     @Test
-    public void testFinishIqc_checkResultEmpty() {
-        // 鍑嗗鏁版嵁锛歝heckResult 涓虹┖锛屽簲璇ユ姤閿�
+    public void testFinishIqc_checkResultAutoComputed() {
+        // 鍑嗗鏁版嵁锛氭娴嬬粨璁轰笉鍐嶇敱鐢ㄦ埛濉啓锛屽畬鎴愭椂鎸夊悎鏍�/涓嶅悎鏍兼暟閲忚嚜鍔ㄥ垽瀹�
         MesQcIqcDO iqc = randomPojo(MesQcIqcDO.class, o -> {
             o.setStatus(MesQcStatusEnum.DRAFT.getStatus());
-            o.setCheckResult(null); // 妫�娴嬬粨璁轰负绌�
+            o.setCheckResult(null);
             o.setSourceDocType(null);
+            o.setCheckQuantity(BigDecimal.valueOf(100));
+            o.setQualifiedQuantity(BigDecimal.valueOf(100));
+            o.setUnqualifiedQuantity(BigDecimal.ZERO);
         });
         iqcMapper.insert(iqc);
 
-        // 璋冪敤锛屽簲璇ユ姏寮傚父锛堟娴嬬粨璁哄繀濉級
-        assertThrows(Exception.class, () -> iqcService.finishIqc(iqc.getId()));
+        // 璋冪敤
+        iqcService.finishIqc(iqc.getId());
+
+        // 鏂█锛氭娴嬬粨璁虹敱绯荤粺鍒ゅ畾骞跺洖鍐�
+        MesQcIqcDO updatedIqc = iqcMapper.selectById(iqc.getId());
+        assertEquals(MesQcStatusEnum.FINISHED.getStatus(), updatedIqc.getStatus());
+        assertEquals(1, updatedIqc.getCheckResult());
     }
 
     @Test

--
Gitblit v1.9.3