/// <summary> /// 创建摆渡车&固定辊台对接出入库 ITEM 任务 /// </summary> /// <param name="item"></param> public void CreateTask_ARF_FRT(WCS_TASK_ITEM item) { try { // 判断是出入库类型 switch (item.WCS_NO.Substring(0, 1)) { case "I": // 入库 固定辊台 (货物)==> 摆渡车 // 先动摆渡车滚棒 task.CreateCustomItem(item.WCS_NO, ItemId.摆渡车入库, item.DEVICE, "", "", ItemStatus.请求执行); // 后动固定辊台滚棒 task.CreateCustomItem(item.WCS_NO, ItemId.固定辊台入库, task.GetFRTDevice(item.LOC_TO), "", item.DEVICE, ItemStatus.请求执行); //入库目的为摆渡车 break; case "O": // 出库 摆渡车 (货物)==> 固定辊台 // 先动固定辊台滚棒 task.CreateCustomItem(item.WCS_NO, ItemId.固定辊台出库, task.GetFRTDevice(item.LOC_TO), "", "", ItemStatus.请求执行); // 后动摆渡车滚棒 task.CreateCustomItem(item.WCS_NO, ItemId.摆渡车出库, item.DEVICE, "", task.GetFRTDevice(item.LOC_TO), ItemStatus.请求执行); //出库目的为固定辊台 break; default: break; } //摆渡车初始任务更新状态——完成 task.UpdateItem(item.WCS_NO, item.ITEM_ID, ItemColumnName.作业状态, ItemStatus.完成任务); } catch (Exception ex) { //恢复 task.UpdateItem(item.WCS_NO, item.ITEM_ID, ItemColumnName.作业状态, ItemStatus.交接中); task.DeleteItem(item.WCS_NO, ItemId.固定辊台入库); task.DeleteItem(item.WCS_NO, ItemId.固定辊台出库); task.DeleteItem(item.WCS_NO, ItemId.摆渡车入库); task.DeleteItem(item.WCS_NO, ItemId.摆渡车出库); throw ex; } }