From 8fa52d01b1e7f067b2e7c7ded8facc4f9e22609c Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期六, 28 九月 2024 14:51:36 +0800
Subject: [PATCH] 修改下发空托出库接口

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

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index d8ff5f2..594ae57 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -1372,12 +1372,14 @@
                                         #region 娣诲姞绉诲簱浠诲姟淇℃伅
                                         var stkModel = Db.Queryable<DataStockDetail>().First(m => m.LocatNo == slotBefore.LocatNo);
                                         string PalletNo = "LN000000";   // 榛樿婕旂ず鎵樼洏
+                                        string SkuNo = "";
                                         if (stkModel != null)
                                         {
                                             PalletNo = stkModel.PalletNo;
+                                            SkuNo = stkModel.SkuNo;
                                         }
                                         //鑾峰彇绉诲簱鐨勫簱浣�
-                                        var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, stkModel.SkuNo);
+                                        var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, SkuNo, slotBefore.AreaNo);
 
                                         var taskNo = new Common().GetMaxNo("TK");
                                         var exTask = new LogTask    //鍑哄簱浠诲姟
@@ -1387,7 +1389,7 @@
                                             Receiver = "PDA",
                                             IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
-                                            StartLocat = stkModel.LocatNo,//璧峰浣嶇疆
+                                            StartLocat = slotBefore.LocatNo,//璧峰浣嶇疆
                                             EndLocat = newSlot,//鐩爣浣嶇疆
                                             PalletNo = PalletNo,//鎵樼洏鐮�
                                             IsSend = 1,//鏄惁鍙啀娆′笅鍙�
@@ -2092,12 +2094,14 @@
                                         #region 娣诲姞绉诲簱浠诲姟淇℃伅
                                         var stkModel = Db.Queryable<DataStockDetail>().First(m=>m.LocatNo == slotBefore.LocatNo);
                                         string PalletNo = "LN000000";   // 榛樿婕旂ず鎵樼洏
+                                        string SkuNo = "";
                                         if (stkModel != null)
                                         {
                                             PalletNo = stkModel.PalletNo;
+                                            SkuNo= stkModel.SkuNo;
                                         }
                                         //鑾峰彇绉诲簱鐨勫簱浣�
-                                        var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, stkModel.SkuNo);
+                                        var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, SkuNo, slotBefore.AreaNo);
 
                                         var taskNo = new Common().GetMaxNo("TK");
                                         var exTask = new LogTask    // 绉诲簱浠诲姟
@@ -2107,7 +2111,7 @@
                                             Receiver = "WCS",
                                             IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
-                                            StartLocat = stkModel.LocatNo,//璧峰浣嶇疆
+                                            StartLocat = slotBefore.LocatNo,//璧峰浣嶇疆
                                             EndLocat = newSlot,//鐩爣浣嶇疆
                                             PalletNo = PalletNo,//鎵樼洏鐮�
                                             IsSend = 1,//鏄惁鍙啀娆′笅鍙�
@@ -2371,20 +2375,31 @@
         }
 
 
-        public string MoveAddress(string oldAddress, string roadWay, string skuNo)//01020201  鎺�-鍒�-灞�-娣卞害
+        public string MoveAddress(string oldAddress, string roadWay, string skuNo,string areaNo="")//01020201  鎺�-鍒�-灞�-娣卞害
         {
             string nowAddress = "";
 
-            //鏍规嵁鐗╂枡缂栫爜鑾峰彇瀵瑰簲鍖哄煙
-            var skuCategoryNo = Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.SkuNo == skuNo).Select(a => a.CategoryNo).First();
-            var category = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == skuCategoryNo);
+            var category = new SysMaterialCategory();
+            if (!string.IsNullOrEmpty(skuNo))
+            {
+                //鏍规嵁鐗╂枡缂栫爜鑾峰彇瀵瑰簲鍖哄煙
+                var skuCategoryNo = Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.SkuNo == skuNo).Select(a => a.CategoryNo).First();
+                category = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == skuCategoryNo);
+
+                areaNo = category.AreaNo;
+            }
+            else
+            {
+                //todo 寰呴獙璇�
+                category = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.AreaNo == areaNo);
+            }
 
             // 鑾峰彇绉诲簱鐩爣鍌ㄤ綅
             var row = int.Parse(oldAddress.Substring(0, 2));
             var lie = int.Parse(oldAddress.Substring(2, 2));
             var ceng = int.Parse(oldAddress.Substring(4, 2));
 
-            var sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng}))  as distNum from SysStorageLocat where Flag = '0' and Status = '0' and Depth = '02' and RoadwayNo = '{roadWay}' and AreaNo in ('{category.AreaNo}') order by distNum;";
+            var sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng}))  as distNum from SysStorageLocat where Flag = '0' and Status = '0' and Depth = '02' and RoadwayNo = '{roadWay}' and AreaNo in ('{areaNo}') order by distNum;";
 
             var addressModels = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList();
             if (addressModels.Count > 0)   // 鍒ゆ柇鍚屽贩閬撳唴鎺掔┖搴撲綅

--
Gitblit v1.8.0