| | |
| | | /// </summary> |
| | | internal static void Start() |
| | | { |
| | | LogHelper.Info($"作业启动 创建子任务"); |
| | | //LogHelper.Info($"作业启动 创建子任务"); |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | List<WMSTask> list = WMSHelper.GetWaitingOperationList(); |
| | | LogHelper.Info($"获取任务数据 数量{list.Count}"); |
| | | if (list.Count > 0) |
| | | { |
| | | LogHelper.Info($"获取任务数据 数量{list.Count}"); |
| | | //如果是出库的作业锁定托盘的时候已经明确起点了,如果发货单或分拣单指定了终点, |
| | | //如果没有作业、任务的顺序限制就可以启动,创建子任务了 |
| | | foreach (var a in list) |
| | |
| | | LocationHelper.LockLoc(end.S_CODE, 1); |
| | | var startinfo = db.Queryable<Location>().Where(it => it.S_CODE == a.S_START_LOC).First(); |
| | | 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 == "瓶盖非急产补满框" || a.S_OP_DEF_NAME == "瓶坯非急产补空框" || a.S_OP_DEF_NAME == "瓶盖非急产补空框") |
| | | { |
| | | startLayer = 1; |
| | | endlayer = Settings.dXSites.Where(it => it.loc == a.S_END_LOC).First().site; |
| | | } |
| | | if(a.S_OP_DEF_NAME == "注塑即产满托下线(瓶坯)") |
| | | { |
| | | endlayer = Settings.dXSites.Where(it => it.loc == a.S_END_LOC).First().site; |
| | | } |
| | | |
| | | 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)) |
| | | { |
| | |
| | | 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)) |
| | | { |