| | |
| | | var taskName = TaskName.产品入库; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | var startAreas = Settings.Areas[AreaIndex.Q取货区]; |
| | | |
| | | try { |
| | | // 起点位置必须:为空、无锁、启用、属于收发区域 |
| | | var startLoc = db.Queryable<TN_Location>() |
| | | .Where(a => a.S_CODE == model.StartLoc) |
| | | .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y") |
| | | //.Where(a => a.N_CURRENT_NUM == 0) |
| | | .Where(a => Settings.Areas[0].Contains(a.S_AREA_CODE)) // 收发区 |
| | | .Where(a => startAreas.Contains(a.S_AREA_CODE)) |
| | | .First(); |
| | | |
| | | if (startLoc == null) { |
| | |
| | | var taskName = TaskName.产品入库; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | var startAreas = Settings.Areas[AreaIndex.Q取货区]; |
| | | |
| | | try { |
| | | // 起点位置必须:为空、无锁、启用、属于收发区域 |
| | | var startLoc = db.Queryable<TN_Location>() |
| | | .Where(a => a.S_CODE == model.StartLoc) |
| | | .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y") |
| | | //.Where(a => a.N_CURRENT_NUM == 0) |
| | | .Where(a => Settings.Areas[0].Contains(a.S_AREA_CODE)) // 收发区 |
| | | .Where(a => startAreas.Contains(a.S_AREA_CODE)) |
| | | .First(); |
| | | |
| | | if (startLoc == null) { |
| | |
| | | |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | var endAreas = Settings.Areas[AreaIndex.H货架区]; |
| | | |
| | | try { |
| | | // 任务号存在:终点货架和终点位置为空,且任务为产品入库(PDA) |
| | | var task = db.Queryable<TN_Task>() |
| | |
| | | .Where(a => a.S_CODE == model.EndLoc) |
| | | .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y") |
| | | .Where(a => a.N_CURRENT_NUM == 0) |
| | | .Where(a => Settings.Areas[1].Contains(a.S_AREA_CODE)) |
| | | .Where(a => endAreas.Contains(a.S_AREA_CODE)) |
| | | .Where(a => a.N_LAYER <= 2) |
| | | .First(); |
| | | } |
| | |
| | | .Where(a => a.S_CODE == model.EndLoc) |
| | | .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y") |
| | | .Where(a => a.N_CURRENT_NUM == 0) |
| | | .Where(a => Settings.Areas[1].Contains(a.S_AREA_CODE)) |
| | | .Where(a => endAreas.Contains(a.S_AREA_CODE)) |
| | | .OrderBy(a => a.N_LAYER > 2 ? 0 : 1) // 优先取大于2的 |
| | | //.Where(a => a.N_LAYER <= 3) |
| | | .First(); |
| | |
| | | var taskName = TaskName.产品部分出库; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | var startAreas = Settings.Areas[AreaIndex.H货架区]; |
| | | var endAreas = Settings.Areas[AreaIndex.X卸货区]; |
| | | |
| | | try { |
| | | // 起点位置:货架(有货、没有锁、已启用) |
| | | var startLoc = db.Queryable<TN_Location>() |
| | | .Where(a => a.S_CODE == model.startLoc) |
| | | .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y") |
| | | .Where(a => startAreas.Contains(a.S_AREA_CODE)) |
| | | .Where(a => a.N_CURRENT_NUM == 1) |
| | | .First(); |
| | | |
| | |
| | | return BuildSimpleResult(3, $"起点位置 {model.startLoc} 没有绑定容器,无可出库的物料"); |
| | | } |
| | | |
| | | var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE)); |
| | | var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && endAreas.Contains(a.S_AREA_CODE)); |
| | | |
| | | if (endLoc == null) { |
| | | return BuildSimpleResult(4, $"终点位置 {model.endLoc} 不具备放货条件"); |
| | |
| | | var taskName = TaskName.产品部分回库; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | var startAreas = Settings.Areas[AreaIndex.X卸货区]; |
| | | var endAreas = Settings.Areas[AreaIndex.H货架区]; |
| | | |
| | | try { |
| | | // 起点位置:取放货区(有货物、没有锁、已启用) |
| | | var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE)); |
| | | var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && startAreas.Contains(a.S_AREA_CODE)); |
| | | if (startLoc == null) { |
| | | return BuildSimpleResult(2, $"起点位置 {model.startLoc} 不符合回库条件"); |
| | | } |
| | |
| | | } |
| | | |
| | | // 终点位置:货架(没有货物,没有锁) |
| | | var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y"); |
| | | var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && endAreas.Contains(a.S_AREA_CODE)); |
| | | if (endLoc == null) { |
| | | return BuildSimpleResult(4, $"终点位置 {model.endLoc} 不具备放货条件"); |
| | | } |