From 87733eb3623593da247c051593d64b8ff9e1d3a4 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 06 十一月 2026 19:00:39 +0800
Subject: [PATCH] feat(crm,mes): 扩展客户字段与重构批次号生成逻辑
---
yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/SeedQualityScanTest.java | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/SeedQualityScanTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/SeedQualityScanTest.java
index c1d5b84..887c717 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/SeedQualityScanTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/SeedQualityScanTest.java
@@ -6,10 +6,13 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityDO;
import cn.iocoder.yudao.module.mes.dal.mysql.pro.bagcode.MesProBagCodeMapper;
import cn.iocoder.yudao.module.mes.dal.mysql.qc.seedquality.MesQcSeedQualityMapper;
+import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
+import cn.iocoder.yudao.module.mes.service.qc.seedquality.MesQcSeedIndicatorRangeService;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.test.util.ReflectionTestUtils;
import java.util.Collections;
+import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
@@ -17,11 +20,19 @@
private final MesQcSeedQualityServiceImpl service = new MesQcSeedQualityServiceImpl();
private final MesProBagCodeMapper bags = mock(MesProBagCodeMapper.class);
private final MesQcSeedQualityMapper qualities = mock(MesQcSeedQualityMapper.class);
- @BeforeEach void setup() { ReflectionTestUtils.setField(service,"bagCodeMapper",bags); ReflectionTestUtils.setField(service,"qualityMapper",qualities); }
+ private final MesMdmItemService items = mock(MesMdmItemService.class);
+ private final MesQcSeedIndicatorRangeService ranges = mock(MesQcSeedIndicatorRangeService.class);
+ @BeforeEach void setup() {
+ ReflectionTestUtils.setField(service,"bagCodeMapper",bags);
+ ReflectionTestUtils.setField(service,"qualityMapper",qualities);
+ ReflectionTestUtils.setField(service,"mdmItemService",items);
+ ReflectionTestUtils.setField(service,"rangeService",ranges);
+ when(ranges.getEffectiveRanges(any())).thenReturn(List.of());
+ }
private MesProBagCodeDO bag() { return new MesProBagCodeDO().setId(1L).setCode("TRACE").setBusinessCode("BUSINESS").setStatus(20).setInboundEventId(9L).setBatchCode("BATCH"); }
@Test void businessScanReturnsCanonicalCodeAndPreviousResultWithoutWrites() {
when(bags.selectByScanCode("BUSINESS")).thenReturn(bag());
- when(qualities.selectByCode("TRACE")).thenReturn(MesQcSeedQualityDO.builder().id(2L).result(1).build());
+ when(qualities.selectListByCode("TRACE")).thenReturn(List.of(MesQcSeedQualityDO.builder().id(2L).result(1).build()));
var result = service.resolveScan("BUSINESS");
assertEquals("TRACE",result.get("code"));assertEquals(2L,result.get("qualityId"));assertEquals(true,result.get("inbound"));
verify(qualities,never()).insert(any(MesQcSeedQualityDO.class));
@@ -33,14 +44,14 @@
}
@Test void duplicateQualityIsRejectedAfterLockingSameBagForBothCodes() {
when(bags.selectByScanCodeForUpdate("BUSINESS")).thenReturn(bag());
- var req = new MesQcSeedQualitySubmitReqVO();req.setCode("BUSINESS");
- when(qualities.selectByCodeForUpdate("TRACE")).thenReturn(MesQcSeedQualityDO.builder().id(2L).result(1).build());
+ var req = new MesQcSeedQualitySubmitReqVO();req.setCode("BUSINESS");req.setQcLine(1);
+ when(qualities.selectListByCodeForUpdate("TRACE")).thenReturn(List.of(MesQcSeedQualityDO.builder().id(2L).result(1).build()));
req.setIndicators(Collections.nCopies(4,new MesQcSeedQualitySubmitReqVO.Indicator()));
assertThrows(IllegalArgumentException.class,()->service.submit(req));
- verify(qualities).selectByCodeForUpdate("TRACE");verify(qualities,never()).insert(any(MesQcSeedQualityDO.class));
+ verify(qualities).selectListByCodeForUpdate("TRACE");verify(qualities,never()).insert(any(MesQcSeedQualityDO.class));
}
@Test void unenteredAndCanceledBagsCannotSubmit() {
- var req = new MesQcSeedQualitySubmitReqVO();req.setCode("BUSINESS");req.setIndicators(Collections.nCopies(4,new MesQcSeedQualitySubmitReqVO.Indicator()));
+ var req = new MesQcSeedQualitySubmitReqVO();req.setCode("BUSINESS");req.setQcLine(1);req.setIndicators(Collections.nCopies(4,new MesQcSeedQualitySubmitReqVO.Indicator()));
when(bags.selectByScanCodeForUpdate("BUSINESS")).thenReturn(bag().setInboundEventId(null));
assertThrows(IllegalArgumentException.class,()->service.submit(req));
when(bags.selectByScanCodeForUpdate("BUSINESS")).thenReturn(bag().setStatus(30));
--
Gitblit v1.9.3