From 23ec64ed997fc206fba9f0d6a84975f7b36c47be Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 11 十月 2026 16:09:26 +0800
Subject: [PATCH] 天津-奇缘恒艺 录数据需求修改
---
src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
index a0b07d5..6915e2a 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
@@ -13,6 +13,8 @@
import com.ruoyi.approve.bean.vo.ApprovalTemplateVo;
import com.ruoyi.approve.mapper.ApprovalTemplateMapper;
import com.ruoyi.approve.mapper.ApprovalTemplateNodeApproverMapper;
+import com.ruoyi.approve.mapper.ApprovalInstanceMapper;
+import com.ruoyi.approve.pojo.ApprovalInstance;
import com.ruoyi.approve.pojo.ApprovalTemplate;
import com.ruoyi.approve.pojo.ApprovalTemplateNode;
import com.ruoyi.approve.pojo.ApprovalTemplateNodeApprover;
@@ -48,6 +50,7 @@
private final ApprovalTemplateMapper approvalTemplateMapper;
private final ApprovalTemplateNodeService approvalTemplateNodeService;
private final ApprovalTemplateNodeApproverMapper approvalTemplateNodeApproverMapper;
+ private final ApprovalInstanceMapper approvalInstanceMapper;
private final FileUtil fileUtil;
@Override
@@ -82,6 +85,17 @@
@Override
public Boolean updateApprovalTemplateDto(ApprovalTemplateDto approvalTemplateDto) {
+ ApprovalTemplate existingTemplate = approvalTemplateMapper.selectById(approvalTemplateDto.getId());
+ if (existingTemplate == null) {
+ throw new IllegalArgumentException("妯℃澘涓嶅瓨鍦�");
+ }
+ // 鍚敤涓殑妯℃澘鍙兘淇敼鍚敤鐘舵�侊紝鍏朵粬椤归渶鍏堝仠鐢ㄥ悗鍐嶇紪杈�
+ if (existingTemplate.getEnabled() != null && existingTemplate.getEnabled() == 1) {
+ ApprovalTemplate updateEntity = new ApprovalTemplate();
+ updateEntity.setId(approvalTemplateDto.getId());
+ updateEntity.setEnabled(approvalTemplateDto.getEnabled());
+ return approvalTemplateMapper.updateById(updateEntity) > 0;
+ }
approvalTemplateMapper.updateById(approvalTemplateDto);
approvalTemplateNodeService.remove(
new LambdaQueryWrapper<ApprovalTemplateNode>()
@@ -111,6 +125,12 @@
public Boolean delete(List<Long> ids) {
if (ids == null || ids.isEmpty()) {
return false;
+ }
+ // 妫�鏌ユā鏉挎槸鍚﹁瀹℃壒瀹炰緥寮曠敤
+ for (Long id : ids) {
+ if (isTemplateReferenced(id)) {
+ throw new RuntimeException("瀹℃壒妯℃澘锛圛D: " + id + "锛夊凡琚鎵规祦绋嬪紩鐢紝鏃犳硶鍒犻櫎");
+ }
}
ApprovalTemplate updateEntity = new ApprovalTemplate();
updateEntity.setDeleted(1);
@@ -275,4 +295,21 @@
BeanUtils.copyProperties(approver, approverVo);
return approverVo;
}
+
+ /**
+ * 妫�鏌ュ鎵规ā鏉挎槸鍚﹁瀹℃壒瀹炰緥寮曠敤
+ * @param templateId 妯℃澘ID
+ * @return true 琛ㄧず琚紩鐢紝false 琛ㄧず鏈寮曠敤
+ */
+ private boolean isTemplateReferenced(Long templateId) {
+ if (templateId == null) {
+ return false;
+ }
+ Long count = approvalInstanceMapper.selectCount(
+ new LambdaQueryWrapper<ApprovalInstance>()
+ .eq(ApprovalInstance::getTemplateId, templateId)
+ .eq(ApprovalInstance::getDeleted, 0)
+ );
+ return count != null && count > 0;
+ }
}
--
Gitblit v1.9.3