From b7cece216d84ef5b079e99f4843485e092cc4c33 Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期二, 20 二月 2024 16:37:51 +0800
Subject: [PATCH] 添加申请巷道server

---
 Wms/WMS.BLL/Logic/AllotLocation.cs |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/Wms/WMS.BLL/Logic/AllotLocation.cs b/Wms/WMS.BLL/Logic/AllotLocation.cs
index 04f23da..eb574c4 100644
--- a/Wms/WMS.BLL/Logic/AllotLocation.cs
+++ b/Wms/WMS.BLL/Logic/AllotLocation.cs
@@ -63,7 +63,7 @@
 
                             //鏌ヨ璇ュ贩閬撳苟涓旀爣蹇椾负姝e父鐨勭殑鍌ㄤ綅
                             roadwayList.Add(roadway);
-                            var locate = GetLocateByRoadways(roadwayList,areaList);
+                            var locate = GetLocateByRoadways(roadwayList,areaList,true);
                             if (locate == null)
                             {
                                 throw new Exception($"{roadwayNo}宸烽亾娌℃湁鍚堥�傜殑绌哄偍浣�");
@@ -107,8 +107,9 @@
         /// </summary>
         /// <param name="roadways">宸烽亾闆嗗悎</param>
         /// <param name="areaList">鍖哄煙闆嗗悎</param>
+        /// <param name="isRoadway">鏄惁鎸囧畾宸烽亾</param>
         /// <returns></returns>
-        private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList)
+        private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false)
         {
             try
             {
@@ -185,11 +186,15 @@
                     //鍙栧悇宸烽亾鎵�鏈夋帓绗竴涓悎閫備綅
                     foreach (var l in roadways)
                     {
-                        //濡傛灉涓婃鏄綋鍓嶅贩閬撳垯璺冲嚭
-                        if (log != null && l.RoadwayNo == log.RoadwayNo)
+                        if (!isRoadway)
                         {
-                            continue;
+                            //濡傛灉涓婃鏄綋鍓嶅贩閬撳垯璺冲嚭
+                            if (log != null && l.RoadwayNo == log.RoadwayNo)
+                            {
+                                continue;
+                            }
                         }
+                        
                         //鍙栧綋鍓嶅贩鏈�浼樹綅缃�
                         locate = GetLocateByRoadway(l.RoadwayNo, topOrBom, leftOrRight, areaList);
                         //褰撳墠宸锋湁浣嶇疆鍒欓��鍑�
@@ -199,11 +204,14 @@
                         }
                     }
                     //濡傛灉璺冲贩閬撳苟涓旀湭鎵惧埌鍚堥�傜┖鍌ㄤ綅,鍒欒烦鍒版渶鍚庝竴娆′娇鐢ㄧ殑宸烽亾鏌ヨ
-                    if (locate == null)
+                    if (!isRoadway)
                     {
-                        if (log != null)
+                        if (locate == null)
                         {
-                            locate = GetLocateByRoadway(log.RoadwayNo, topOrBom, leftOrRight, areaList);
+                            if (log != null)
+                            {
+                                locate = GetLocateByRoadway(log.RoadwayNo, topOrBom, leftOrRight, areaList);
+                            }
                         }
                     }
                 }
@@ -212,6 +220,10 @@
                     foreach (var item in roadways)
                     {
                         locate = GetLocateByRoadway(item.RoadwayNo, topOrBom, leftOrRight, areaList);
+                        if (locate != null)
+                        {
+                            break;
+                        }
                     }
                 }
 

--
Gitblit v1.8.0