| | |
| | | using HH.WCS.DaYang.wms; |
| | | using HH.WCS.DaYang.util; |
| | | using HH.WCS.DaYang.wms; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | |
| | | List<WMSTask> list = WMSHelper.GetWaitingOperationList(); |
| | | if (list.Count > 0) |
| | | { |
| | | var db = new SqlHelper<WCSTask>().GetInstance(); |
| | | //空托回库任务创建 |
| | | list.ForEach(a => |
| | | { |
| | |
| | | } |
| | | else if (a.N_TYPE == 2) |
| | | { |
| | | #region MyRegion |
| | | //判断外侧有没有托盘,需不需要移库 |
| | | var StartLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == a.S_START_AREA && b.S_CODE == a.S_START_LOC).First(); |
| | | var OutLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == StartLoc.S_AREA_CODE && b.N_LAYER == StartLoc.N_LAYER && b.N_POS == 1 && b.N_CURRENT_NUM == 1 && b.N_LOCK_STATE == 0).First(); |
| | | if (OutLoc != null) |
| | | { |
| | | var YiKuLoc = LocationHelper.InStorage(OutLoc); |
| | | if (YiKuLoc != null) |
| | | { |
| | | var wcsTask = new WCSTask |
| | | { |
| | | S_OP_CODE = a.S_CODE, |
| | | S_OP_NAME = "出库", |
| | | S_CODE = WCSHelper.GenerateTaskNo(), |
| | | S_TYPE = "移库", |
| | | S_START_LOC = OutLoc.S_CODE, |
| | | S_END_LOC = YiKuLoc.S_CODE, |
| | | N_SCHEDULE_TYPE = 2, |
| | | N_CNTR_COUNT = 1, |
| | | S_CNTR_CODE = a.S_CNTR_CODE, |
| | | |
| | | }; |
| | | if (WCSHelper.CreateTask(wcsTask) ) |
| | | { |
| | | //更新作业状态为执行 |
| | | LocationHelper.LockLoc(OutLoc.S_CODE, 2); |
| | | LocationHelper.LockLoc(YiKuLoc.S_CODE, 1); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"作业:{a.S_CODE}外侧货位{OutLoc.S_CODE},未计算到移库货位,作业不启动"); |
| | | return; |
| | | } |
| | | ; |
| | | } |
| | | #endregion |
| | | |
| | | string JbwLoc = ""; |
| | | |
| | |
| | | WMSHelper.UpdateTaskState(a); |
| | | } |
| | | } |
| | | |
| | | |
| | | }); |
| | | |