From 9335b068994ded46e7844d81967a12eb652f77ef Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 04 十一月 2025 08:05:56 +0800
Subject: [PATCH] 处理出库作业手动分配无法输入小数问题

---
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index a559ce4..bf46865 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -143,10 +143,14 @@
                     var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0");
                     if (newPalletInfo == null)
                     {
-                        var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew &&(m.SkuNo != stockDetail.SkuNo || m.LotNo != stockDetail.LotNo)).ToList();
+                        throw Oops.Bah("鏂版墭鐩樹俊鎭笉瀛樺湪锛�");
+                    }
+                    if (newPalletInfo.Status == "0")
+                    {
+                        var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && (m.SkuNo != stockDetail.SkuNo || m.LotNo != stockDetail.LotNo)).ToList();
                         if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
                         {
-                            throw Oops.Bah("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒");
+                            throw Oops.Bah("涓�涓墭鐩樺彧鑳芥帴鍙椾竴涓嚭搴撳崟鎷兼墭锛�");
                         }
                     }
                     else
@@ -303,6 +307,19 @@
                     }
                     else
                     {
+                        var locateStr = stockDetail.LocatNo;
+                        //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣�
+                        var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr);
+                        if (locate != null)
+                        {
+                            locate.Status = "0";
+                            Db.Updateable(locate).ExecuteCommand();
+                        }
+                        stockDetail.WareHouseNo = "";
+                        stockDetail.RoadwayNo = "";
+                        stockDetail.AreaNo = "";
+                        stockDetail.LocatNo = "";
+
                         stockDetail.SONo = soNo;
                         stockDetail.UDF5 = "1";
                         await Db.Updateable(stockDetail).ExecuteCommandAsync();
@@ -481,7 +498,7 @@
                         pinStockDetail.LockQty += pickQty;
                         await Db.Updateable(pinStockDetail).ExecuteCommandAsync();
                     }
-                }
+                }                
 
                 //娣诲姞鎿嶄綔鏃ュ織璁板綍
                 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鎷兼墭", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勫師鎵樼洏鐮佷负锛歿palletNo}锛屾柊鎵樼洏鐮佷负锛歿palletNoNew}鐨勬嫞璐ф嫾鎵樻搷浣�", userId);
@@ -1519,7 +1536,7 @@
                 string skuName = boxInfos.First().SkuName;
 
                 // 楠岃瘉鏄惁杞﹂棿绾胯竟浠撳簱
-                var areaList = new List<string>() { "B06", "B07", "B09" };
+                var areaList = new List<string>() { "B06", "B07", "B09", "B24" };
                 if (!areaList.Contains(stockDetail.AreaNo))
                 {
                     throw Oops.Bah("鎵樼洏涓嶆槸杞﹂棿鎵樼洏锛�");
@@ -1565,7 +1582,7 @@
                     await Db.Updateable(stockDetail).ExecuteCommandAsync();
                 }   
                 stock.Qty -= pickQty;
-                //stock.LockQty -= pickQty;
+                stock.LockQty -= pickQty;
                 if (stock.Qty <= 0)
                 {
                     await Db.Deleteable(stock).ExecuteCommandAsync();
@@ -1677,7 +1694,7 @@
                 }
 
                 // 楠岃瘉鏄惁杞﹂棿绾胯竟浠撳簱
-                var areaList = new List<string>() { "B06", "B07", "B09" };
+                var areaList = new List<string>() { "B06", "B07", "B09", "B24" };
                 if (!areaList.Contains(stockDetail.AreaNo))
                 {
                     throw Oops.Bah("鎵樼洏涓嶆槸杞﹂棿鎵樼洏锛�");

--
Gitblit v1.8.0