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/pro/feedback/MesProFeedbackServiceImplTest.java | 52 ++++++++++++++++++++--------------------------------
1 files changed, 20 insertions(+), 32 deletions(-)
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/pro/feedback/MesProFeedbackServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/pro/feedback/MesProFeedbackServiceImplTest.java
index 304cee5..9c14b59 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/pro/feedback/MesProFeedbackServiceImplTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/pro/feedback/MesProFeedbackServiceImplTest.java
@@ -159,6 +159,7 @@
assertEquals(0, otherScrapQty.compareTo(updatedFeedback.getOtherScrapQuantity()));
// 浜ч噺宸茬粡鍦ㄦ姤宸ュ鎵规椂绱锛岃川妫�鍥炶皟涓嶈兘閲嶅绱銆�
+ verify(taskService).updateQualityQuantity(taskId, qualifiedQty, unqualifiedQty);
verify(taskService, never()).updateProducedQuantity(anyLong(), any(), any(), any());
verify(workOrderService, never()).updateProducedQuantity(anyLong(), any());
}
@@ -267,35 +268,26 @@
when(routeProcessService.getRouteProcessByRouteIdAndProcessId(routeId, processId))
.thenReturn(routeProcess);
- // mock: 浜у搧浜у嚭鍗�
- MesWmProductProduceDO produce = randomPojo(MesWmProductProduceDO.class);
- when(productProduceService.generateProductProduce(any(), eq(false), any())).thenReturn(produce);
-
- // mock: 浜у嚭琛岋紙鐢ㄤ簬 updateTaskAndWorkOrderByFeedback锛�
+ // 鍏抽敭鏈亾宸ュ簭绱宸ュ崟浜ч噺锛岃川閲忔暟閲忕瓑寰呮楠屻��
when(workOrderProcessService.getLastWorkOrderProcessByWorkOrderId(feedback.getWorkOrderId()))
.thenReturn(new MesProWorkOrderProcessDO().setProcessId(processId));
- MesWmProductProduceLineDO qualifiedLine = MesWmProductProduceLineDO.builder()
- .quantity(BigDecimal.valueOf(80))
- .qualityStatus(MesWmQualityStatusEnum.PASS.getStatus()).build();
- when(produceLineService.getProductProduceLineListByFeedbackId(feedback.getId()))
- .thenReturn(ListUtil.of(qualifiedLine));
// 璋冪敤
MesProFeedbackApproveReqVO reqVO = new MesProFeedbackApproveReqVO();
reqVO.setId(feedback.getId());
boolean result = feedbackService.approveFeedback(reqVO);
- // 鏂█ 1锛氳繑鍥� true锛堝凡瀹屾垚锛�
- assertTrue(result);
+ assertFalse(result);
- // 鏂█ 2锛氱姸鎬佷负宸插畬鎴愶紝uncheckQuantity 娓呴浂
+ // 鏈粡妫�楠岀殑鎶ュ伐涓嶅厑璁哥洿鎺ュ叆搴撱��
MesProFeedbackDO updated = feedbackMapper.selectById(feedback.getId());
- assertEquals(MesProFeedbackStatusEnum.FINISHED.getStatus(), updated.getStatus());
- assertEquals(0, BigDecimal.ZERO.compareTo(updated.getUncheckQuantity()));
+ assertEquals(MesProFeedbackStatusEnum.UNCHECK.getStatus(), updated.getStatus());
+ assertEquals(0, feedback.getFeedbackQuantity().compareTo(updated.getUncheckQuantity()));
+ assertEquals(0, BigDecimal.ZERO.compareTo(updated.getQualifiedQuantity()));
// 鏂█ 3锛氳皟鐢ㄤ簡浜у嚭鍗曠敓鎴� + 鍏ュ簱 + 浠诲姟/宸ュ崟鏇存柊
- verify(productProduceService).generateProductProduce(any(), eq(false), any());
- verify(productProduceService).finishProductProduce(produce.getId());
+ verify(productProduceService).generateProductProduce(any(), eq(true), any());
+ verify(productProduceService, never()).finishProductProduce(anyLong());
verify(taskService).updateProducedQuantity(eq(feedback.getTaskId()),
any(BigDecimal.class), any(BigDecimal.class), any(BigDecimal.class));
verify(workOrderService).updateProducedQuantity(eq(feedback.getWorkOrderId()),
@@ -364,24 +356,21 @@
.keyFlag(false).checkFlag(false).build();
when(routeProcessService.getRouteProcessByRouteIdAndProcessId(routeId, processId))
.thenReturn(routeProcess);
- MesWmProductProduceDO produce = randomPojo(MesWmProductProduceDO.class);
- when(productProduceService.generateProductProduce(any(), eq(false), any())).thenReturn(produce);
// 璋冪敤
MesProFeedbackApproveReqVO reqVO = new MesProFeedbackApproveReqVO();
reqVO.setId(feedback.getId());
boolean result = feedbackService.approveFeedback(reqVO);
- // 鏂█ 1锛氳繑鍥� true锛堝凡瀹屾垚锛�
- assertTrue(result);
+ assertFalse(result);
// 鏂█ 2锛氱姸鎬佷负宸插畬鎴�
MesProFeedbackDO updated = feedbackMapper.selectById(feedback.getId());
- assertEquals(MesProFeedbackStatusEnum.FINISHED.getStatus(), updated.getStatus());
+ assertEquals(MesProFeedbackStatusEnum.UNCHECK.getStatus(), updated.getStatus());
// 闈炲叧閿伐搴忎篃鐢熸垚浜у嚭骞剁疮璁′换鍔¤繘搴︼紝浣嗕笉绱宸ュ崟鎬讳骇閲忋��
- verify(productProduceService).generateProductProduce(any(), eq(false), any());
- verify(productProduceService).finishProductProduce(produce.getId());
+ verify(productProduceService).generateProductProduce(any(), eq(true), any());
+ verify(productProduceService, never()).finishProductProduce(anyLong());
verify(taskService).updateProducedQuantity(eq(feedback.getTaskId()), any(), any(), any());
verify(workOrderService, never()).updateProducedQuantity(anyLong(), any());
}
@@ -407,15 +396,12 @@
when(routeProcessService.getRouteProcessByRouteIdAndProcessId(routeId, processId))
.thenReturn(routeProcess);
- // 璋冪敤锛屽簲璇ユ姏寮傚父
+ // 寰呮鏁伴噺涓嶅啀闃绘闈炴楠屾爣璇嗗伐搴忔姤宸ャ��
MesProFeedbackApproveReqVO reqVO = new MesProFeedbackApproveReqVO();
reqVO.setId(feedback.getId());
- assertThrows(Exception.class, () ->
- feedbackService.approveFeedback(reqVO));
-
- // 鏂█锛氫笉搴旇鎵ц浠讳綍鍚庣画鎿嶄綔
- verify(productProduceService, never()).generateProductProduce(any(), anyBoolean(), any());
- verify(itemConsumeService, never()).generateItemConsume(any());
+ assertFalse(feedbackService.approveFeedback(reqVO));
+ verify(productProduceService).generateProductProduce(any(), eq(true), any());
+ verify(productProduceService, never()).finishProductProduce(anyLong());
}
@Test
@@ -450,7 +436,7 @@
// 璐ㄦ宸ュ簭鏃犺鏄惁鍏抽敭宸ュ簭锛岄兘杩涘叆寰呮楠屻��
MesProFeedbackDO updated = feedbackMapper.selectById(feedback.getId());
assertEquals(MesProFeedbackStatusEnum.UNCHECK.getStatus(), updated.getStatus());
- assertEquals(0, BigDecimal.ZERO.compareTo(updated.getUncheckQuantity()));
+ assertEquals(0, feedback.getFeedbackQuantity().compareTo(updated.getUncheckQuantity()));
verify(productProduceService).generateProductProduce(any(), eq(true), any());
verify(productProduceService, never()).finishProductProduce(anyLong());
@@ -601,9 +587,11 @@
MesProFeedbackQuickCreateReqVO req = new MesProFeedbackQuickCreateReqVO();
req.setTaskId(curTaskId);
req.setFeedbackQuantity(BigDecimal.TEN);
+ req.setFeedbackTime(java.time.LocalDateTime.of(2026, 10, 20, 9, 30));
MesProFeedbackQuickCreateRespVO resp = feedbackService.quickCreateFeedback(req);
assertNotNull(resp);
assertNotNull(resp.getFeedbackId());
+ assertEquals(req.getFeedbackTime(), feedbackMapper.selectById(resp.getFeedbackId()).getFeedbackTime());
verify(autoCodeRecordService).generateAutoCode(anyString());
}
--
Gitblit v1.9.3