From 55410a40f4cafd17f4c8c6a9f2af8ef5dc8b1e40 Mon Sep 17 00:00:00 2001
From: z8018 <1282578289@qq.com>
Date: 星期一, 15 十二月 2025 09:48:33 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 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/OutboundService.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/OutboundService.cs"
index 72b1b1c..d569246 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/OutboundService.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/OutboundService.cs"
@@ -353,9 +353,11 @@
                 decimal availableQuantity = availableStockMap.GetValueOrDefault(stock.Id, 0);
                 if (availableQuantity <= 0) continue;
 
+                // 璁$畻璇ユ墭鐩樺彲鍒嗛厤鏁伴噺
                 decimal allocateQuantity = Math.Min(remainingQuantity, availableQuantity);
                 (decimal ActualAllocatedQuantity, List<Dt_OutStockLockInfo> LockInfoList) actualAllocated = AllocateStockQuantity(stock, allocateQuantity, availableQuantity, outboundOrder, firstDetail, request, lockStockMap.GetValueOrDefault(stock.Id, new List<Dt_OutStockLockInfo>()), stockDetailMap);
 
+                // 鏈鍒嗛厤鐨勬暟閲�
                 decimal actualAllocatedQuantity = actualAllocated.ActualAllocatedQuantity;
 
                 if (actualAllocatedQuantity > 0)
@@ -502,7 +504,7 @@
                 // 璁$畻鎬诲簱瀛樻暟閲�
                 decimal totalQuantity = stockInfo.Details.Sum(x => x.StockQuantity);
 
-                List<Dt_OutStockLockInfo> outStockLockInfos = allocatedData.Where(x => x.StockId == stockInfo.Id).ToList();
+                List<Dt_OutStockLockInfo> outStockLockInfos = allocatedData.Where(x => x.StockId == stockInfo.Id && x.MaterielCode == materielCalc.MaterielCode).ToList();
 
                 // 璁$畻宸插垎閰嶆暟閲�
                 decimal allocatedQuantity = outStockLockInfos.Sum(x => x.AllocatedQuantity);
@@ -510,7 +512,6 @@
 
                 lockStockMap[stockInfo.Id] = outStockLockInfos;
             }
-
 
             return (availableStockMap, lockStockMap);
         }
@@ -560,7 +561,7 @@
 
                     // 鏇存柊鍒嗛厤鍑哄簱閲�
                     decimal beforeAssignQuantity = totalAllocatedQuantity; // 鏈鍒嗛厤鍓嶇殑鎬荤疮璁¢噺
-                    lockInfo.AssignQuantity += actualAllocatedQuantity; // 绱姞鏈鍒嗛厤鏁伴噺
+                    lockInfo.AssignQuantity += actualAllocatedQuantity; // 鏈鍒嗛厤鏁伴噺
                     lockInfo.AllocatedQuantity = beforeAssignQuantity; // 璁板綍鏈鍒嗛厤鍓嶇殑鎬荤疮璁¢噺
 
                     lockInfoList.Add(lockInfo);
@@ -874,7 +875,7 @@
                     _detailService.Repository.UpdateData(updateDetails);
 
                     // 鏇存柊閿佸畾璁板綍鐨勭疮璁″凡鍑哄簱鏁伴噺锛堥渶瑕佹洿鏂拌鎵樼洏璇ョ墿鏂欑殑鎵�鏈夌浉鍏宠褰曪級
-                    UpdateLockInfoAllocatedQuantity(stockInfo.Id, stockDetail.MaterielCode, stockDetail.BatchNo, actualOutboundQuantity);
+                    //UpdateLockInfoAllocatedQuantity(stockInfo.Id, stockDetail.MaterielCode, stockDetail.BatchNo, actualOutboundQuantity);
 
                     // 鎻愪氦浜嬪姟
                     _unitOfWorkManage.CommitTran();
@@ -904,6 +905,8 @@
                     if (CheckOutboundOrderCompleted(request.OrderNo))
                     {
                         UpdateOutboundOrderStatus(request.OrderNo, OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt());
+
+                        //todo: 鍥炰紶MES
                     }
                 }
                 catch (Exception ex)
@@ -1008,6 +1011,7 @@
             {
                 // 鏇存柊鍘熷簱瀛樻槑缁�
                 stockDetail.StockQuantity = remainingQuantity;
+                //stockDetail.Barcode = newBarcode;
                 stockDetail.Remark = $"鎷嗗寘鍚庢洿鏂帮紝鍘熸潯鐮侊細{request.Barcode}锛屾柊鏁伴噺锛歿remainingQuantity}锛屾搷浣滆�咃細{request.Operator}";
                 _stockDetailService.Repository.UpdateData(stockDetail);
             }

--
Gitblit v1.9.3