From 1866b69e8f67e382a0a75268d63e6418c8ae02e7 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期二, 13 一月 2026 09:55:01 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs |   41 ++++++++++++++++++++++++++---------------
 1 files changed, 26 insertions(+), 15 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
index fabb130..534a7df 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundPickingService.cs"
@@ -2439,6 +2439,10 @@
                             }
                         }
                     }
+                    else
+                    {
+                        item.WarehouseCode = matchedCode.WarehouseCode;
+                    }
 
                     //鍓╀綑鍏ュ簱鏁伴噺鍗宠櫄鎷熷嚭鍏ュ簱鍓╀綑鍙嚭鏁伴噺
                     decimal outQuantity = item.OrderQuantity - item.ReceiptQuantity;
@@ -2459,7 +2463,7 @@
                     Barcodes barcodes = new Barcodes
                     {
                         Barcode = item.Barcode,
-                        Qty = item.BarcodeQty,
+                        Qty = item.OrderQuantity,
                         SupplyCode = item?.SupplyCode ?? "",
                         BatchNo = item?.BatchNo ?? "",
                         Unit = item?.Unit ?? ""
@@ -2480,7 +2484,6 @@
                     {
                         return WebResponseContent.Instance.Error($"鍑哄簱鍗曟槑缁嗘暟閲忔孩鍑簕matchedCode.OrderQuantity - matchedCode.LockQuantity-matchedCode.NoStockOutQty-matchedCode.MoveQty}");
                     }
-                    item.OrderDetailStatus = OrderDetailStatusEnum.Inbounding.ObjToInt();
 
                     outDetails.Add(matchedCode);
                 }
@@ -2532,7 +2535,7 @@
                 Barcodes barcodes = new Barcodes
                 {
                     Barcode = matchedDetail.Barcode,
-                    Qty = matchedDetail.BarcodeQty,
+                    Qty = matchedDetail.OrderQuantity,
                     SupplyCode = matchedDetail?.SupplyCode ?? "",
                     BatchNo = matchedDetail?.BatchNo ?? "",
                     Unit = matchedDetail?.Unit ?? ""
@@ -2697,7 +2700,6 @@
                     NoStockOutBatchInOrderFeedbackToMes(orderId, barCodeList);
                 }
 
-
                 //鍙鍑哄簱鏉$爜鐨勫嚭搴撳崟鏄庣粏杩涜璁$畻鍥炰紶
                 List<Dt_OutboundOrderDetail> outboundOrderDetail = outboundOrder.Details
                 .Where(x => !string.IsNullOrWhiteSpace(x.documentsNO)
@@ -2707,9 +2709,9 @@
 
                 foreach (var item in outboundOrderDetail)
                 {
-                    item.LockQuantity = item.NoStockOutQty;
-                    item.OverOutQuantity = item.NoStockOutQty;
-                    item.CurrentDeliveryQty = item.OverOutQuantity;
+                    item.LockQuantity += item.NoStockOutQty;
+                    item.OverOutQuantity += item.NoStockOutQty;
+                    item.CurrentDeliveryQty = item.NoStockOutQty;
                     //娣诲姞鍥炰紶MES鍙傛暟
                     List<Barcodes> barcodesList = new List<Barcodes>();
                     List<Barcodes> documentsNOList = new List<Barcodes>();
@@ -2744,8 +2746,8 @@
                         TaskNum = 0,
                         ChangeType = (int)StockChangeTypeEnum.Inbound,
                         ChangeQuantity = -item.NoStockOutQty,
-                        BeforeQuantity = item.OrderQuantity - item.OverOutQuantity-item.MoveQty,
-                        AfterQuantity = item.OrderQuantity - item.OverOutQuantity - item.MoveQty - item.NoStockOutQty,
+                        BeforeQuantity = item.OrderQuantity,
+                        AfterQuantity = item.OrderQuantity - item.OverOutQuantity,
                         SupplyCode = item.SupplyCode ?? "",
                         WarehouseCode = item.WarehouseCode ?? "",
                         Remark = $"铏氭嫙鍑哄簱"
@@ -2764,8 +2766,13 @@
                 if (CheckOutboundOrderCompleted(outboundOrder.OrderNo))
                 {
                     outboundOrder.OrderStatus = OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
-                    _outboundOrderService.UpdateData(outboundOrder);
+
                 }
+                else
+                {
+                    outboundOrder.OrderStatus = OutOrderStatusEnum.鍑哄簱涓�.ObjToInt();
+                }
+                _outboundOrderService.UpdateData(outboundOrder);
                 _unitOfWorkManage.CommitTran();
                 //鍑哄簱鍥炰紶MES
                 _feedbackMesService.OutboundFeedback(outboundOrder.OrderNo);
@@ -2842,12 +2849,16 @@
                     if (response != null && response.IsSuccess)
                     {
                         _inboundOrderRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
-                            .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                            .Where(it => it.OrderId == inboundOrder.Id && barCodeList.Contains(it.Barcode)).ExecuteCommand();
+                        _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1 })
+                            .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                     }
                     else
                     {
                         _inboundOrderRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
-                            .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                            .Where(it => it.OrderId == inboundOrder.Id && barCodeList.Contains(it.Barcode)).ExecuteCommand();
+                        _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus =2})
+                            .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                         return content.Error("鍥炰紶MES澶辫触");
                     }
                 }
@@ -2875,13 +2886,13 @@
                     if (response != null && response.IsSuccess)
                     {
                         _inboundOrderRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
-                            .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                            .Where(it => it.OrderId == inboundOrder.Id && barCodeList.Contains(it.Barcode)).ExecuteCommand();
                         _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1 })
                             .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                     }
                     else
                     {
-                        _inboundOrderRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 }).Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                        _inboundOrderRepository.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 }).Where(it => it.OrderId == inboundOrder.Id && barCodeList.Contains(it.Barcode)).ExecuteCommand();
                         _inboundOrderRepository.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2 })
                             .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                         return content.Error("鍥炰紶MES澶辫触");
@@ -2917,7 +2928,7 @@
                }).ToList();
             return groupedData;
         }
-        public List<FeedbackInboundDetailsModel> NoStockOutFeedbackInboundDetailsModelDto(List<Dt_InboundOrderDetail> inboundOrderDetails)
+        public List<FeedbackInboundDetailsModel> NoStockOutFeedbackInboundDetailsModelDto(List<Dt_InboundOrderDetail> inboundOrderDetails )
         {
             var groupedData = inboundOrderDetails.GroupBy(item => new { item.MaterielCode, item.lineNo, item.BarcodeUnit, item.WarehouseCode })
                .Select(group => new FeedbackInboundDetailsModel

--
Gitblit v1.9.3