From c116ace60244d86cb1d7d9412437b7ad817e0649 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 23 七月 2026 10:12:51 +0800
Subject: [PATCH] refactor(mes): 移除供应商服务相关代码并更新测试配置
---
yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/md/autocode/MesMdAutoCodeRecordServiceImplTest.java | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/md/autocode/MesMdAutoCodeRecordServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/md/autocode/MesMdAutoCodeRecordServiceImplTest.java
index a566df9..275e13c 100644
--- a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/md/autocode/MesMdAutoCodeRecordServiceImplTest.java
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/md/autocode/MesMdAutoCodeRecordServiceImplTest.java
@@ -99,6 +99,42 @@
}
@Test
+ public void testGenerateAutoCode_retryWhenResultExists() {
+ // 鍑嗗鍙傛暟
+ String ruleCode = "DV_MACHINERY_CODE";
+ MesMdAutoCodeRuleDO rule = new MesMdAutoCodeRuleDO().setId(5L).setCode(ruleCode).setPadded(false);
+ MesMdAutoCodePartDO part1 = new MesMdAutoCodePartDO().setType(MesMdAutoCodePartTypeEnum.FIXED_CHAR.getType())
+ .setFixCharacter("M").setLength(1).setSort(1);
+ MesMdAutoCodePartDO part2 = new MesMdAutoCodePartDO().setType(MesMdAutoCodePartTypeEnum.SERIAL_NUMBER.getType())
+ .setSerialStartNo(1).setSerialStep(1).setLength(5).setSort(2).setCycleFlag(false);
+ // mock
+ when(ruleService.getAutoCodeRuleByCode(ruleCode)).thenReturn(rule);
+ when(partService.getAutoCodePartListByRuleId(5L)).thenReturn(Arrays.asList(part1, part2));
+ when(fixedCharStrategy.generate(eq(part1), any(MesMdAutoCodeContext.class))).thenReturn("M");
+ long[] serialNoRef = {0L};
+ when(serialNumberStrategy.generate(eq(part2), any(MesMdAutoCodeContext.class))).thenAnswer(invocation -> {
+ MesMdAutoCodeContext context = invocation.getArgument(1);
+ long serialNo = ++serialNoRef[0];
+ context.setSerialNo(serialNo);
+ return String.format("%05d", serialNo);
+ });
+ when(recordMapper.selectByResult("M00001")).thenReturn(new MesMdAutoCodeRecordDO());
+ when(recordMapper.selectByResult("M00002")).thenReturn(new MesMdAutoCodeRecordDO());
+ when(recordMapper.selectByResult("M00003")).thenReturn(null);
+
+ // 璋冪敤
+ String result = recordService.generateAutoCode(ruleCode, null);
+ // 鏂█
+ assertEquals("M00003", result);
+ ArgumentCaptor<MesMdAutoCodeRecordDO> captor = ArgumentCaptor.forClass(MesMdAutoCodeRecordDO.class);
+ verify(recordMapper).insert(captor.capture());
+ MesMdAutoCodeRecordDO record = captor.getValue();
+ assertEquals(5L, record.getRuleId());
+ assertEquals("M00003", record.getResult());
+ assertEquals(3L, record.getSerialNo());
+ }
+
+ @Test
public void testGenerateAutoCode_withInputChar() {
// 鍑嗗鍙傛暟
String ruleCode = "CLIENT_CODE";
--
Gitblit v1.9.3