From fa98d09fc729817d6d640845827954b07472661b Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 16 七月 2025 09:29:38 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/HttpServer.cs |  123 +++++++++++++++++++++++-----------------
 1 files changed, 71 insertions(+), 52 deletions(-)

diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 6999955..8672d8e 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -50,7 +50,7 @@
                     throw new Exception("璧峰浣嶇疆涓嶈兘涓虹┖");
                 }
                 //鑾峰彇鍌ㄤ綅淇℃伅
-                var locateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.WareHouseNo == houseNo && m.LocatNo == Strlocate);
+                var locateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.LocatNo == Strlocate);
                 if (locateInfo == null)
                 {
                     throw new Exception("鏈煡璇㈠埌绌哄偍浣�");
@@ -103,7 +103,7 @@
                     PalletNo = palletNo,
                     Qty = palletNum,
                     FullQty = pNum,
-                    Status = "3", //涓婃灦瀹屾垚
+                    Status = "2", //涓婃灦瀹屾垚
                     Type = "1", //0 鐗╂枡鎵� 1 绌烘墭
                     LotNo = "",
                     LotText = "",
@@ -170,10 +170,10 @@
                     InspectQty = 0,
                     ASNNo = modelpb.ASNNo,
                     ASNDetailNo = modelpb.ASNDetailNo,
-                    WareHouseNo = locate.WareHouseNo,
-                    RoadwayNo = locate.RoadwayNo,
-                    AreaNo = locate.AreaNo,
-                    LocatNo = locate.LocatNo,
+                    //WareHouseNo = locate.WareHouseNo,
+                    //RoadwayNo = locate.RoadwayNo,
+                    //AreaNo = locate.AreaNo,
+                    //LocatNo = locate.LocatNo,
                     PalletNo = modelpb.PalletNo,
                     PalletNo2 = modelpb.PalletNo2,
                     PalletNo3 = modelpb.PalletNo3,
@@ -257,8 +257,8 @@
                     BackDate = DateTime.Now,  //杩斿洖鏃堕棿
                     StartRoadway = "",            // 璧峰宸烽亾
                     StartLocat = Strlocate,//璧峰浣嶇疆
-                    EndLocat = locateInfo.LocatNo,//鐩爣浣嶇疆
-                    EndRoadway = locateInfo.RoadwayNo,  // 鐩爣宸烽亾
+                    EndLocat = locate.LocatNo,//鐩爣浣嶇疆
+                    EndRoadway = locate.RoadwayNo,  // 鐩爣宸烽亾
                     PalletNo = palletNo,//鎵樼洏鐮�
                     IsSend = 1,//鏄惁鍙啀娆′笅鍙�
                     IsCancel = 1,//鏄惁鍙彇娑�
@@ -320,7 +320,7 @@
 
                 #endregion
 
-                return null;
+                return comDto;
             }
             catch (Exception e)
             {
@@ -720,18 +720,18 @@
                 //鎵樼洏搴撳瓨淇℃伅
                 var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).ToList();
                 //楠岃瘉鐗╂枡鏄惁鏈夋垚鍝�
-                foreach (var item in stockDetail)
-                {
-                    var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
-                    if (skuItem.SkuNo == "100099")
-                    {
-                        continue;
-                    }
-                    if (skuItem.Type != "2")
-                    {
-                        throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
-                    }
-                }
+                //foreach (var item in stockDetail)
+                //{
+                //    var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
+                //    if (skuItem.SkuNo == "100099")
+                //    {
+                //        continue;
+                //    }
+                //    if (skuItem.Type != "2")
+                //    {
+                //        throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
+                //    }
+                //}
                 var upShelfOld = Db.Queryable<BllPalletUpShelf>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1"));
 
                 if (upShelfOld != null) //姝e父鍏ュ簱
@@ -1027,18 +1027,18 @@
                 var oldTaskNo = "";  //鏃т换鍔″彿
                 var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).ToList();
                 //楠岃瘉鐗╂枡鏄惁鏈夋垚鍝�
-                foreach (var item in stockDetail)
-                {
-                    var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
-                    if (skuItem.SkuNo == "100099")
-                    {
-                        continue;
-                    }
-                    if (skuItem.Type != "2")
-                    {
-                        throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
-                    }
-                }
+                //foreach (var item in stockDetail)
+                //{
+                //    var skuItem = skuList.First(m => m.SkuNo == item.SkuNo);
+                //    if (skuItem.SkuNo == "100099")
+                //    {
+                //        continue;
+                //    }
+                //    if (skuItem.Type != "2")
+                //    {
+                //        throw new Exception("鎵樼洏涓婃湁涓嶆槸鎴愬搧鐨勭墿鏂�");
+                //    }
+                //}
                 
                 var upShelfOld = Db.Queryable<BllPalletUpShelf>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1"));
 
@@ -1468,7 +1468,7 @@
 
                 var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
                 //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
-                if (!stockDetail.Any())
+                if (!stockDetail.Any() && task.EndLocat!= "B100101")//B100101鏄┖鎵樼洏鏀堕泦鍣紝涓嶇敤鏍¢獙搴撳瓨
                 {
                     throw new Exception("娌℃湁鏌ヨ鍒板簱瀛樹俊鎭�");
                 }
@@ -1763,9 +1763,9 @@
                     {
                         throw new Exception("鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱");
                     }
-                    if (locate.WareHouseNo != "W02")
+                    if (locate.WareHouseNo != "W02" && locate.WareHouseNo != "W04")
                     {
-                        throw new Exception("鎵樼洏涓嶅湪璐ф灦搴撲笂");
+                        throw new Exception("鎵樼洏涓嶅湪璐ф灦搴撲笂涔熶笉鍦ㄥ钩搴�");
                     }
                     var locateEnd = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
                     if (locateEnd == null)
@@ -1774,11 +1774,20 @@
                     }
                     else if (locateEnd.Status != "0")
                     {
-                        throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
+                        var logEnd = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.EndLocat == locateEnd.LocatNo);
+                        if (logEnd != null && logEnd.PalletNo != palletNo)
+                        {
+                            throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
+                        }
+                        var detailEnd = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == locateEnd.LocatNo);
+                        if (detailEnd != null && detailEnd.PalletNo != palletNo)
+                        {
+                            throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
+                        }
                     }
                     #endregion
 
-                    if (locate.Status == "1") //鏈夌墿鍝�
+                    if (locate.WareHouseNo == "W02" && locate.Status == "1") //鏈夌墿鍝�
                     {
                         #region 娣诲姞鍑哄簱浠诲姟
 
@@ -1857,9 +1866,9 @@
                         Db.Updateable(item).ExecuteCommand();
 
                         #endregion
-                        
+
                     }
-                    else if (locate.Status == "3") //鍑哄簱涓�
+                    else if (locate.Status == "3" || locate.WareHouseNo == "W04") //鍑哄簱涓垨宸插湪骞冲簱
                     {
                         #region 鏀瑰彉鏁版嵁
                         //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛�
@@ -1883,21 +1892,31 @@
                                 }
                             }
                         }
-                        var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
-                        if (taskNo == null)
+                        if (locate.WareHouseNo == "W04")
                         {
-                            taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//褰撳墠鏈夊悓鎵樼洏涓嶅悓鐗╂枡鍑哄簱
+                            item.TaskNo = "";
+                            item.Status = "2"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
+                            item.OutMode = item.OutMode;//鍑哄簱鍙�
+                            //item.UnstackingMode = unstackingMode2;//鎷嗗灈妯″紡
+                            Db.Updateable(item).ExecuteCommand();
                         }
-                        if (taskNo == null)
+                        else
                         {
-                            throw new Exception($"鎵樼洏鍙凤細{item.PalletNo},鍑哄簱寮傚父");
-                        }
-                        item.TaskNo = taskNo.TaskNo;
-                        item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
-                        item.OutMode = item.OutMode;//鍑哄簱鍙�
-                        //item.UnstackingMode = unstackingMode2;//鎷嗗灈妯″紡
-                        Db.Updateable(item).ExecuteCommand();
-                        
+                            var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
+                            if (taskNo == null)
+                            {
+                                taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//褰撳墠鏈夊悓鎵樼洏涓嶅悓鐗╂枡鍑哄簱
+                            }
+                            if (taskNo == null)
+                            {
+                                throw new Exception($"鎵樼洏鍙凤細{item.PalletNo},鍑哄簱寮傚父");
+                            }
+                            item.TaskNo = taskNo.TaskNo;
+                            item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
+                            item.OutMode = item.OutMode;//鍑哄簱鍙�
+                            //item.UnstackingMode = unstackingMode2;//鎷嗗灈妯″紡
+                            Db.Updateable(item).ExecuteCommand();
+                        }                     
                         #endregion
                     }
                     else if (locate.Status == "5") //绉诲嚭涓�

--
Gitblit v1.8.0