From ffca46b39d25439a06a27cafda2ec523a3fb67cf Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 27 十月 2026 17:53:02 +0800
Subject: [PATCH] feat(mes): 增加盘号字段支持和优化报工质检流程

---
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImplTest.java |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImplTest.java
index 7207edb..6165ed5 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImplTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImplTest.java
@@ -49,6 +49,11 @@
 @Import(MesQcIpqcServiceImpl.class)
 public class MesQcIpqcServiceImplTest extends BaseDbUnitTest {
 
+    @MockitoBean
+    private cn.iocoder.yudao.module.mes.service.qc.imports.MesQcImportHelper qcImportHelper;
+    @MockitoBean
+    private cn.iocoder.yudao.module.mes.service.qc.ncr.MesQcNcrService ncrService;
+
     @Resource
     private MesQcIpqcServiceImpl ipqcService;
 
@@ -272,12 +277,14 @@
         MesProWorkOrderDO workOrder = new MesProWorkOrderDO();
         workOrder.setId(workOrderId);
         workOrder.setProductId(productId);
+        // 鐢熶骇瀹屾垚鍚庝粛鍙墜宸ヨˉ褰曡川妫�銆�
+        workOrder.setStatus(cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderStatusEnum.FINISHED.getStatus());
         when(workOrderService.validateWorkOrderExists(workOrderId)).thenReturn(workOrder);
         when(workOrderService.validateWorkOrderConfirmed(workOrderId)).thenReturn(workOrder);
         // mock 妯℃澘鍖归厤
         MesQcTemplateItemDO templateItem = new MesQcTemplateItemDO();
         templateItem.setTemplateId(templateId);
-        when(templateItemService.getRequiredTemplateByItemIdAndType(eq(productId), anyInt())).thenReturn(templateItem);
+        when(templateItemService.getTemplateItemList(eq(productId), anyInt(), isNull(), isNull())).thenReturn(java.util.List.of(templateItem));
         // mock 宸ヨ壓璺嚎
         MesProRouteProductDO routeProduct = new MesProRouteProductDO();
         routeProduct.setRouteId(routeId);
@@ -322,6 +329,7 @@
         MesProWorkOrderDO workOrder = new MesProWorkOrderDO();
         workOrder.setId(workOrderId);
         workOrder.setProductId(productId);
+        workOrder.setStatus(cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderStatusEnum.CONFIRMED.getStatus());
         when(workOrderService.validateWorkOrderExists(workOrderId)).thenReturn(workOrder);
         when(workOrderService.validateWorkOrderConfirmed(workOrderId)).thenReturn(workOrder);
         // mock 浠诲姟
@@ -330,11 +338,11 @@
         task.setWorkOrderId(workOrderId);
         task.setWorkstationId(workstationId);
         task.setItemId(productId);
-        when(taskService.validateTaskNotFinished(taskId)).thenReturn(task);
+        when(taskService.validateTaskExists(taskId)).thenReturn(task);
         // mock 妯℃澘鍖归厤
         MesQcTemplateItemDO templateItem = new MesQcTemplateItemDO();
         templateItem.setTemplateId(templateId);
-        when(templateItemService.getRequiredTemplateByItemIdAndType(eq(productId), anyInt())).thenReturn(templateItem);
+        when(templateItemService.getTemplateItemList(eq(productId), anyInt(), isNull(), isNull())).thenReturn(java.util.List.of(templateItem));
 
         // 璋冪敤
         Long ipqcId = ipqcService.createIpqc(reqVO);
@@ -375,12 +383,13 @@
         MesProWorkOrderDO workOrder = new MesProWorkOrderDO();
         workOrder.setId(workOrderId);
         workOrder.setProductId(productId);
+        workOrder.setStatus(cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderStatusEnum.CONFIRMED.getStatus());
         when(workOrderService.validateWorkOrderExists(workOrderId)).thenReturn(workOrder);
         when(workOrderService.validateWorkOrderConfirmed(workOrderId)).thenReturn(workOrder);
         // mock 妯℃澘鍖归厤
         MesQcTemplateItemDO templateItem = new MesQcTemplateItemDO();
         templateItem.setTemplateId(templateId);
-        when(templateItemService.getRequiredTemplateByItemIdAndType(eq(productId), anyInt())).thenReturn(templateItem);
+        when(templateItemService.getTemplateItemList(eq(productId), anyInt(), isNull(), isNull())).thenReturn(java.util.List.of(templateItem));
         // mock 宸ヨ壓璺嚎瀛樺湪
         MesProRouteProductDO routeProduct = new MesProRouteProductDO();
         routeProduct.setRouteId(routeId);
@@ -428,11 +437,12 @@
         MesProWorkOrderDO workOrder = new MesProWorkOrderDO();
         workOrder.setId(workOrderId);
         workOrder.setProductId(productId);
+        workOrder.setStatus(cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderStatusEnum.CONFIRMED.getStatus());
         when(workOrderService.validateWorkOrderExists(workOrderId)).thenReturn(workOrder);
         when(workOrderService.validateWorkOrderConfirmed(workOrderId)).thenReturn(workOrder);
         MesQcTemplateItemDO templateItem = new MesQcTemplateItemDO();
         templateItem.setTemplateId(templateId);
-        when(templateItemService.getRequiredTemplateByItemIdAndType(eq(productId), anyInt())).thenReturn(templateItem);
+        when(templateItemService.getTemplateItemList(eq(productId), anyInt(), isNull(), isNull())).thenReturn(java.util.List.of(templateItem));
         when(feedbackService.validateFeedbackExists(feedbackId)).thenReturn(new MesProFeedbackDO());
 
         // 璋冪敤锛屾柇瑷�寮傚父
@@ -470,11 +480,12 @@
         MesProWorkOrderDO workOrder = new MesProWorkOrderDO();
         workOrder.setId(workOrderId);
         workOrder.setProductId(productId);
+        workOrder.setStatus(cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderStatusEnum.CONFIRMED.getStatus());
         when(workOrderService.validateWorkOrderExists(workOrderId)).thenReturn(workOrder);
         when(workOrderService.validateWorkOrderConfirmed(workOrderId)).thenReturn(workOrder);
         MesQcTemplateItemDO templateItem = new MesQcTemplateItemDO();
         templateItem.setTemplateId(templateId);
-        when(templateItemService.getRequiredTemplateByItemIdAndType(eq(productId), anyInt())).thenReturn(templateItem);
+        when(templateItemService.getTemplateItemList(eq(productId), anyInt(), isNull(), isNull())).thenReturn(java.util.List.of(templateItem));
         when(feedbackService.validateFeedbackExists(feedbackId)).thenReturn(new MesProFeedbackDO());
         // mock锛氫骇鍑鸿瀛樺湪浣� feedbackId 涓嶅尮閰�
         MesWmProductProduceLineDO line = new MesWmProductProduceLineDO();
@@ -518,11 +529,12 @@
         MesProWorkOrderDO workOrder = new MesProWorkOrderDO();
         workOrder.setId(workOrderId);
         workOrder.setProductId(productId);
+        workOrder.setStatus(cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderStatusEnum.CONFIRMED.getStatus());
         when(workOrderService.validateWorkOrderExists(workOrderId)).thenReturn(workOrder);
         when(workOrderService.validateWorkOrderConfirmed(workOrderId)).thenReturn(workOrder);
         MesQcTemplateItemDO templateItem = new MesQcTemplateItemDO();
         templateItem.setTemplateId(templateId);
-        when(templateItemService.getRequiredTemplateByItemIdAndType(eq(productId), anyInt())).thenReturn(templateItem);
+        when(templateItemService.getTemplateItemList(eq(productId), anyInt(), isNull(), isNull())).thenReturn(java.util.List.of(templateItem));
         when(feedbackService.validateFeedbackExists(feedbackId)).thenReturn(new MesProFeedbackDO());
         // mock锛氫骇鍑鸿瀛樺湪涓斿綊灞炴纭紝浣嗕笉鏄� PENDING 鐘舵��
         MesWmProductProduceLineDO line = new MesWmProductProduceLineDO();
@@ -566,11 +578,12 @@
         MesProWorkOrderDO workOrder = new MesProWorkOrderDO();
         workOrder.setId(workOrderId);
         workOrder.setProductId(productId);
+        workOrder.setStatus(cn.iocoder.yudao.module.mes.enums.pro.MesProWorkOrderStatusEnum.CONFIRMED.getStatus());
         when(workOrderService.validateWorkOrderExists(workOrderId)).thenReturn(workOrder);
         when(workOrderService.validateWorkOrderConfirmed(workOrderId)).thenReturn(workOrder);
         MesQcTemplateItemDO templateItem = new MesQcTemplateItemDO();
         templateItem.setTemplateId(templateId);
-        when(templateItemService.getRequiredTemplateByItemIdAndType(eq(productId), anyInt())).thenReturn(templateItem);
+        when(templateItemService.getTemplateItemList(eq(productId), anyInt(), isNull(), isNull())).thenReturn(java.util.List.of(templateItem));
         MesProFeedbackDO feedback = new MesProFeedbackDO();
         feedback.setId(feedbackId);
         feedback.setCode("FB-001");

--
Gitblit v1.9.3