Example #1
0
        /// <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;
            }
        }