20 小时以前 c41453da216df0e5c01a9d319544c88446e22b66
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;
    }
}