From d07f25c163706ac46a83bd2c63db1e3c52715222 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期四, 27 三月 2025 15:54:25 +0800
Subject: [PATCH] 解决问题

---
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs |  145 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 121 insertions(+), 24 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 12de074..8746b3a 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -70,11 +70,11 @@
                 {
                     throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
                 }
-                var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo);
-                if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
-                {
-                    throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�");
-                }
+                //var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo);
+                //if (string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
+                //{
+                //    throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�");
+                //}
                 if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
                 {
                     var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
@@ -82,6 +82,11 @@
                 }
                 //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
                 var allotList2 = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
+
+                if (allotList2.Count == 0)
+                {
+                    throw new Exception("姝ゆ墭鐩樺凡鎷h揣鎴栨棤鎷h揣浠诲姟");
+                }
 
                 //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
                 //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹�
@@ -529,6 +534,13 @@
                     {
                         throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
                     }
+                    //淇敼鍌ㄤ綅鐘舵��
+                    var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                    if (locate != null)
+                    {
+                        locate.Status = "0";
+                        Db.Updateable(locate).ExecuteCommand();
+                    }
                     pallet.Status = "0";
                     Db.Updateable(pallet).ExecuteCommand();
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
@@ -757,6 +769,13 @@
                         }
                         pallet.Status = "0";
                         Db.Updateable(pallet).ExecuteCommand();
+                        //淇敼鍌ㄤ綅鐘舵��
+                        var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                        if (locate != null)
+                        {
+                            locate.Status = "0";
+                            Db.Updateable(locate).ExecuteCommand();
+                        }
                     }
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
                     noticeDetail.CompleteQty += pickQty;
@@ -955,12 +974,19 @@
                 {
                     throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
                 }
-
+                
                 //鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣�
                 if (isDel == 0)
                 {
                     pallet.Status = "0";
                     Db.Updateable(pallet).ExecuteCommand();
+                }
+                //淇敼鍌ㄤ綅鐘舵��
+                var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                if (locate != null)
+                {
+                    locate.Status = "0";
+                    Db.Updateable(locate).ExecuteCommand();
                 }
 
                 //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
@@ -2435,7 +2461,20 @@
                         throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏");
                     }
                     StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13010101" || w.LocatNo == "B13020101" || w.LocatNo == "B13030101")).LocatNo;
-                    EndLocate = "B15010101";
+
+                    //鏍¢獙鏄惁涓虹2灞傛嫞璐ф墭鐩樹綅
+                    var locate = Db.Queryable<SysStorageLocat>().First(w => w.Row == 2 && w.LocatNo == model.OutCode);
+                    if (locate == null)
+                    {
+                        throw new Exception("璇烽�夋嫨姝g‘鐨勬嫞璐т綅");
+                    }
+                    //鏍¢獙鐩殑璐т綅鏄惁鍙敤
+                    var isuse = Db.Queryable<SysStorageLocat>().First(w => w.Status == "0" && w.LocatNo == model.OutCode);
+                    if (locate == null)
+                    {
+                        throw new Exception("姝ゆ嫞璐т綅鐘舵�佷笉涓虹┖璐т綅");
+                    }
+                    EndLocate = model.OutCode;
                 }
                 else//涓滀晶鎷h揣浣嶅彨绌烘墭鐩�
                 {
@@ -2445,7 +2484,20 @@
                         throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏");
                     }
                     StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13030101" || w.LocatNo == "B13040101" || w.LocatNo == "B13050101")).LocatNo;
-                    EndLocate = "B15020101";
+
+                    //鏍¢獙鏄惁涓虹2灞傛嫞璐ф墭鐩樹綅
+                    var locate = Db.Queryable<SysStorageLocat>().First(w => w.Row == 4 && w.LocatNo == model.OutCode);
+                    if (locate == null)
+                    {
+                        throw new Exception("璇烽�夋嫨姝g‘鐨勬嫞璐т綅");
+                    }
+                    //鏍¢獙鐩殑璐т綅鏄惁鍙敤
+                    var isuse = Db.Queryable<SysStorageLocat>().First(w => w.Status == "0" && w.LocatNo == model.OutCode);
+                    if (locate == null)
+                    {
+                        throw new Exception("姝ゆ嫞璐т綅鐘舵�佷笉涓虹┖璐т綅");
+                    }
+                    EndLocate = model.OutCode;
                 }
 
                 //娣诲姞鍑哄簱浠诲姟
@@ -3213,6 +3265,13 @@
                         }
                         pallet.Status = "0";
                         Db.Updateable(pallet).ExecuteCommand();
+                        //淇敼鍌ㄤ綅鐘舵��
+                        var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                        if (locate != null)
+                        {
+                            locate.Status = "0";
+                            Db.Updateable(locate).ExecuteCommand();
+                        }
                     }
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
                     noticeDetail.Qty += pickQty;
@@ -3493,6 +3552,13 @@
                         }
                         pallet.Status = "0";
                         Db.Updateable(pallet).ExecuteCommand();
+                        //淇敼鍌ㄤ綅鐘舵��
+                        var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                        if (locate != null)
+                        {
+                            locate.Status = "0";
+                            Db.Updateable(locate).ExecuteCommand();
+                        }
                     }
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
                     noticeDetail.CompleteQty += pickQty;
@@ -3779,6 +3845,13 @@
                         pallet.Status = "0";
                         Db.Updateable(pallet).ExecuteCommand();
                     }
+                    //淇敼鍌ㄤ綅鐘舵��
+                    var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                    if (locate != null)
+                    {
+                        locate.Status = "0";
+                        Db.Updateable(locate).ExecuteCommand();
+                    }
 
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
                     noticeDetail.Qty += decimal.Parse(PickQty);
@@ -3962,6 +4035,13 @@
                     {
                         pallet.Status = "0";
                         Db.Updateable(pallet).ExecuteCommand();
+                    }
+                    //淇敼鍌ㄤ綅鐘舵��
+                    var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                    if (locate != null)
+                    {
+                        locate.Status = "0";
+                        Db.Updateable(locate).ExecuteCommand();
                     }
 
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
@@ -4207,6 +4287,7 @@
                             LotNo = allot.LotNo,
                             LotText = allot.LotText,
                             SupplierLot = allot.SupplierLot,
+                            
                             SkuNo = allot.SkuNo,
                             SkuName = allot.SkuName,
                             Standard = allot.Standard,
@@ -4303,10 +4384,10 @@
                             throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴");
                         }
                         var boxQty = boxInfos.First().Qty;
-                        if (boxQty > needQty)
-                        {
-                            throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
-                        }
+                        //if (boxQty > needQty)
+                        //{
+                        //    throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
+                        //}
 
                         foreach (var item in boxInfos)
                         {
@@ -4329,10 +4410,10 @@
                         {
                             throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
                         }
-                        if (decimal.Parse(pickQty1) > needQty)
-                        {
-                            throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
-                        }
+                        //if (decimal.Parse(pickQty1) > needQty)
+                        //{
+                        //    throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
+                        //}
 
                         biaoShi = "2";
                     }
@@ -4347,10 +4428,10 @@
                             throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴");
                         }
                         var boxQty = boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToList();
-                        if (boxQty[0] > needQty)
-                        {
-                            throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
-                        }
+                        //if (boxQty[0] > needQty)
+                        //{
+                        //    throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
+                        //}
 
                         foreach (var item in boxInfos)
                         {
@@ -4448,6 +4529,7 @@
                                         SkuName = item.SkuName,
                                         Standard = item.Standard,
                                         ProductionTime = item.ProductionTime,
+                                        ExpirationTime = item.ExpirationTime,
                                         SupplierLot = item.SupplierLot,
                                         InspectMark = item.InspectMark,
                                         BitBoxMark = "1",
@@ -4537,6 +4619,14 @@
                         }
                         pallet.Status = "0";
                         Db.Updateable(pallet).ExecuteCommand();
+                        //淇敼鍌ㄤ綅鐘舵��
+                        var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                        if (locate != null)
+                        {
+                            locate.Status = "0";
+                            Db.Updateable(locate).ExecuteCommand();
+                        }
+                        
                     }
                     //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
                     noticeDetail.CompleteQty += pickQty;
@@ -4646,10 +4736,10 @@
                 }
                 //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級
                 var needQty = allot.Qty - allot.CompleteQty;
-                if (decimal.Parse(PickQty) > needQty)
-                {
-                    throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺");
-                }
+                //if (decimal.Parse(PickQty) > needQty)
+                //{
+                //    throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺");
+                //}
 
                 //搴撳瓨鏄庣粏
                 var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == allot.StockId);
@@ -4874,6 +4964,13 @@
 
                     pallet.Status = "0";
                     Db.Updateable(pallet).ExecuteCommand();
+                    //淇敼鍌ㄤ綅鐘舵��
+                    var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo);
+                    if (locate != null)
+                    {
+                        locate.Status = "0";
+                        Db.Updateable(locate).ExecuteCommand();
+                    }
                 }
 
                 //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�

--
Gitblit v1.8.0