From 462a8c41fb4043017d75148873f9aa0559722ae3 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 06 六月 2025 16:25:34 +0800
Subject: [PATCH] 添加下发执行功能

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |   23 +++++++++--------------
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index d6d4e80..d0e8a20 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -120,30 +120,25 @@
                     if (!deliveryItemService.updateById(deliveryItem)) {
                         throw new CoolException("DO鍗曟槑缁嗘洿鏂板け璐ワ紒锛�");
                     }
+
+                    Delivery delivery = deliveryService.getOne(new LambdaQueryWrapper<Delivery>().eq(Delivery::getCode, orderItem.getPoCode()));
+                    if (!Objects.isNull(delivery)) {
+                        Double wkQty = Math.round((delivery.getWorkQty() - delivery.getAnfme()) * 10000) / 10000.0;
+                        delivery.setWorkQty(wkQty.compareTo(0.0) >= 0 ? wkQty : 0).setExceStatus(POExceStatus.PO_EXCE_STATUS_UN_EXCE.val);
+                        if (!deliveryService.updateById(delivery)) {
+                            throw new CoolException("DO鍗曟嵁淇敼澶辫触锛侊紒");
+                        }
+                    }
                 }
             }
         }
 
-        if (!Objects.isNull(order.getPoId())) {
-            Delivery delivery = deliveryService.getById(order.getPoId());
-            if (!Objects.isNull(delivery)) {
-                Double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
-                Double workQty = Math.round((delivery.getWorkQty() - sum) * 10000) / 10000.0;
-                delivery.setWorkQty(workQty.compareTo(0.0) >= 0 ? workQty : 0).setExceStatus(POExceStatus.PO_EXCE_STATUS_UN_EXCE.val);
-                if (!deliveryService.updateById(delivery)) {
-                    throw new CoolException("DO鍗曟嵁淇敼澶辫触锛侊紒");
-                }
-            }
-        }
         if (!this.remove(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, id))) {
             throw new CoolException("涓诲崟鍒犻櫎澶辫触锛侊紒");
         }
         if (!outStockItemService.remove(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, id))) {
             throw new CoolException("鍗曟嵁鏄庣粏鍒犻櫎澶辫触锛侊紒");
         }
-//        if (!this.saveOrUpdate(order)) {
-//            throw new CoolException("鍗曟嵁鍙栨秷澶辫触锛侊紒");
-//        }
         return R.ok("鎿嶄綔鎴愬姛");
     }
 

--
Gitblit v1.9.1