From 1f53841c3046579d366f061761241127c63da86a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 25 三月 2026 14:26:51 +0800
Subject: [PATCH] 采购销售审批功能完成

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java     |    4 ++--
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java |   14 ++++++++++++++
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java       |   19 +++++++++++++++++--
 src/main/java/com/ruoyi/sales/pojo/SalesLedger.java                          |    2 +-
 src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java                    |    2 +-
 5 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index c7438fc..8da8e69 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -150,7 +150,7 @@
         //濡傛灉鏄�6閿�鍞鎵�,瀵瑰簲閿�鍞叧鑱旂殑琛ㄩ渶瑕佹洿鏂�
         if (approveProcess.getApproveType()==6){
             List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(Wrappers.<SalesLedger>lambdaQuery().eq(SalesLedger::getSalesContractNo, approveProcess.getApproveReason()));
-            if (CollectionUtils.isEmpty(salesLedgers)){
+            if (!CollectionUtils.isEmpty(salesLedgers)){
                 SalesLedger salesLedger = salesLedgers.get(0);
                 salesLedger.setApprovalStatus(status);
                 salesLedgerMapper.updateById(salesLedger);
@@ -159,7 +159,7 @@
         //濡傛灉鏄�5閲囪喘瀹℃壒,瀵瑰簲閲囪喘鍏宠仈鐨勮〃闇�瑕佹洿鏂�
         if (approveProcess.getApproveType()==5){
             List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(Wrappers.<PurchaseLedger>lambdaQuery().eq(PurchaseLedger::getPurchaseContractNumber, approveProcess.getApproveReason()));
-            if (CollectionUtils.isEmpty(purchaseLedgers)){
+            if (!CollectionUtils.isEmpty(purchaseLedgers)){
                 PurchaseLedger purchaseLedger = purchaseLedgers.get(0);
                 purchaseLedger.setApprovalStatus(status);
                 purchaseLedgerMapper.updateById(purchaseLedger);
diff --git a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
index 290dcef..b365d61 100644
--- a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
+++ b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
@@ -153,7 +153,7 @@
     @ApiModelProperty(value = "浠樻鏂瑰紡")
     private String paymentMethod;
 
-    @ApiModelProperty(value = "1-寰呭鏍革紝2-瀹℃壒涓紝3-瀹℃壒閫氳繃锛�4-瀹℃壒澶辫触")//榛樿鏄�1
+    @ApiModelProperty(value = "0-寰呭鏍革紝1-瀹℃壒涓紝2-瀹℃壒閫氳繃锛�3-瀹℃壒涓嶉�氳繃锛�4-宸查噸鏂版彁浜�")//榛樿鏄�0
     private Integer approvalStatus;
 
 
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 7d982ac..abbd847 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.account.pojo.AccountIncome;
 import com.ruoyi.account.service.AccountExpenseService;
 import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.approve.pojo.ApproveProcess;
 import com.ruoyi.approve.service.IApproveProcessService;
 import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.basic.mapper.ProductMapper;
@@ -378,6 +379,19 @@
         LambdaQueryWrapper<ProductRecord> productRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
         productRecordLambdaQueryWrapper.in(ProductRecord::getPurchaseLedgerId,ids);
         productRecordMapper.delete(productRecordLambdaQueryWrapper);
+        // 鍒犻櫎鍏宠仈鐨勫鎵硅〃
+        List<String> strings = purchaseLedgerMapper.selectBatchIds(Arrays.asList(ids)).stream().map(PurchaseLedger::getPurchaseContractNumber).distinct().collect(Collectors.toList());
+        List<ApproveProcess> list = approveProcessService.list(Wrappers.<ApproveProcess>lambdaQuery()
+                .eq(ApproveProcess::getApproveType, 5)
+                .in(ApproveProcess::getApproveReason, strings));
+        if (CollectionUtils.isNotEmpty(list)){
+            List<String> approveIds = list.stream().map(ApproveProcess::getApproveId).distinct().collect(Collectors.toList());
+            Long[] ides = approveIds.stream()
+                    .filter(s -> s != null && !s.isEmpty()) // 杩囨护绌哄瓧绗︿覆
+                    .map(Long::valueOf)
+                    .toArray(Long[]::new);
+            approveProcessService.delApprove(ides);
+        }
         // 鎵归噺鍒犻櫎閲囪喘鍙拌处
         return purchaseLedgerMapper.deleteBatchIds(Arrays.asList(ids));
     }
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
index 386efcd..214efd3 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -129,7 +129,7 @@
     @ApiModelProperty(value = "璁㈠崟鎸夌揣鎬ョ▼搴﹀垎绫�(鏅��/绱ф��)")
     private String salesType;
 
-    @ApiModelProperty(value = "1-寰呭鏍革紝2-瀹℃壒涓紝3-瀹℃壒閫氳繃锛�4-瀹℃壒澶辫触")//榛樿鏄�1
+    @ApiModelProperty(value = "0-寰呭鏍革紝1-瀹℃壒涓紝2-瀹℃壒閫氳繃锛�3-瀹℃壒涓嶉�氳繃锛�4-宸查噸鏂版彁浜�")//榛樿鏄�0
     private Integer approvalStatus;
 }
 
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index a7c9c0d..f647856 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -11,6 +11,7 @@
 import com.ruoyi.account.pojo.AccountExpense;
 import com.ruoyi.account.pojo.AccountIncome;
 import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.approve.pojo.ApproveProcess;
 import com.ruoyi.approve.service.IApproveProcessService;
 import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.basic.mapper.CustomerMapper;
@@ -369,7 +370,21 @@
         LambdaQueryWrapper<SalesLedgerScheduling> in = new LambdaQueryWrapper<SalesLedgerScheduling>()
                 .in(SalesLedgerScheduling::getSalesLedgerId, idList);
         salesLedgerSchedulingMapper.delete(in);
-        // 2. 鍐嶅垹闄や富琛ㄦ暟鎹�
+
+        // 2. 鍒犻櫎鍏宠仈鐨勫鎵硅〃
+        List<String> strings = salesLedgerMapper.selectBatchIds(idList).stream().map(SalesLedger::getSalesContractNo).distinct().collect(Collectors.toList());
+        List<ApproveProcess> list = approveProcessService.list(Wrappers.<ApproveProcess>lambdaQuery()
+                .eq(ApproveProcess::getApproveType, 6)
+                .in(ApproveProcess::getApproveReason, strings));
+        if (CollectionUtils.isNotEmpty(list)){
+            List<String> approveIds = list.stream().map(ApproveProcess::getApproveId).distinct().collect(Collectors.toList());
+            Long[] ides = approveIds.stream()
+                    .filter(s -> s != null && !s.isEmpty()) // 杩囨护绌哄瓧绗︿覆
+                    .map(Long::valueOf)
+                    .toArray(Long[]::new);
+            approveProcessService.delApprove(ides);
+        }
+        // 3. 鍐嶅垹闄や富琛ㄦ暟鎹�
         return salesLedgerMapper.deleteBatchIds(idList);
     }
 
@@ -458,7 +473,7 @@
                 }
             }else {
                 //绱ф�ラ粯璁ら�氳繃
-                salesLedger.setApprovalStatus(3);
+                salesLedger.setApprovalStatus(2);
                 salesLedgerMapper.updateById(salesLedger);
             }
             return 1;

--
Gitblit v1.9.3