From d5fe80c5cb7dc0b209d8fea9faa84c7ca5b20324 Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期五, 16 一月 2026 16:07:18 +0800
Subject: [PATCH] 出入库移库完成

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs |   46 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 32 insertions(+), 14 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
index abe2c87..ba0f151 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
@@ -1,4 +1,5 @@
 锘縰sing HslCommunication.WebSocket;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
 using SqlSugar;
@@ -10,6 +11,7 @@
 using WIDESEA_Common.CommonEnum;
 using WIDESEA_Common.LocationEnum;
 using WIDESEA_Common.StockEnum;
+using WIDESEA_Common.WareHouseEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
@@ -156,24 +158,40 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-    
-        
+
+
         public string AccessingTunnel(int WarehouseId, int LocationType)
         {
             List<Dt_LocationInfo> locationData = BaseDal.QueryData(x => x.WarehouseId == WarehouseId);
-            var roadwayGroups = locationData
-                .Where(x => x.LocationType == LocationType)
-                .GroupBy(x => x.RoadwayNo)
-                .Select(g => new
-                {
-                    RoadwayNo = g.Key,
-                    LocationCount = g.Count(),
-                    AllLocations = g.ToList()
-                })
-                .OrderByDescending(g => g.LocationCount)  // 鏀逛负闄嶅簭鎺掑簭
-                .FirstOrDefault();  // 鍙栫涓�涓紙鏁伴噺鏈�澶氱殑锛�
+            var roadwayGroups = locationData.Where(x => x.LocationType == LocationType).GroupBy(x => x.RoadwayNo)
+            .Select(g => new
+            {
+                RoadwayNo = g.Key,
+                LocationCount = g.Count(),
+            }).OrderByDescending(g => g.LocationCount).ToList();
 
-            return roadwayGroups.RoadwayNo;
+            int minRequired = 15;
+            if(WarehouseId== (int)WarehouseEnum.YMYL)
+            {
+                if (LocationType == 2) minRequired = 6;
+
+                var selectedRoadway = roadwayGroups.FirstOrDefault(g => g.LocationCount >= minRequired);
+                return selectedRoadway.RoadwayNo;
+            }
+            else
+            {
+                var selectedRoadway = roadwayGroups.FirstOrDefault(g => g.LocationCount >= minRequired);
+                if(selectedRoadway != null)
+                {
+                    return selectedRoadway.RoadwayNo;
+
+                }
+                else
+                {
+                    selectedRoadway = roadwayGroups.FirstOrDefault(g => g.RoadwayNo =="5" && g.LocationCount != 0);
+                }
+                return selectedRoadway.RoadwayNo;
+            }
         }
 
 

--
Gitblit v1.9.3