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