From 48df8080d7befac9fff4f5345750699c592512f6 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期三, 07 五月 2025 08:21:28 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/Logic/AllotLocation.cs |  102 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 99 insertions(+), 3 deletions(-)

diff --git a/Wms/WMS.BLL/Logic/AllotLocation.cs b/Wms/WMS.BLL/Logic/AllotLocation.cs
index 8d1ca0a..4b4aff6 100644
--- a/Wms/WMS.BLL/Logic/AllotLocation.cs
+++ b/Wms/WMS.BLL/Logic/AllotLocation.cs
@@ -105,16 +105,16 @@
         /// <param name="areaList">鍖哄煙闆嗗悎</param>
         /// <param name="lotNo">鎵规鍙�</param>
         /// <returns></returns>
-        public SysStorageLocat GetMiJiSuiTableLocate(SysStorageRoadway roadway, List<string> areaList, string sku, string lotNo = "")
+        public SysStorageLocat GetMiJiSuiTableLocate(string roadwayNo, List<string> areaList)
         {
 
             var db = DataContext.Db;
             
             // 鍒ゆ柇褰撳墠宸烽亾(缁�)鏄惁鏈夌┖浣欏偍浣�
-            var locateList = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == roadway.RoadwayNo && areaList.Contains(m.AreaNo)).ToList();
+            var locateList = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == roadwayNo && areaList.Contains(m.AreaNo)).ToList();
             if (locateList.Count(m => m.Status == "0") > 0)
             {
-                var bl = GetLocateASCOrDesc(roadway.RoadwayNo);
+                var bl = GetLocateASCOrDesc(roadwayNo);
 
                 var locate = locateList.OrderBy(m => m.LocatNo).First();
 
@@ -191,6 +191,102 @@
         }
 
         /// <summary>
+        /// 鏍规嵁璧峰缁勮幏鍙栦綅缃渶浼樼殑鍥涢」杞﹀彇璐у伐浣�
+        /// </summary>
+        /// <param name="straRoadway">璧峰缁�</param>
+        /// <param name="outModel">鍑哄簱鍙e伐浣� 9銆� 17銆� 18</param>
+        /// <returns></returns>
+        public string RoadwayToStationNum(string straRoadway, string outModel)
+        {
+            var db = DataContext.Db;
+            string stationNum = "";
+
+            string[] lists = straRoadway.Split("MR");
+            var model = db.Queryable<SysStorageLocat>().First(m => m.RoadwayNo == straRoadway && m.IsDel == "0");
+            string stat = model.AisleOne;
+
+            if (model.Layer == 1)
+            {   // 涓�灞�
+                switch (outModel)       // 鐢宠鐨勫叆搴撳彛
+                {
+                    case "9":
+
+                        var path13 = Math.Abs(19 - int.Parse(stat.Substring(0, 2))) + Math.Abs(6 - int.Parse(stat.Substring(2, 2)));
+                        var path14 = Math.Abs(19 - int.Parse(stat.Substring(0, 2))) + Math.Abs(12 - int.Parse(stat.Substring(2, 2)));
+
+                        if (path13 <= path14)
+                        {
+                            stationNum = "190601";
+                        }
+                        else
+                        {
+                            stationNum = "191201";
+                        }
+                        break;
+                    case "17":
+                        stationNum = "030401";
+                        break;
+                    case "18":
+                        var path03 = Math.Abs(03 - int.Parse(stat.Substring(0, 2))) + Math.Abs(06 - int.Parse(stat.Substring(2, 2)));
+                        var path05 = Math.Abs(03 - int.Parse(stat.Substring(0, 2))) + Math.Abs(12 - int.Parse(stat.Substring(2, 2)));
+
+                        if (path03 <= path05)
+                        {
+                            stationNum = "030601";
+                        }
+                        else
+                        {
+                            stationNum = "031201";
+                        }
+                        break;
+                    default: break;
+                }
+            }
+            else
+            {  // 浜屽眰
+                switch (outModel)       // 鐢宠鐨勫叆搴撳彛
+                {
+                    case "9":
+
+                        var path15 = Math.Abs(19 - int.Parse(stat.Substring(0, 2))) + Math.Abs(6 - int.Parse(stat.Substring(2, 2)));
+                        var path16 = Math.Abs(19 - int.Parse(stat.Substring(0, 2))) + Math.Abs(12 - int.Parse(stat.Substring(2, 2)));
+
+                        if (path15 <= path16)
+                        {
+                            stationNum = "190602";
+                        }
+                        else
+                        {
+                            stationNum = "191202";
+                        }
+
+                        break;
+                    case "17":
+                        stationNum = "030402";
+                         break;
+                    case "18":
+                        var path03 = Math.Abs(03 - int.Parse(stat.Substring(0, 2))) + Math.Abs(06 - int.Parse(stat.Substring(2, 2)));
+                        var path05 = Math.Abs(03 - int.Parse(stat.Substring(0, 2))) + Math.Abs(12 - int.Parse(stat.Substring(2, 2)));
+
+                        if (path03 <= path05)
+                        {
+                            stationNum = "030602";
+                        }
+                        else
+                        {
+                            stationNum = "031202";
+                        }
+
+                        break;
+                    default: break;
+                }
+            }
+
+            return stationNum;
+        }
+
+
+        /// <summary>
         /// 鑾峰彇鍚堥�傜殑搴撲綅
         /// </summary>
         /// <param name="houseNo">浠撳簱鍙�</param>

--
Gitblit v1.8.0