From 89fc27ddebd84a2be3e60856d6a6b2318b10db4f Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 27 一月 2026 11:27:18 +0800
Subject: [PATCH] yys 删除销售台账同步删除发货台账,发货审批记录

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 46 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 580f349..447ff45 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -27,6 +27,7 @@
 import com.ruoyi.project.system.service.ISysNoticeService;
 import com.ruoyi.sales.mapper.CommonFileMapper;
 import com.ruoyi.sales.pojo.CommonFile;
+import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
 import lombok.AllArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
@@ -64,6 +65,7 @@
     private final ApproveProcessMapper approveProcessMapper;
     private final TempFileServiceImpl tempFileService;
     private final CommonFileMapper commonFileMapper;
+    private final CommonFileServiceImpl commonFileService;
     private final ISysNoticeService sysNoticeService;
 
     @Override
@@ -127,7 +129,6 @@
         sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcessVO.getApproveType()),
                 approveID + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
                 Arrays.asList(Long.valueOf(id)),
-                approveProcessVO.getApproveDeptId(),
                 "/collaborativeApproval/approvalProcess?approveType=" + approveProcessVO.getApproveType() + "&approveId=" + approveID);
     }
 
@@ -154,19 +155,58 @@
         return approveProcessIPage;
     }
 
-    @Override
-    public void delApprove(Long[] ids) {
-        ApproveProcess approveProcess;
+    public void delByIds(List<Long> ids) {
         for (Long approveId : ids) {
 
             //  閫昏緫鍒犻櫎瀹℃壒娴佺▼
             update(new UpdateWrapper<ApproveProcess>()
                     .lambda()
                     .set(ApproveProcess::getApproveDelete, 1)
-                    .eq(ApproveProcess::getApproveId, approveId));
+                    .eq(ApproveProcess::getId, approveId));
+            // 鍒犻櫎瀵瑰簲鐨勯檮浠�
+            commonFileService.deleteByBusinessId(approveId, FileNameType.ApproveProcess.getValue());
+            ApproveProcess approveProcess = approveProcessMapper.selectById(approveId);
 
             //  鍒犻櫎瀹℃壒鑺傜偣
-            approveNodeService.delApproveNodeByApproveId(approveId);
+            approveNodeService.delApproveNodeByApproveId(approveProcess.getApproveId());
+
+            //  鍙煡鏈�鏂颁竴鏉″鎵规祦绋�
+            ApproveProcess latestProcess = approveProcessMapper.selectOne(
+                    new LambdaQueryWrapper<ApproveProcess>()
+                            .eq(ApproveProcess::getApproveId, approveId)
+                            .orderByDesc(ApproveProcess::getCreateTime)
+                            .last("LIMIT 1"));
+
+            if (latestProcess == null) {
+                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
+    public void delApprove(List<Long> ids) {
+        for (Long approveId : ids) {
+            ApproveProcess approveProcess = approveProcessMapper.selectOne(new LambdaQueryWrapper<ApproveProcess>()
+                    .eq(ApproveProcess::getApproveId, approveId)
+                    .eq(ApproveProcess::getApproveDelete, 0)
+                    .last("LIMIT 1"));
+            //  閫昏緫鍒犻櫎瀹℃壒娴佺▼
+            update(new UpdateWrapper<ApproveProcess>()
+                    .lambda()
+                    .set(ApproveProcess::getApproveDelete, 1)
+                    .eq(ApproveProcess::getApproveId, approveId));
+            // 鍒犻櫎瀵瑰簲鐨勯檮浠�
+            commonFileService.deleteByBusinessId(approveProcess.getId(), FileNameType.ApproveProcess.getValue());
+            //  鍒犻櫎瀹℃壒鑺傜偣
+            approveNodeService.delApproveNodeByApproveId(approveId.toString());
 
             //  鍙煡鏈�鏂颁竴鏉″鎵规祦绋�
             ApproveProcess latestProcess = approveProcessMapper.selectOne(
@@ -239,7 +279,6 @@
         sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()),
                 approveProcess.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
                 Arrays.asList(Long.valueOf(id)),
-                approveProcess.getApproveDeptId(),
                 "/collaborativeApproval/approvalProcess?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId());
     }
 
@@ -298,7 +337,6 @@
         sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()),
                 approve.getApproveId() + "娴佺▼缂栧彿鐨勫鎵归渶瑕佹偍瀹℃牳!!!!!",
                 Arrays.asList(Long.valueOf(id)),
-                approve.getApproveDeptId(),
                 "/collaborativeApproval/approvalProcess?approveType=" + approve.getApproveType() + "&approveId=" + approve.getApproveId());
 
     }
@@ -324,6 +362,4 @@
         }
         return null;
     }
-
-
 }

--
Gitblit v1.9.3