From ce3b28cdcdb2b6a912413cd9e744d0ecadcb78a0 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期二, 13 一月 2026 17:47:30 +0800
Subject: [PATCH] 优化成品出入库流程代码

---
 WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
index 8febdad..153eb42 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
@@ -453,6 +453,11 @@
                     .Where(x => orderDetailIds.Contains(x.Id))
                     .ToList();
 
+                if (inboundOrderDetails.Sum(x => x.OrderQuantity) <= inboundOrderDetails.Sum(x => x.ReceiptQuantity))
+                {
+                    return WebResponseContent.Instance.Error($"姝ゅ崟鎹凡鍏ㄩ儴缁勭洏瀹屾垚");
+                }
+
                 // 鎸夎鍗曟槑缁咺D鍒嗙粍锛屾鏌ユ瘡涓槑缁嗙殑鎵�鏈夌鍙锋槸鍚﹂兘鎵弿浜�
                 var detailsByOrderDetailId = CPinboundOrderDetails
                     .GroupBy(x => x.OrderDetailId)
@@ -486,7 +491,7 @@
                     // 鏍囪璇ユ槑缁嗕负宸插畬鎴愮粍鐩�
                     orderDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt();
                     var recqty = orderDetail.ReceiptQuantity;
-                    float totalQty = cpDetails.FirstOrDefault().QtyOfpcs;
+                    float totalQty = cpDetails.Sum(item => item.QtyOfpcs);
                     orderDetail.ReceiptQuantity = (decimal)totalQty + recqty; // 鏀惰揣鏁伴噺绛変簬璁㈠崟鏁伴噺
 
                     detailsToUpdate.Add(orderDetail);
@@ -498,7 +503,6 @@
                 Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db
                     .Queryable<Dt_StockInfo>()
                     .Where(x => x.PalletCode == palletCode)
-                    .Includes(x => x.Details)
                     .First();
 
                 if (stockInfo == null)
@@ -570,7 +574,7 @@
                         BatchNo = orderDetail.BatchNo,
                         SupplierBatch = orderDetail.SupplierBatch,
                         LinId = orderDetail.LinId,
-                        StockQuantity = (decimal)cPInboundOrderDetail.FirstOrDefault().QtyOfpcs,
+                        StockQuantity = (decimal)cPInboundOrderDetail.Sum(item => item.QtyOfpcs),
                         Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
                         Creater = "WMS",
                         CreateDate = DateTime.Now,
@@ -645,7 +649,7 @@
         }
         public string ReceiveWMSTaskin = WIDESEA_Core.Helper.AppSettings.Configuration["ReceiveWMSTaskin"];
         /// <summary>
-        /// 鍚堟墭
+        /// 缁勭洏鍚堟墭
         /// </summary>
         /// <param name="saveModel"></param>
         /// <returns></returns>

--
Gitblit v1.9.3