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 |    2 --
 src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java     |   25 +++++++++++++++++++++++--
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java      |   10 ++++++++++
 3 files changed, 33 insertions(+), 4 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 4e41219..447ff45 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -362,6 +362,4 @@
         }
         return null;
     }
-
-
 }
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 f8a61e9..7247b2e 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -96,6 +96,10 @@
 
     private final ReceiptPaymentMapper receiptPaymentMapper;
 
+    private final ShippingInfoServiceImpl shippingInfoServiceImpl;
+
+    private final ShippingInfoMapper shippingInfoMapper;
+
     private final InvoiceLedgerMapper invoiceLedgerMapper;
 
     private final SalesLedgerSchedulingMapper salesLedgerSchedulingMapper;
@@ -556,6 +560,12 @@
             wrapperTree.in(ReceiptPayment::getInvoiceLedgerId, invoiceLedgerIds);
             receiptPaymentMapper.delete(wrapperTree);
         }
+        // 鍒犻櫎鍙戣揣鍙拌处璁板綍
+        List<ShippingInfo> shippingInfos = shippingInfoMapper.selectList(new LambdaQueryWrapper<ShippingInfo>()
+                .eq(ShippingInfo::getSalesLedgerId, idList));
+        if(CollectionUtils.isNotEmpty(shippingInfos)){
+            shippingInfoServiceImpl.delete(shippingInfos.stream().map(ShippingInfo::getId).collect(Collectors.toList()));
+        }
 
         // 鍒犻櫎鐢熶骇绠℃帶鏁版嵁
         // 鍒犻櫎鐢熶骇璁㈠崟鏁版嵁
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index 9218ce6..9d98126 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -1,8 +1,11 @@
 package com.ruoyi.sales.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
 import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
 import com.ruoyi.framework.web.domain.AjaxResult;
@@ -21,6 +24,7 @@
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -42,6 +46,9 @@
     private StockUtils stockUtils;
     @Autowired
     private CommonFileServiceImpl commonFileService;
+
+    @Autowired
+    private ApproveProcessServiceImpl approveProcessService;
 
     @Override
     public IPage<ShippingInfo> listPage(Page page, ShippingInfo req) {
@@ -73,11 +80,25 @@
 
     @Override
     public boolean delete(List<Long> ids) {
+        List<ShippingInfo> shippingInfos = shippingInfoMapper.selectList(new LambdaQueryWrapper<ShippingInfo>()
+                .in(ShippingInfo::getId, ids));
+        // 鍒犻櫎闄勪欢
         commonFileService.deleteByBusinessIds(ids, FileNameType.SHIP.getValue());
+        // 鎵e簱瀛�
         for (Long id : ids) {
             stockUtils.deleteStockRecord(id, StockQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode());
         }
-        boolean delete = this.removeBatchByIds(ids);
-        return delete;
+        // 鍒犻櫎鍙戣揣瀹℃壒
+        if(CollectionUtils.isNotEmpty(shippingInfos)){
+            for (ShippingInfo shippingInfo : shippingInfos){
+                ApproveProcess one = approveProcessService.getOne(new LambdaQueryWrapper<ApproveProcess>()
+                        .like(ApproveProcess::getApproveReason, shippingInfo.getShippingNo()));
+                if(one != null){
+                    approveProcessService.delByIds(Collections.singletonList(one.getId()));
+                }
+            }
+        }
+
+        return this.removeBatchByIds(ids);
     }
 }

--
Gitblit v1.9.3