From 962f78c8383e7c884ddb08c951c15e5ba6eb4cb8 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 23 十月 2026 15:43:33 +0800
Subject: [PATCH] fix: 完善审批流程与业务状态校验
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pd/processparamtemplate/MesPdProcessParamTemplateServiceImpl.java | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pd/processparamtemplate/MesPdProcessParamTemplateServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pd/processparamtemplate/MesPdProcessParamTemplateServiceImpl.java
index d12b356..c3e4fb7 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pd/processparamtemplate/MesPdProcessParamTemplateServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pd/processparamtemplate/MesPdProcessParamTemplateServiceImpl.java
@@ -56,9 +56,16 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Long createProcessParamTemplate(MesPdProcessParamTemplateSaveReqVO createReqVO) {
- // 1. 鐢熸垚妯℃澘缂栫爜
- String templateCode = autoCodeRecordService.generateAutoCode(
- MesMdAutoCodeRuleCodeEnum.PD_PROCESS_PARAM_TEMPLATE_CODE.getCode());
+ // 1. 浣跨敤鎵嬪~缂栫爜锛屾垨鑷姩鐢熸垚缂栫爜
+ String templateCode = createReqVO.getTemplateCode();
+ if (StrUtil.isNotBlank(templateCode)) {
+ if (templateMapper.selectByTemplateCode(templateCode) != null) {
+ throw exception(PD_PROCESS_PARAM_TEMPLATE_CODE_DUPLICATE);
+ }
+ } else {
+ templateCode = autoCodeRecordService.generateAutoCode(
+ MesMdAutoCodeRuleCodeEnum.PD_PROCESS_PARAM_TEMPLATE_CODE.getCode());
+ }
// 2. 鎻掑叆妯℃澘涓昏〃
MesPdProcessParamTemplateDO template = BeanUtils.toBean(createReqVO, MesPdProcessParamTemplateDO.class);
template.setTemplateCode(templateCode);
@@ -72,9 +79,19 @@
@Transactional(rollbackFor = Exception.class)
public void updateProcessParamTemplate(MesPdProcessParamTemplateSaveReqVO updateReqVO) {
// 1. 鏍¢獙瀛樺湪
- validateProcessParamTemplateExists(updateReqVO.getId());
- // 2. 鏇存柊妯℃澘涓昏〃
+ MesPdProcessParamTemplateDO existing = validateProcessParamTemplateExists(updateReqVO.getId());
+ // 2. 鏇存柊妯℃澘涓昏〃锛氱紪鐮佺暀绌烘垨鏈彉鍖栧垯涓嶄慨鏀癸紱濉啓浜嗘柊缂栫爜鍒欐牎楠屽敮涓�
MesPdProcessParamTemplateDO updateObj = BeanUtils.toBean(updateReqVO, MesPdProcessParamTemplateDO.class);
+ String templateCode = updateReqVO.getTemplateCode();
+ if (StrUtil.isNotBlank(templateCode) && !StrUtil.equals(templateCode, existing.getTemplateCode())) {
+ if (templateMapper.selectByTemplateCode(templateCode) != null) {
+ throw exception(PD_PROCESS_PARAM_TEMPLATE_CODE_DUPLICATE);
+ }
+ updateObj.setTemplateCode(templateCode);
+ } else {
+ // 缃┖锛岄伩鍏� MyBatis-Plus 鏇存柊鏃惰鐩栧師缂栫爜
+ updateObj.setTemplateCode(null);
+ }
templateMapper.updateById(updateObj);
// 3. 鍒犻櫎鏃ф槑缁嗗苟閲嶆柊鎻掑叆锛堝揩鐓фā寮忥細鍏堝垹鍚庢彃锛�
detailMapper.deleteByTemplateId(updateReqVO.getId());
--
Gitblit v1.9.3