From 03ffc2598a261d1dc19e77b559268bb84032a389 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 21 四月 2026 08:51:45 +0800
Subject: [PATCH] feat(approve): 新增销售审批功能并优化审批流程

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index 48ffd86..ee26903 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -120,6 +121,7 @@
         approveProcess.setTenantId(approveProcessVO.getApproveDeptId());
         approveProcess.setApproveUserIds(approveProcessVO.getApproveUserIds());
         approveProcess.setApproveUserCurrentId(longList.get(0));
+        approveProcess.setApproveTitle(ObjectUtils.isNotEmpty(approveProcessVO.getApproveTitle()) ? approveProcessVO.getApproveTitle() : "");
         approveProcess.setApproveUserCurrentName(sysUsers
                 .stream()
                 .filter(SysUser -> SysUser.getUserId().equals(longList.get(0)))
@@ -221,20 +223,19 @@
         return approveProcessIPage;
     }
 
-    public void delByIds(List<Long> ids) {
-        for (Long approveId : ids) {
+    @Override
+    public void delByIds(List<Long> longs) {
+        ApproveProcess approveProcess;
+        for (Long approveId : longs) {
 
             //  閫昏緫鍒犻櫎瀹℃壒娴佺▼
             update(new UpdateWrapper<ApproveProcess>()
                     .lambda()
                     .set(ApproveProcess::getApproveDelete, 1)
-                    .eq(ApproveProcess::getId, approveId));
-            // 鍒犻櫎瀵瑰簲鐨勯檮浠�
-            commonFileService.deleteByBusinessId(approveId, FileNameType.ApproveProcess.getValue());
-            ApproveProcess approveProcess = approveProcessMapper.selectById(approveId);
+                    .eq(ApproveProcess::getApproveId, approveId));
 
             //  鍒犻櫎瀹℃壒鑺傜偣
-            approveNodeService.delApproveNodeByApproveId(approveProcess.getApproveId());
+            approveNodeService.delApproveNodeByApproveId(approveId);
 
             //  鍙煡鏈�鏂颁竴鏉″鎵规祦绋�
             ApproveProcess latestProcess = approveProcessMapper.selectOne(
@@ -247,14 +248,12 @@
                 continue;
             }
 
-
             //  鍒犻櫎瀵瑰簲鐨勬秷鎭�氱煡
             sysNoticeService.remove(new LambdaQueryWrapper<SysNotice>()
                     .eq(SysNotice::getNoticeTitle, approveProcessType(latestProcess.getApproveType()))
                     .eq(SysNotice::getSenderId, latestProcess.getApproveUser())
                     .apply("CAST(notice_content AS CHAR) LIKE CONCAT('%', {0}, '%')", latestProcess.getApproveId()));
         }
-
     }
 
     @Override
@@ -272,7 +271,7 @@
             // 鍒犻櫎瀵瑰簲鐨勯檮浠�
             commonFileService.deleteByBusinessId(approveProcess.getId(), FileNameType.ApproveProcess.getValue());
             //  鍒犻櫎瀹℃壒鑺傜偣
-            approveNodeService.delApproveNodeByApproveId(approveId.toString());
+            approveNodeService.delApproveNodeByApproveId(approveId);
 
             //  鍙煡鏈�鏂颁竴鏉″鎵规祦绋�
             ApproveProcess latestProcess = approveProcessMapper.selectOne(
@@ -373,9 +372,11 @@
         if (sysUser == null) throw new RuntimeException("鐢宠浜轰笉瀛樺湪");
         approve.setApproveUserName(sysUser.getNickName());
         approve.setApproveUser(sysUser.getUserId());
+        approve.setApproveTitle(approveGetAndUpdateVo.getApproveTitle());
         //瀹℃牳涓笉鍙互缂栬緫瀹℃牳浜�
         if (approve.getApproveStatus() != 1) {
             approve.setApproveUserCurrentId(Long.parseLong(split[0]));
+
             approve.setApproveUserCurrentName(sysUsers.stream().filter(user -> user.getUserId().equals(Long.parseLong(split[0]))).collect(Collectors.toList()).get(0).getNickName());
         }
         updateById(approve);
@@ -442,6 +443,10 @@
                 return "鍙戣揣瀹℃壒";
             case 8:
                 return "鍗遍櫓浣滀笟瀹℃壒";
+            case 9:
+                return "閿�鍞鎵�";
+            case 10:
+                return "鑷敱鍗忓悓瀹℃壒";
         }
         return null;
     }

--
Gitblit v1.9.3