| | |
| | | foreach (var item in v) |
| | | { |
| | | //取得巷道列表中可用货位最多的巷道 并获取巷道中所有货位 |
| | | location_roadray = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).ToList(); |
| | | location_roadray = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).OrderBy(b => b.N_LAYER).ToList(); |
| | | |
| | | if (location_roadray != null && location_roadray.Count > 0) |
| | | { |
| | |
| | | foreach (var item in v) |
| | | { |
| | | //取得巷道列表中可用货位最多的巷道 并获取巷道中所有货位 |
| | | var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).ToList(); |
| | | var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.roadWay).OrderBy(b => b.N_ROW).OrderBy(b=>b.N_COL).OrderBy(b => b.N_LAYER).ToList(); |
| | | |
| | | foreach (var item1 in loclist) |
| | | { |
| | |
| | | { |
| | | var ConnectionList = 0; |
| | | |
| | | var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.N_ROADWAY && o.N_CURRENT_NUM>0).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).ToList(); |
| | | var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.N_ROADWAY && o.N_CURRENT_NUM>0).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).ToList(); |
| | | foreach (var item1 in loclist) |
| | | { |
| | | var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item1.S_CODE).First(); |
| | |
| | | |
| | | foreach (var item in result) |
| | | { |
| | | var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.loc.N_ROADWAY && o.N_CURRENT_NUM==0 ).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).ToList(); |
| | | var loclist = lstTrueLocation.Where(o => o.N_ROADWAY == item.loc.N_ROADWAY && o.N_CURRENT_NUM==0 ).OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).ToList(); |
| | | foreach (var item1 in loclist) |
| | | { |
| | | location_roadray.Add(item1); |
| | |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | try |
| | | { |
| | | |
| | | |
| | | var connectionList = LocationHelper.GetConnectionList(CONNECTION); |
| | | |
| | | var connectionList = LocationHelper.GetConnectionListByN(CONNECTION); |
| | | |
| | | var balanceConnectionList = LocationHelper.GetConnectionListByst(connectionList); |
| | | |
| | |
| | | |
| | | //查找不可用巷道 |
| | | var rowdwa = db.Queryable<RoadWayEnable>().Where(x => x.areaCode == startArea && x.status == "0").ToList(); |
| | | |
| | | LogHelper.Info($"空托自动出库排除不可用货位开始:{locations.Count}", "空托出库"); |
| | | for (int i = 0; i < rowsStart.Count; i++) |
| | | { |
| | | var rowList = locations.Where(r => r.N_ROW == rowsStart[i]).ToList().OrderByDescending(a => a.N_COL); |
| | |
| | | |
| | | foreach (var item2 in balanceConnectionList) |
| | | { |
| | | if (rowList.Count(a => a.N_ROADWAY != item2.CONNEC_ROADWAY) > 0) |
| | | if (rowList.Count(a => a.N_ROADWAY == item2.CONNEC_ROADWAY) > 0) |
| | | { |
| | | flag2 = true; |
| | | break; |
| | |
| | | |
| | | if (flag || flag2) |
| | | { |
| | | continue; |
| | | locations.RemoveAll(a => a.N_ROW == rowsStart[i]); |
| | | } |
| | | |
| | | //当前排有锁并且没有满货位,排除 |
| | |
| | | locations.RemoveAll(a => a.N_ROW == rowsStart[i]); |
| | | } |
| | | } |
| | | LogHelper.Info($"空托自动出库排除不可用货位结束:{locations.Count}", "空托出库"); |
| | | |
| | | foreach (var item in locations) |
| | | { |
| | | if (item.N_CURRENT_NUM == 0) |
| | |
| | | continue; |
| | | } |
| | | var tp = db.Queryable<LocCntrRel>().Where(s => s.S_LOC_CODE == item.S_CODE).First(); |
| | | LogHelper.Info($"空托自动出库itemCode:{item.S_CODE},itemLock:{item.S_LOCK_STATE} ,tp信息" + JsonConvert.SerializeObject(tp), "空托出库"); |
| | | |
| | | if (tp != null && item.S_LOCK_STATE == "无") |
| | | { |
| | | var tp1 = db.Queryable<Container>().Where(s => s.S_CODE == tp.S_CNTR_CODE).First(); |
| | | |
| | | LogHelper.Info($"空托自动出库tp1信息"+JsonConvert.SerializeObject(tp1), "空托出库"); |
| | | if (tp1 != null && tp1.N_DETAIL_COUNT==0) |
| | | { |
| | | start = item; |