| | |
| | | { |
| | | try |
| | | { |
| | | if(a.S_OP_DEF_NAME == "接驳位入库") |
| | | { |
| | | if (!Monitor.B_FLAGE) |
| | | { |
| | | Monitor.B_FLAGE = true; |
| | | //判断当前是否有等待或者错误的接驳位入库任务,并且起点货位在当前货位的外面 |
| | | var taskList = db.Queryable<WMSTask>().Where(b => b.S_OP_DEF_NAME == "接驳位入库" && b.S_ID != a.S_ID && (b.N_B_STATE == 0 || b.N_B_STATE == 3)).ToList(); |
| | | if(taskList.Count > 0) |
| | | { |
| | | bool task_flage = false; |
| | | foreach(var x in taskList) |
| | | { |
| | | var startLocInfo = db.Queryable<Location>().Where(y => y.S_CODE == x.S_START_LOC).First(); |
| | | var startLocInfoTwo = db.Queryable<Location>().Where(y => y.S_CODE == a.S_START_LOC).First(); |
| | | if(startLocInfo.N_ROW == startLocInfoTwo.N_ROW && startLocInfo.N_COL > startLocInfoTwo.N_COL) |
| | | { |
| | | task_flage = true; |
| | | break; |
| | | } |
| | | } |
| | | if (task_flage) |
| | | { |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | continue; |
| | | } |
| | | } |
| | | if (a.N_TYPE == 1) |
| | | { |
| | | //查询托盘所在位置 |
| | |
| | | var endinfo = db.Queryable<Location>().Where(it => it.S_CODE == end.S_CODE).First(); |
| | | int startLayer = startinfo.N_CURRENT_NUM; |
| | | int endlayer = endinfo.N_CURRENT_NUM + 1; |
| | | if (a.S_OP_DEF_NAME == "接驳位入库" || a.S_OP_DEF_NAME == "瓶盖空托入库") |
| | | { |
| | | startLayer = 1; |
| | | endlayer = 1; |
| | | } |
| | | |
| | | var wcsTask = new WCSTask |
| | | { |
| | | S_OP_CODE = a.S_CODE, |
| | |
| | | N_CNTR_COUNT = 1, |
| | | S_CNTR_CODE = a.S_CNTR_CODE, |
| | | N_START_LAYER = startinfo.N_CURRENT_NUM, |
| | | N_END_LAYER = endinfo.N_CURRENT_NUM + 1 |
| | | N_END_LAYER = endinfo.N_CURRENT_NUM + 1, |
| | | S_TRAY_TYPE = a.S_TRAY_TYPE, |
| | | S_WORK_NO = a.S_WORK_NO, |
| | | S_ITEM_CODE = a.S_ITEM_CODE, |
| | | S_NOTE = a.S_NOTE |
| | | }; |
| | | if (WCSHelper.CreateTask(wcsTask)) |
| | | { |
| | |
| | | LogHelper.Info($"作业{a.S_CODE} 获取终点失败"); |
| | | } |
| | | } |
| | | if (a.S_OP_DEF_NAME == "接驳位入库") |
| | | { |
| | | Monitor.B_FLAGE = false; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |