예제 #1
0
        /// <summary>
        /// 获取最早待执行出库任务
        /// </summary>
        /// <returns></returns>
        public static int GetOutTaskWMS(string to, out string[] taskid)
        {
            try
            {
                // 等待WMS请求秒数  3min
                int WMSs = 180;

                int res = 0;
                List <WCS_WMS_TASK> task = CommonSQL.GetOutTaskInfo(to);
                taskid = new string[task.Count];

                int s = 0;
                if (task != null && task.Count > 0)
                {
                    TimeSpan ts = DateTime.Now.Subtract(task[0].CREATION_TIME);
                    s = Convert.ToInt32(ts.TotalSeconds);
                    task.Sort(SortOutTaskWMS);
                }

                switch (task.Count)
                {
                case 1:
                    if (s < WMSs)
                    {
                        break;
                    }

                    taskid[0] = task[0].TASK_ID;
                    res       = 1;
                    break;

                case 2:
                    if (s < WMSs)
                    {
                        break;
                    }

                    taskid[0] = task[0].TASK_ID;
                    taskid[1] = task[1].TASK_ID;
                    res       = 2;
                    break;

                case 3:
                    if (s < WMSs)
                    {
                        break;
                    }

                    taskid[0] = task[0].TASK_ID;
                    taskid[1] = task[1].TASK_ID;
                    taskid[2] = task[2].TASK_ID;
                    res       = 3;
                    break;

                case 4:
                    taskid[0] = task[0].TASK_ID;
                    taskid[1] = task[1].TASK_ID;
                    taskid[2] = task[2].TASK_ID;
                    taskid[3] = task[3].TASK_ID;
                    res       = 4;
                    break;

                default:
                    break;
                }
                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }