From bc1b16a708ca7bec89d2e1a435c023477f107a59 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期日, 25 十月 2026 12:42:04 +0800
Subject: [PATCH] feat(mes): 添加MES系统自动编码规则支持
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ncr/MesQcNcrServiceImpl.java | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ncr/MesQcNcrServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ncr/MesQcNcrServiceImpl.java
index a28e0a6..fbaf135 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ncr/MesQcNcrServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ncr/MesQcNcrServiceImpl.java
@@ -9,6 +9,8 @@
import cn.iocoder.yudao.module.mes.dal.mysql.qc.ncr.MesQcNcrMapper;
import cn.iocoder.yudao.module.mes.enums.qc.MesNcrStatusEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum;
+import cn.iocoder.yudao.module.mes.enums.md.autocode.MesMdAutoCodeRuleCodeEnum;
+import cn.iocoder.yudao.module.mes.service.md.autocode.MesMdAutoCodeRecordService;
import cn.iocoder.yudao.module.mes.service.qc.iqc.MesQcIqcService;
import cn.iocoder.yudao.module.mes.service.qc.ipqc.MesQcIpqcService;
import cn.iocoder.yudao.module.mes.service.qc.oqc.MesQcOqcService;
@@ -20,6 +22,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
+import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime;
import java.util.Collection;
@@ -48,6 +51,7 @@
*/
@Service
@Validated
+@Slf4j
public class MesQcNcrServiceImpl implements MesQcNcrService {
@Resource
@@ -61,6 +65,9 @@
@Resource
private MesQcItemResolver qcItemResolver;
+
+ @Resource
+ private MesMdAutoCodeRecordService autoCodeRecordService;
@Resource
@Lazy
@@ -78,6 +85,9 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Long createNcr(MesQcNcrSaveReqVO createReqVO) {
+ if (StrUtil.isBlank(createReqVO.getCode())) {
+ createReqVO.setCode(generateNcrCode());
+ }
// 1. 鏍¢獙鏁版嵁
validateNcrCodeUnique(null, createReqVO.getCode());
validateItemExists(createReqVO.getItemId());
@@ -93,6 +103,17 @@
return ncr.getId();
}
+ private String generateNcrCode() {
+ try {
+ return autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.QC_NCR_CODE.getCode());
+ } catch (Exception e) {
+ log.warn("NCR 缂栫爜瑙勫垯 {} 涓嶅彲鐢紝闄嶇骇浣跨敤鏃堕棿鎴崇紪鐮�",
+ MesMdAutoCodeRuleCodeEnum.QC_NCR_CODE.getCode(), e);
+ return "NCR" + LocalDateTime.now()
+ .format(java.time.format.DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
+ }
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
public void updateNcr(MesQcNcrSaveReqVO updateReqVO) {
--
Gitblit v1.9.3