From 57a4c1da029cc9cbbf431e24ff23e5525ff341e8 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期四, 30 四月 2026 17:01:35 +0800
Subject: [PATCH] 1

---
 WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs    |    3 +--
 WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs                    |   26 ++++++++++++++++----------
 WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs |    2 +-
 3 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs
index 94278e9..0189ee3 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs
@@ -500,7 +500,7 @@
                     {
                         foreach (var item in result.Item2)
                         {
-                            if (item.LockQuantity > 0)
+                            if (item.OverOutQuantity < item.OrderQuantity)
                             {
                                 item.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
                             }
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
index 64abb64..2dce3bb 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
@@ -188,10 +188,9 @@
                     else
                     {
                
-
                         result.Item2.ForEach(x =>
                         {
-                            if (x.LockQuantity == x.OrderQuantity)
+                            if (x.OverOutQuantity < x.OrderQuantity)
                             {
                                 x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
                             }
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
index b0eb149..28cba13 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -2342,11 +2342,12 @@
                         List<Dt_OutboundOrderDetail> outboundOrderDetails = new List<Dt_OutboundOrderDetail>();
                         foreach (var detail in stockInfo.Details)
                         {
-                            Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
-                           .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == detail.BatchNo).First();
-                            if (outboundOrderDetail != null)
+                            
+                            List<Dt_OutboundOrderDetail> NEWoutboundOrderDetails = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
+                           .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == detail.BatchNo).ToList();
+                            if (NEWoutboundOrderDetails != null && NEWoutboundOrderDetails.Count != 0)
                             {
-                                outboundOrderDetails.Add(outboundOrderDetail);
+                                outboundOrderDetails.AddRange(NEWoutboundOrderDetails);
                             }
 
                         }
@@ -2619,7 +2620,6 @@
                 }
                 else if (inboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
                 {
-                    inboundOrderDetail.OrderDetailStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
                     inboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
                 }
             }
@@ -2632,9 +2632,9 @@
         //浣庢俯銆佽嵂姘�
         private void DWANDYSUpdateOutboundOrderDetails(Dt_StockInfo stockInfo, Dt_OutboundOrder inboundOrder, ref List<Dt_OutboundOrderDetail> inboundOrderDetails)
         {
-            List<Dt_OutboundOrderDetail> newOutboundOrderDetails = inboundOrderDetails;
+            //List<Dt_OutboundOrderDetail> newOutboundOrderDetails = inboundOrderDetails;
             int CompeletedNum = inboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count();
-            foreach (var newOutboundOrderDetail in newOutboundOrderDetails)
+            foreach (var newOutboundOrderDetail in inboundOrderDetails)
             {
                 string BatchNo = newOutboundOrderDetail.BatchNo;
                 //inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == stockInfo.Details.FirstOrDefault()?.BatchNo&&x.LPNNo==stockInfo.PalletCode);
@@ -2646,10 +2646,16 @@
 
                     if (newOutboundOrderDetail.BatchNo == item.BatchNo)
                     {
-                        newOutboundOrderDetail.OverOutQuantity += item.OutboundQuantity;
-
-                        if (newOutboundOrderDetail.OverOutQuantity == newOutboundOrderDetail.OrderQuantity)
+                        if(item.OutboundQuantity > newOutboundOrderDetail.OrderQuantity)
                         {
+                            newOutboundOrderDetail.OverOutQuantity = newOutboundOrderDetail.OrderQuantity;
+                        }
+                        else
+                        {
+                            newOutboundOrderDetail.OverOutQuantity += item.OutboundQuantity;
+                        }
+                        if (newOutboundOrderDetail.OverOutQuantity == newOutboundOrderDetail.OrderQuantity)
+                        { 
                             newOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
                             CompeletedNum++;
                         }

--
Gitblit v1.9.3