예제 #1
0
        /// <summary>
        /// 分配任务设备
        /// </summary>
        /// <param name="item"></param>
        public void ReadDevice(WCS_TASK_ITEM item)
        {
            try
            {
                // 获取任务所在固定辊台
                String frt = task.GetFRTByWCSNo(item.WCS_NO);
                if (String.IsNullOrEmpty(frt))
                {
                    return;
                }

                // 获取任务所在作业区域
                String area = task.GetArea(frt);
                if (String.IsNullOrEmpty(frt))
                {
                    return;
                }

                switch (item.ITEM_ID.Substring(0, 2))
                {
                case "01":
                    #region 摆渡车
                    // 获取作业区域内空闲的摆渡车
                    List <WCS_CONFIG_DEVICE> dList_ARF = task.GetDeviceList(area, DeviceType.摆渡车);
                    // 确认其中最适合的摆渡车

                    // =>根据任务讯息获取位置允许范围可用设备

                    // =>确认设备

                    //更新状态
                    task.UpdateItem(item.WCS_NO, item.ITEM_ID, ItemColumnName.作业状态, ItemStatus.请求执行);
                    #endregion
                    break;

                case "02":
                    #region 运输车
                    // =>根据任务讯息获取位置允许范围可用设备

                    // =>确认设备

                    //更新状态
                    task.UpdateItem(item.WCS_NO, item.ITEM_ID, ItemColumnName.作业状态, ItemStatus.请求执行);
                    #endregion
                    break;

                case "03":
                    #region 行车
                    // =>根据任务讯息获取位置允许范围可用设备

                    // =>确认设备

                    //更新状态
                    task.UpdateItem(item.WCS_NO, item.ITEM_ID, ItemColumnName.作业状态, ItemStatus.请求执行);
                    #endregion
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                //初始化
                task.UpdateItem(item.WCS_NO, item.ITEM_ID, ItemColumnName.作业状态, ItemStatus.可执行);
                throw ex;
            }
        }