| | |
| | | /// <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(); |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据起始组获取位置最优的四项车取货工位 |
| | | /// </summary> |
| | | /// <param name="straRoadway">起始组</param> |
| | | /// <param name="outModel">出库口工位 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> |