From e0e8e1c836b5f8e6c2a40ffd9efe22e7bdfcfdcd Mon Sep 17 00:00:00 2001
From: syruan <15555146157@163.com>
Date: Wed, 17 Dec 2025 14:54:34 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=B5=81=E5=B7=B2=E5=AD=98?=
=?UTF-8?q?=E5=9C=A8=E5=8F=8B=E5=A5=BD=E8=BF=94=E5=9B=9E=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/ApprovalProcessServiceImpl.java | 28 ++++++++++++-------
.../approval/ApprovalProcessMapper.xml | 5 ++--
2 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/approval/service/impl/ApprovalProcessServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/approval/service/impl/ApprovalProcessServiceImpl.java
index 9d738eb..c162b73 100644
--- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/approval/service/impl/ApprovalProcessServiceImpl.java
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/approval/service/impl/ApprovalProcessServiceImpl.java
@@ -56,17 +56,25 @@ public class ApprovalProcessServiceImpl implements IApprovalProcessService {
@Override
@Transactional(rollbackFor = Exception.class)
public int insertProcess(ApprovalProcess process) {
+ // 检查是否已存在相同业务类型的流程
+ ApprovalProcess existingProcess = processMapper.selectProcessByBusinessType(process.getBusinessType());
+ if (existingProcess != null) {
+ throw new RuntimeException("业务类型 [" + process.getBusinessType() + "] 的审批流程已存在,流程名称:" + existingProcess.getProcessName());
+ }
+
// 插入流程
int rows = processMapper.insertProcess(process);
-
- // 插入节点
- if (process.getNodeList() != null && !process.getNodeList().isEmpty()) {
- for (ApprovalNode node : process.getNodeList()) {
- node.setProcessId(process.getId());
+
+ if (rows > 0) {
+ // 插入节点
+ if (process.getNodeList() != null && !process.getNodeList().isEmpty()) {
+ for (ApprovalNode node : process.getNodeList()) {
+ node.setProcessId(process.getId());
+ }
+ nodeMapper.batchInsertNode(process.getNodeList());
}
- nodeMapper.batchInsertNode(process.getNodeList());
}
-
+
return rows;
}
@@ -75,10 +83,10 @@ public class ApprovalProcessServiceImpl implements IApprovalProcessService {
public int updateProcess(ApprovalProcess process) {
// 更新流程
int rows = processMapper.updateProcess(process);
-
+
// 删除旧节点
nodeMapper.deleteNodeByProcessId(process.getId());
-
+
// 插入新节点
if (process.getNodeList() != null && !process.getNodeList().isEmpty()) {
for (ApprovalNode node : process.getNodeList()) {
@@ -86,7 +94,7 @@ public class ApprovalProcessServiceImpl implements IApprovalProcessService {
}
nodeMapper.batchInsertNode(process.getNodeList());
}
-
+
return rows;
}
diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/approval/ApprovalProcessMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/approval/ApprovalProcessMapper.xml
index 53cf3e3..3d666a9 100644
--- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/approval/ApprovalProcessMapper.xml
+++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/approval/ApprovalProcessMapper.xml
@@ -52,8 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- insert into bm_approval_process
+ insert ignore into bm_approval_process
process_code,
process_name,