From 28cdf5214cc6b7bbc6e90c4c3cd8c194adbe4fbf Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期二, 31 三月 2026 09:19:17 +0800
Subject: [PATCH] 1

---
 WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
index 9eccfaa..b9aeaa2 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -617,7 +617,7 @@
                                 return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鍏ュ簱鍗曟槑缁�");
                             }
 
-                            // 鏇存柊鍏ュ簱鍗曟槑缁嗙姸鎬�
+                            // 鏇存柊鍏ュ簱鍗曟槑缁嗙姸鎬�  
                             foreach (var inboundOrderDetail in inboundOrderDetails)
                             {
                                 // 妫�鏌ヨ鏄庣粏鏄惁宸插叏閮ㄥ叆搴�
@@ -901,7 +901,7 @@
                                          .ToList();
 
                                     Dt_InboundOrder? dt_InboundOrder = _inboundService.InbounOrderService.Db.Queryable<Dt_InboundOrder>().Where(x => x.OrderNo == inboundOrder.OrderNo).Includes(x => x.Details).First();
-                                    if (StockInfos.Count  == 0) throw new Exception("鏈壘鍒板簱瀛樹俊鎭�");
+                                    if (StockInfos.Count == 0) throw new Exception("鏈壘鍒板簱瀛樹俊鎭�");
 
                                     var houseSyncretism = new NewHouseInboundPassBack
                                     {
@@ -1431,7 +1431,7 @@
 
             _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(
                 stockInfo, stockInfo.Details,
-                stockInfo.Details.Sum(x => x.StockQuantity),
+                0,
                 stockInfo.Details.Sum(x => x.StockQuantity),
                 StockChangeType.Inbound, task.TaskNum);
         }
@@ -1783,7 +1783,7 @@
                                        .Where(x => x.OrderId == outboundOrder.Id)
                                        .ToList();
                             }
-                            if ((outboundOrderDetails == null && outboundOrderDetails1 == null) || (outboundOrderDetails.Count == 0  && outboundOrderDetails1.Count == 0))
+                            if ((outboundOrderDetails == null && outboundOrderDetails1 == null) || (outboundOrderDetails.Count == 0 && outboundOrderDetails1.Count == 0))
                             {
                                 throw new Exception($"鏈壘鍒版墭鐩� {stockInfo.PalletCode} 鍦ㄨ揣浣� {stockInfo.LocationCode} 涓婄殑鍑哄簱鍗曟槑缁�");
                             }
@@ -2275,10 +2275,14 @@
                         {
                             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++)
+                        for (var i = 0; i < outboundOrderDetails.Count; i++)
                         {
                             if (outboundOrderDetails[i].LocationName != null && outboundOrderDetails[i].LocationName != "")
                             {
@@ -2484,6 +2488,7 @@
                 // 娣诲姞鐘舵�佸彉鏇磋褰�
                 AddStatusChangeRecord(task, stockInfo, locationInfo);
 
+               
                 // 鏍规嵁璁㈠崟绫诲瀷澶勭悊涓嶅悓閫昏緫
 
                 var outboundOrder = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrder>()
@@ -2559,7 +2564,6 @@
         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());
             foreach (var newOutboundOrderDetail in newOutboundOrderDetails)
             {
                 string BatchNo = newOutboundOrderDetail.BatchNo;
@@ -2578,7 +2582,6 @@
                         if (newOutboundOrderDetail.OverOutQuantity == newOutboundOrderDetail.OrderQuantity)
                         {
                             newOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
-                            overCount++;
                         }
                         else if (newOutboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
                         {
@@ -2587,7 +2590,7 @@
                         }
                     }
                 }
-                if (inboundOrder.Details.Count() == overCount)
+                if (newOutboundOrderDetails.All(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
                 {
                     inboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
                 }
@@ -2623,6 +2626,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,
@@ -3589,12 +3598,11 @@
         {
             Console.WriteLine($"馃搫 姝e湪鎵撳嵃鍒� {printerName}: {Path.GetFileName(filePath)}");
 
-            string command = $"lpr -P {printerName} \"{filePath}\"";
+            // 浣跨敤 lp 鍛戒护锛屾坊鍔� -o raw 閫夐」
+            string command = $"lp -d {printerName} -o raw \"{filePath}\"";
 
             ExecuteShellCommand(command);
         }
-
-
         /// <summary>
         /// 鎵ц Shell 鍛戒护
         /// </summary>

--
Gitblit v1.9.3