From f42e4c5c9f91d983ae2e87d3b6b600d1c8e54087 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 03 十一月 2025 15:07:34 +0800
Subject: [PATCH] 优化盘点

---
 新建文件夹/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
index c910893..826e505 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/WIDESEA_SquareCabinServices/CabinOrderServices.cs"
@@ -524,14 +524,13 @@
                     {
                         //鎵惧簱瀛樻壒娆′俊鎭�
                         Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).First();
-                        var Qty = Math.Abs(inventory_Batch.StockQuantity - inventory_Batch.SupplyQuantity);
-                        if (Qty != item.order_qty) throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐩樼泩鏁伴噺鏈夎");
+                        if (inventory_Batch.SupplyQuantity != item.order_qty) throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐩樼泩鏁伴噺鏈夎");
                         //鎵炬墍鏈夊簱瀛�
                         List<Dt_InventoryInfo> inventoryInfos = _InventoryInfos.Where(x => x.MaterielCode == inventory_Batch.MaterielCode && x.BatchNo == inventory_Batch.BatchNo).ToList();
                         foreach (var inventoryInfo in inventoryInfos)
                         {
                             #region 娣诲姞鐩樼泩鍏ュ簱浠诲姟
-                            if (inventoryInfo.StockQuantity != inventoryInfo.SupplyQuantity)
+                            if (inventoryInfo.SupplyQuantity != 0)
                             {
                                 Dt_SupplyTask_Hty supplyTask_Hty = new Dt_SupplyTask_Hty()
                                 {
@@ -548,7 +547,7 @@
                                     Creater = App.User.UserName,
                                     LocationCode = inventoryInfo.LocationCode,
                                     OrderNo = order.order_no,
-                                    StockQuantity = Math.Abs(inventoryInfo.StockQuantity - inventoryInfo.SupplyQuantity),
+                                    StockQuantity = inventoryInfo.SupplyQuantity,
                                     SupplyQuantity = 0,
                                     Remark = "鐩樼泩鍏ュ簱"
                                 };
@@ -556,13 +555,13 @@
                                 supplyTask_Hties.Add(supplyTask_Hty);
                             }
                             #endregion
-                            inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                            inventoryInfo.StockQuantity += inventoryInfo.SupplyQuantity;
                             inventoryInfo.AvailableQuantity = inventoryInfo.StockQuantity;
                             inventoryInfo.SupplyQuantity = 0;
                             inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
                         }
                         infosUp.AddRange(inventoryInfos);
-                        inventory_Batch.StockQuantity = inventory_Batch.SupplyQuantity;
+                        inventory_Batch.StockQuantity += inventory_Batch.SupplyQuantity;
                         inventory_Batch.AvailableQuantity = inventory_Batch.StockQuantity;
                         inventory_Batch.SupplyQuantity = 0;
                         batchesUp.Add(inventory_Batch);
@@ -614,16 +613,21 @@
                     {
                         //鎵惧簱瀛樻壒娆′俊鎭�
                         Dt_Inventory_Batch inventory_Batch = inventory_Batchs.Where(x => x.MaterielCode == item.goods_no && x.BatchNo == item.batch_num).First();
-                        var Qty = Math.Abs(inventory_Batch.StockQuantity - inventory_Batch.SupplyQuantity);
+                        var Qty = Math.Abs(inventory_Batch.SupplyQuantity);
                         if (Qty != item.order_qty) throw new Exception($"鐩樼泩鍏ュ簱鍗曘�恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐩樼泩鏁伴噺鏈夎");
                         //鎵炬墍鏈夊簱瀛�
                         List<Dt_InventoryInfo> inventoryInfos = _InventoryInfos.Where(x => x.MaterielCode == inventory_Batch.MaterielCode && x.BatchNo == inventory_Batch.BatchNo).ToList();
                         //鑾峰彇绔嬪簱鐩樼偣宸紓鏁�
                         var inventoryLK = inventoryInfos.Where(x => x.WarehouseCode == WareCodeLK).First();
-                        var LkQty = Math.Abs(inventoryLK.StockQuantity - inventoryLK.SupplyQuantity);
+                        //var LkQty = Math.Abs(inventoryLK.SupplyQuantity);
+                        var LkQty = inventoryLK.SupplyQuantity;
+
                         //鑾峰彇澶т欢搴撶洏鐐瑰樊寮傛暟
                         var inventoryDJ = inventoryInfos.Where(x => x.WarehouseCode == WareCodeDJ).ToList();
-                        var DJQty = Math.Abs(inventoryDJ.Sum(x => x.StockQuantity) - inventoryDJ.Sum(x => x.SupplyQuantity));
+                        //var DJQty = Math.Abs(inventoryDJ.Sum(x => x.SupplyQuantity));
+                        var DJQty = inventoryDJ.Sum(x => x.SupplyQuantity);
+
+
                         if (LkQty + DJQty != Qty) throw new Exception($"銆恵order.order_no}銆戠墿鏂欑紪鍙枫�恵item.goods_no}銆戠墿鏂欐壒娆°�恵item.batch_num}銆戠殑鐗╂枡淇℃伅涓庣墿鏂欐壒娆′俊鎭洏鐩堟暟閲忎笉绗�");
                         if (LkQty == 0)//绔嬪簱鏃犲樊寮�
                         {
@@ -648,7 +652,7 @@
                                         Creater = App.User.UserName,
                                         LocationCode = inventoryInfo.LocationCode,
                                         OrderNo = order.order_no,
-                                        StockQuantity = Math.Abs(inventoryInfo.StockQuantity - inventoryInfo.SupplyQuantity),
+                                        StockQuantity = Math.Abs(inventoryInfo.SupplyQuantity),
                                         SupplyQuantity = 0,
                                         Remark = "鐩樼泩鍏ュ簱"
                                     };
@@ -656,14 +660,14 @@
                                     supplyTask_Hties.Add(supplyTask_Hty);
                                 }
                                 #endregion
-                                inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                                inventoryInfo.StockQuantity += inventoryInfo.SupplyQuantity;
                                 inventoryInfo.AvailableQuantity = inventoryInfo.StockQuantity;
                                 inventoryInfo.SupplyQuantity = 0;
                                 inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
                             }
                             //_inventoryInfoService.UpdateData(inventoryInfos);
                             infosUp.AddRange(inventoryInfos);
-                            inventory_Batch.StockQuantity = inventory_Batch.SupplyQuantity;
+                            inventory_Batch.StockQuantity += inventory_Batch.SupplyQuantity;
                             inventory_Batch.AvailableQuantity = inventory_Batch.StockQuantity;
                             inventory_Batch.SupplyQuantity = 0;
                             //_inventory_BatchServices.UpdateData(inventory_Batch);
@@ -721,7 +725,7 @@
                                         Creater = App.User.UserName,
                                         LocationCode = inventoryInfo.LocationCode,
                                         OrderNo = order.order_no,
-                                        StockQuantity = Math.Abs(inventoryInfo.StockQuantity - inventoryInfo.SupplyQuantity),
+                                        StockQuantity = Math.Abs(inventoryInfo.SupplyQuantity),
                                         SupplyQuantity = 0,
                                         Remark = "鐩樼泩鍏ュ簱"
                                     };
@@ -729,7 +733,7 @@
                                     supplyTask_Hties.Add(supplyTask_Hty);
                                 }
                                 #endregion
-                                inventoryInfo.StockQuantity = inventoryInfo.SupplyQuantity;
+                                inventoryInfo.StockQuantity += inventoryInfo.SupplyQuantity;
                                 inventoryInfo.AvailableQuantity = inventoryInfo.StockQuantity;
                                 inventoryInfo.SupplyQuantity = 0;
                                 inventoryInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
@@ -781,7 +785,7 @@
                                 Details = order.details.Select(d => new Dt_CabinOrderDetail
                                 {
                                     Goods_no = d.goods_no,
-                                    Order_qty = LkQty,
+                                    Order_qty =Math.Abs( LkQty),
                                     Batch_num = d.batch_num,
                                     Exp_date = d.exp_date,
                                     Reservoirarea = WareCodeLK,

--
Gitblit v1.9.3