From bea5e8a7d4d764ec0eb35e766a879e85a1424ca4 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 03 十一月 2025 09:36:05 +0800
Subject: [PATCH] 优化盘点流程

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
index b18e5ac..d5157af 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/DeliveryOrderServices.cs"
@@ -355,7 +355,7 @@
                             #region 鏁翠欢浼樺厛鍒嗛厤澶т欢搴�,璁″垝搴撳瓨,娣诲姞鍑哄簱浠诲姟
                             foreach (var item in dt_InventoryInfos.Where(x => x.WarehouseCode == WareCodeDJ))
                             {
-                                if (xs <= 0) break;
+                                if (xs <= 0 || item.AvailableQuantity <= 0) break;
                                 decimal outqty = 0;
                                 while (item.AvailableQuantity > 0 && xs > 0)
                                 {
@@ -438,7 +438,7 @@
                                 #region 娣诲姞鍑哄簱浠诲姟銆佷慨鏀瑰簱瀛樹俊鎭�
                                 Dt_InventoryInfo? inventoryInfo = dt_InventoryInfos.FirstOrDefault(x => x.WarehouseCode == WareCodeLK);
                                 if (inventoryInfo == null)
-                                    throw new Exception($"鏈壘鍒扮墿鏂欑紪鍙枫�恵detail.goods_no}銆戝湪绔嬪簱涓殑搴撳瓨淇℃伅");
+                                    throw new Exception($"鏈壘鍒扮墿鏂欑紪鍙枫�恵detail.goods_no}銆戠墿鏂欐壒娆°�恵detail.batch_num}銆戝湪绔嬪簱涓殑搴撳瓨淇℃伅锛涙墍闇�鏁伴噺銆恵orderDetailLK.Order_qty}銆戣琛ヨ揣");
                                 inventoryInfo.AvailableQuantity -= orderDetailLK.Order_qty;
                                 inventoryInfo.OutboundQuantity += orderDetailLK.Order_qty;
                                 Dt_SupplyTask supplyTask = new Dt_SupplyTask()
@@ -555,10 +555,12 @@
                             }
                             #endregion
                             inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                            inventoryInfo.AvailableQuantity = inventoryInfo.StockQuantity;
                             inventoryInfo.SupplyQuantity = 0;
                             inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
                         }
                         inventory_Batch.StockQuantity = inventory_Batch.SupplyQuantity;
+                        inventory_Batch.AvailableQuantity = inventory_Batch.StockQuantity;
                         inventory_Batch.SupplyQuantity = 0;
                         infosUp.AddRange(inventoryInfos);
                         batchesUp.Add(inventory_Batch);
@@ -652,11 +654,13 @@
                                 }
                                 #endregion
                                 inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                                inventoryInfo.AvailableQuantity = inventoryInfo.StockQuantity;
                                 inventoryInfo.SupplyQuantity = 0;
                                 inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
                             }
                             //_inventoryInfoService.UpdateData(inventoryInfos);
                             inventory_Batch.StockQuantity = inventory_Batch.SupplyQuantity;
+                            inventory_Batch.AvailableQuantity = inventory_Batch.StockQuantity;
                             inventory_Batch.SupplyQuantity = 0;
                             //_inventory_BatchServices.UpdateData(inventory_Batch);
                             infosUp.AddRange(inventoryInfos);
@@ -723,6 +727,7 @@
                                 }
                                 #endregion
                                 inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                                inventoryInfo.AvailableQuantity = inventoryInfo.StockQuantity;
                                 inventoryInfo.SupplyQuantity = 0;
                                 inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
                             }

--
Gitblit v1.9.3