From 73569b329e4ed2293a63e5a739d5fb0314fc4fd8 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期三, 01 四月 2026 15:25:45 +0800
Subject: [PATCH] 1

---
 WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
index 2caea24..93f3e86 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -2303,7 +2303,11 @@
                         {
                             Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
                            .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == detail.BatchNo).First();
-                            outboundOrderDetails.Add(outboundOrderDetail);
+                            if(outboundOrderDetail != null)
+                            {
+                                outboundOrderDetails.Add(outboundOrderDetail);
+
+                            }
                         }
 
                         for (var i = 0; i < outboundOrderDetails.Count; i++)
@@ -2512,6 +2516,7 @@
                 // 娣诲姞鐘舵�佸彉鏇磋褰�
                 AddStatusChangeRecord(task, stockInfo, locationInfo);
 
+               
                 // 鏍规嵁璁㈠崟绫诲瀷澶勭悊涓嶅悓閫昏緫
 
                 var outboundOrder = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrder>()
@@ -2587,12 +2592,11 @@
         private void DWANDYSUpdateOutboundOrderDetails(Dt_StockInfo stockInfo, Dt_OutboundOrder inboundOrder, ref List<Dt_OutboundOrderDetail> inboundOrderDetails)
         {
             List<Dt_OutboundOrderDetail> newOutboundOrderDetails = inboundOrderDetails;
-            int overCount = inboundOrder.Details.Count(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
+            int CompeletedNum = inboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count();
             foreach (var newOutboundOrderDetail in newOutboundOrderDetails)
             {
                 string BatchNo = newOutboundOrderDetail.BatchNo;
                 //inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == stockInfo.Details.FirstOrDefault()?.BatchNo&&x.LPNNo==stockInfo.PalletCode);
-
                 foreach (var item in stockInfo.Details)
                 {
                     if (newOutboundOrderDetail == null) continue;
@@ -2606,16 +2610,17 @@
                         if (newOutboundOrderDetail.OverOutQuantity == newOutboundOrderDetail.OrderQuantity)
                         {
                             newOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
-                            overCount++;
+                            CompeletedNum++;
                         }
                         else if (newOutboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
                         {
                             newOutboundOrderDetail.OrderDetailStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
+                   
                             inboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
                         }
                     }
                 }
-                if (inboundOrder.Details.Count() == overCount)
+                if (inboundOrder.Details.Count == CompeletedNum)
                 {
                     inboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
                 }
@@ -2651,6 +2656,12 @@
                 StockChangeType.Outbound.ObjToInt(),
                 stockInfo.Details.FirstOrDefault()?.OrderNo ?? "",
                 task.TaskNum);
+
+            _recordService.StockQuantityChangeRecordService.NEWAddStockChangeRecord(
+                stockInfo, stockInfo.Details,
+                stockInfo.Details.Sum(x => x.StockQuantity),
+                stockInfo.Details.Sum(x => x.OutboundQuantity),
+                StockChangeType.Outbound, task.TaskNum);
         }
 
         private void ProcessNormalOutbound(Dt_Task task, Dt_StockInfo stockInfo,

--
Gitblit v1.9.3