From 7c91bf8fbbc98dcfe3d1c33786a0b4390523b5b2 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 06 一月 2026 16:55:32 +0800
Subject: [PATCH] 1.生产订单工艺路线排序 2.生产订单删除并对应工单删除 3.生产订单更新优化 4.工单更新

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

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..7db5456 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<>();
@@ -635,11 +644,13 @@
                     List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
                     // 鐢熸垚褰撳墠鏃ユ湡鐨勫墠缂�锛氬勾鏈堟棩
                     String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+                    int dragSort = 1;
                     for (ProcessRouteItem processRouteItem : processRouteItems) {
                         ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
                         productProcessRouteItem.setProductModelId(processRouteItem.getProductModelId());
                         productProcessRouteItem.setProcessId(processRouteItem.getProcessId());
                         productProcessRouteItem.setRouteId(productOrder.getId());
+                        productProcessRouteItem.setDragSort(dragSort);
                         int insert = productProcessRouteItemMapper.insert(productProcessRouteItem);
                         if (insert > 0) {
                             // 鏌ヨ浠婃棩宸插瓨鍦ㄧ殑鏈�澶у伐鍗曞彿
@@ -670,6 +681,7 @@
                             productWorkOrder.setStatus(1);
                             productWorkOrderMapper.insert(productWorkOrder);
                         }
+                        dragSort++;
                     }
                     productOrder.setRouteId(processRoute.getId());
                     productOrderMapper.updateById(productOrder);

--
Gitblit v1.9.3