From 837bc628c7c25a9581d87c19a47ed2fd628928a4 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 30 六月 2026 14:21:49 +0800
Subject: [PATCH] 发货审批驳回后,删除对应所有出库记录

---
 src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
index 4503e4d..37d7261 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -194,22 +194,31 @@
         if(salesQuotation==null) return false;
         salesQuotationMapper.deleteById(id);
         salesQuotationProductMapper.delete(new LambdaQueryWrapper<SalesQuotationProduct>().eq(SalesQuotationProduct::getSalesQuotationId, id));
-        // 鍒犻櫎鎶ヤ环瀹℃壒瀹炰緥锛圓pprovalInstance锛�
-        ApprovalInstance approvalInstance = approvalInstanceService.getOne(new LambdaQueryWrapper<ApprovalInstance>()
+        // 鍒犻櫎璇ユ姤浠峰搴旂殑鍏ㄩ儴瀹℃壒瀹炰緥锛堝彲鑳藉瓨鍦ㄥ娆℃彁浜�/閲嶅锛�
+        List<ApprovalInstance> approvalInstances = approvalInstanceService.list(new LambdaQueryWrapper<ApprovalInstance>()
                 .eq(ApprovalInstance::getBusinessId, id)
                 .eq(ApprovalInstance::getBusinessType, 6L)
-                .eq(ApprovalInstance::getDeleted, 0)
-                .last("LIMIT 1"));
-        if(approvalInstance != null){
-            approvalInstanceService.delete(Collections.singletonList(approvalInstance.getId()));
+                .eq(ApprovalInstance::getDeleted, 0));
+        if(!approvalInstances.isEmpty()){
+            approvalInstanceService.delete(
+                    approvalInstances.stream()
+                            .map(ApprovalInstance::getId)
+                            .filter(Objects::nonNull)
+                            .collect(Collectors.toList())
+            );
         }
-        // 鍒犻櫎鎶ヤ环瀹℃壒娴佺▼锛圓pproveProcess锛�
-        ApproveProcess one = approveProcessService.getOne(new LambdaQueryWrapper<ApproveProcess>()
+        // 鍒犻櫎璇ユ姤浠峰搴旂殑鍏ㄩ儴瀹℃壒娴佺▼锛堝悓涓�鎶ヤ环鍙兘鍙嶅鍙戣捣锛�
+        List<ApproveProcess> approveProcesses = approveProcessService.list(new LambdaQueryWrapper<ApproveProcess>()
                 .eq(ApproveProcess::getApproveType, 6)
                 .eq(ApproveProcess::getApproveDelete, IsDeleteEnum.NOT_DELETED)
                 .eq(ApproveProcess::getApproveReason, salesQuotation.getQuotationNo()));
-        if(one != null){
-            approveProcessService.delByIds(Collections.singletonList(one.getId()));
+        if(!approveProcesses.isEmpty()){
+            approveProcessService.delByIds(
+                    approveProcesses.stream()
+                            .map(ApproveProcess::getId)
+                            .filter(Objects::nonNull)
+                            .collect(Collectors.toList())
+            );
         }
         return true;
     }

--
Gitblit v1.9.3