From c41453da216df0e5c01a9d319544c88446e22b66 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 26 八月 2026 10:51:47 +0800
Subject: [PATCH] fix(approve): 修复审批模板更新时的引用检查逻辑
---
src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 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 9a5f0b8..fa049f1 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
@@ -85,8 +85,8 @@
@Override
public Boolean updateApprovalTemplateDto(ApprovalTemplateDto approvalTemplateDto) {
- // 妫�鏌ユā鏉挎槸鍚﹁瀹℃壒瀹炰緥寮曠敤
- if (isTemplateReferenced(approvalTemplateDto.getId())) {
+ // 妫�鏌ユā鏉挎槸鍚﹁杩涜涓殑瀹℃壒瀹炰緥寮曠敤
+ if (hasPendingReference(approvalTemplateDto.getId())) {
throw new RuntimeException("璇ュ鎵规ā鏉垮凡琚鎵规祦绋嬪紩鐢紝鏃犳硶缂栬緫");
}
approvalTemplateMapper.updateById(approvalTemplateDto);
@@ -305,4 +305,17 @@
);
return count != null && count > 0;
}
+
+ private boolean hasPendingReference(Long templateId) {
+ if (templateId == null) {
+ return false;
+ }
+ Long count = approvalInstanceMapper.selectCount(
+ new LambdaQueryWrapper<ApprovalInstance>()
+ .eq(ApprovalInstance::getTemplateId, templateId)
+ .eq(ApprovalInstance::getDeleted, 0)
+ .eq(ApprovalInstance::getStatus, "PENDING")
+ );
+ return count != null && count > 0;
+ }
}
--
Gitblit v1.9.3