From 13b0b92e981330f3c0dfaf351c203045f90bdb93 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期三, 08 十月 2025 08:16:14 +0800 Subject: [PATCH] 修改四向车库移库分配库位逻辑 --- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 81 ++++++++++++++++++++++++++++------------ 1 files changed, 57 insertions(+), 24 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index c28c5bc..294d448 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -4308,31 +4308,65 @@ var tray2 = Db.Queryable<DataStockDetail>().Where(m => m.SkuNo == item2.SkuNo && m.LotNo == item2.LotNo && !slotList.Contains(m.LocatNo) && m.PalletTags == item2.PalletTags && okLan.Contains(m.RoadwayNo)).ToList(); - foreach (var s in tray2) + if (tray2.Count > 0) { - if (string.IsNullOrWhiteSpace(s.RoadwayNo))//鍒ゆ柇鏄惁鍦ㄥ簱澶栵紝濡傛槸璺宠繃 + foreach (var s in tray2) { - continue; - } - var lan = Db.Queryable<SysStorageLocat>().Where(m => m.RoadwayNo == s.RoadwayNo).OrderBy(m => m.LocatNo).ToList(); - //鍒ゆ柇鏄惁鏈夊叆搴撲腑銆佸嚭搴撲腑銆佺Щ鍏ヤ腑銆佺Щ鍑轰腑 - if (lan.Count(m => m.Status == "2" || m.Status == "3" || m.Status == "4" || m.Status == "5") > 0) - { - continue; - } - if (lan.Count(m => m.Status == "0") > 0) - { - - var bol = GetBecomingLocation(s.RoadwayNo, ref location); - if (bol && !string.IsNullOrWhiteSpace(location)) + if (string.IsNullOrWhiteSpace(s.RoadwayNo))//鍒ゆ柇鏄惁鍦ㄥ簱澶栵紝濡傛槸璺宠繃 { - newAddress = location; - return newAddress; + continue; + } + var lan = Db.Queryable<SysStorageLocat>().Where(m => m.RoadwayNo == s.RoadwayNo).OrderBy(m => m.LocatNo).ToList(); + //鍒ゆ柇鏄惁鏈夊叆搴撲腑銆佸嚭搴撲腑銆佺Щ鍏ヤ腑銆佺Щ鍑轰腑 + if (lan.Count(m => m.Status == "2" || m.Status == "3" || m.Status == "4" || m.Status == "5") > 0) + { + continue; + } + if (lan.Count(m => m.Status == "0") > 0) + { + + var bol = GetBecomingLocation(s.RoadwayNo, ref location); + if (bol && !string.IsNullOrWhiteSpace(location)) + { + newAddress = location; + return newAddress; + } } - } } + if(string.IsNullOrEmpty(newAddress)) + { + //宸叉湁鐗╁搧鐨勫贩閬� + var roadwayHave = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == "W01").GroupBy(g => g.RoadwayNo).Select(s => s.RoadwayNo).ToList(); + //鏌ユ壘娌℃湁鐗╁搧鐨勫贩閬� + var roadwayNull = Db.Queryable<SysStorageRoadway>().Where(w => w.IsDel == "0" && w.WareHouseNo == "W01" && w.Status == "0" && okLan.Contains(w.RoadwayNo) && !roadwayHave.Contains(w.RoadwayNo)).Select(s => s.RoadwayNo).ToList(); + if (roadwayNull.Count > 0) + { + foreach (var itemRoad in roadwayNull) + { + var bol = GetBecomingLocation(itemRoad, ref location); + if (bol && !string.IsNullOrWhiteSpace(location)) + { + newAddress = location; + return newAddress; + } + } + } + else + { + foreach (var itemRoad in roadwayHave) + { + var bol = GetBecomingLocation(itemRoad, ref location); + if (bol && !string.IsNullOrWhiteSpace(location)) + { + newAddress = location; + return newAddress; + } + } + } + } + } } @@ -4506,16 +4540,15 @@ if (slotModel[0].Column > aisleRow) { - // 鍙栨渶涓婇潰涓�鎺� - location = slotModel[0].LocatNo; - - } - else - { // 鍙栨渶涓嬮潰涓�鎺� location = slotModel[slotModel.Count - 1].LocatNo; } + else + { + // 鍙栨渶涓婇潰涓�鎺� + location = slotModel[0].LocatNo; + } bl = true; } -- Gitblit v1.8.0