From 620955ecadc6ce922be5b1d3f2d8426ffe1079ae Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 06 一月 2026 13:28:47 +0800
Subject: [PATCH] 销售订单关联订单,工单删除

---
 src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java             |    3 ++-
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index 7628d95..8eacb60 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -9,6 +9,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
@@ -20,7 +21,7 @@
  */
 @TableName("sales_ledger_product")
 @Data
-public class SalesLedgerProduct {
+public class SalesLedgerProduct implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
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 6517eaa..d3a7135 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -367,15 +367,19 @@
             return 0;
         }
         // 鍒犻櫎閿�鍞鐞嗘暟鎹�
-        // 1. 鍏堝垹闄ゅ瓙琛ㄦ暟鎹�
-        LambdaQueryWrapper<SalesLedgerProduct> productWrapper = new LambdaQueryWrapper<>();
-        productWrapper.in(SalesLedgerProduct::getSalesLedgerId, idList);
-        salesLedgerProductMapper.delete(productWrapper);
+        LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(SalesLedgerProduct::getSalesLedgerId, idList)
+                .select(SalesLedgerProduct::getId);
+
+        List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(queryWrapper);
+        List<Long> productIds = products.stream()
+                .map(SalesLedgerProduct::getId)
+                .collect(Collectors.toList());
 
         //鎵归噺鏌ヨproductOrder
         List<ProductOrder> productOrders = productOrderMapper.selectList(
                 new LambdaQueryWrapper<ProductOrder>()
-                        .in(ProductOrder::getProductModelId, idList)
+                        .in(ProductOrder::getProductModelId, productIds)
         );
 
         if (!org.springframework.util.CollectionUtils.isEmpty(productOrders)) {
@@ -405,7 +409,12 @@
 
             // 鎵归噺鍒犻櫎productOrder
             productOrderMapper.delete(new LambdaQueryWrapper<ProductOrder>()
-                    .in(ProductOrder::getProductModelId, idList));
+                    .in(ProductOrder::getProductModelId, productIds));
+        }
+
+        // 鎵归噺鍒犻櫎浜у搧瀛愯〃
+        if (!productIds.isEmpty()) {
+            salesLedgerProductMapper.deleteBatchIds(productIds);
         }
 
         LambdaQueryWrapper<InvoiceRegistrationProduct> wrapper = new LambdaQueryWrapper<>();

--
Gitblit v1.9.3