From 3d24d66c21c6ab1f2d3bddaf5e2838213cb99969 Mon Sep 17 00:00:00 2001
From: admin <qiutairan163@163.com>
Date: 星期二, 16 十二月 2025 10:41:48 +0800
Subject: [PATCH] 关单如果锁定数量=0,修改托盘库存状态

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 75b2736..791436c 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -2016,9 +2016,13 @@
                                 string stockDetailSql = $@"select LockQty-{lessQty} as morelockQty from DataStockDetail where IsDel='0' and SkuNo='{d.SkuNo}' and LotNo='{d.LotNo}' and PalletNo='{dr["PalletNo"] + ""}'";
                                 decimal morelockQty = Db.Ado.GetDecimal(stockDetailSql);
 
-                                if (morelockQty >= 0)
+                                if (morelockQty > 0)
                                 {
-                                    sqlList.Add($@"update DataStockDetail set LockQty=LockQty-{morelockQty} where IsDel='0' and SkuNo='{d.SkuNo}' and LotNo='{d.LotNo}' and PalletNo='{dr["PalletNo"] + ""}'");
+                                    sqlList.Add($@"update DataStockDetail set LockQty=LockQty-{lessQty} where IsDel='0' and SkuNo='{d.SkuNo}' and LotNo='{d.LotNo}' and PalletNo='{dr["PalletNo"] + ""}'");
+                                }
+                                else if (morelockQty == 0)
+                                {
+                                    sqlList.Add($@"update DataStockDetail set LockQty=0,Status='0' where IsDel='0' and SkuNo='{d.SkuNo}' and LotNo='{d.LotNo}' and PalletNo='{dr["PalletNo"] + ""}'");
                                 }
                             }
 
@@ -2043,9 +2047,14 @@
 
                             if (morelockQty >= 0)
                             {
-                                sqlList.Add($@"update DataStock set LockQty=LockQty-{morelockQty} where IsDel='0' and SkuNo='{dr["SkuNo"] + ""}' and LotNo='{dr["LotNo"] + ""}'");
+                                sqlList.Add($@"update DataStock set LockQty=LockQty-{lessQty} where IsDel='0' and SkuNo='{dr["SkuNo"] + ""}' and LotNo='{dr["LotNo"] + ""}'");
                             }
                         }
+                    }
+
+                    foreach (string sqlStr in sqlList)
+                    {
+                        var end = Db.Ado.ExecuteCommand(sqlStr);
                     }
 
                     //娣诲姞鎿嶄綔鏃ュ織璁板綍
@@ -2843,11 +2852,11 @@
                         }
                         //杩橀渶瑕佸垎閰嶇殑鏁伴噺
                         decimal needQty = detail.Qty - (detail.AllotQty == null ? 0 : decimal.Parse(detail.AllotQty.ToString()));
+                        
+                        //鎺掗櫎杞﹂棿搴撳瓨
+                        List<string> areaNoList = new List<string>() { "B06", "B07", "B09", "B24", "B26", "B27", "B28", "B29" };
                         //搴撳瓨鏄庣粏 Status 0锛氬緟鍒嗛厤 1锛氶儴鍒嗗垎閰�  2锛氬凡鍒嗛厤 
-                        var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.SkuNo == detail.SkuNo && (m.Qty - m.FrozenQty - m.LockQty + m.InspectQty) > 0 && (m.Status == "0" || m.Status == "1") && m.IsDel == "0"
-                        && m.AreaNo != "B06" && m.AreaNo != "B07" && m.AreaNo != "B09" && m.AreaNo != "B24" && m.AreaNo != "B26" && m.AreaNo != "B27" && m.AreaNo != "B28")//鎺掗櫎杞﹂棿搴撳瓨
-                            .ToList();
-
+                        var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.SkuNo == detail.SkuNo && (m.Qty - m.FrozenQty - m.LockQty + m.InspectQty) > 0 && (m.Status == "0" || m.Status == "1") && m.IsDel == "0" && !areaNoList.Contains(m.AreaNo)).ToList();
 
                         //鍒ゆ柇鍗曞彿鏄惁鎸囧畾鎵规
                         if (!string.IsNullOrWhiteSpace(detail.LotNo))

--
Gitblit v1.8.0