Пример #1
0
        /// <summary>
        /// 是否放货安全
        /// </summary>
        public bool IsGivedOrSafeDis(string taskid, int dis)
        {
            if (task.Exists(c => c.taskid == taskid))
            {
                TaskAWC awc = task.Find(c => c.taskid == taskid);

                switch (awc.taskstatus)
                {
                case TaskStatus.giving:
                    if (awc.device._.GoodsStatus == AwcGoodsEnum.无货 && awc.device._.CurrentSiteX >= dis)
                    {
                        return(true);
                    }
                    break;

                case TaskStatus.gived:
                case TaskStatus.finish:
                    return(true);

                default:
                    break;
                }
            }

            return(false);
        }
Пример #2
0
        /// <summary>
        /// 添加任务
        /// </summary>
        /// <param name="task"></param>
        public void AddTask(string jobid, string taskid, string area, TaskTypeEnum tasktype, DevFlag flag, string takesite, string givesite)
        {
            int id = ADS.ID;

            ADS.PlusID();
            string[] take = takesite.Split('-');
            string[] give = givesite.Split('-');
            TaskAWC  t    = new TaskAWC()
            {
                id         = id,
                jobid      = jobid,
                taskid     = taskid,
                area       = area,
                tasktype   = tasktype,
                flag       = flag,
                takesiteX  = int.Parse(take[0]),
                takesiteY  = int.Parse(take[1]),
                takesiteZ  = int.Parse(take[2]),
                givesiteX  = int.Parse(give[0]),
                givesiteY  = int.Parse(give[1]),
                givesiteZ  = int.Parse(give[2]),
                taskstatus = TaskStatus.init,
                device     = new DevInfoAWC()
            };

            task.Add(t);
            t.InsertDB();
        }
Пример #3
0
 /// <summary>
 /// 结束任务
 /// </summary>
 /// <param name="jobid"></param>
 public void OverTask(string jobid)
 {
     if (task.Exists(c => c.jobid == jobid))
     {
         TaskAWC t = task.Find(c => c.jobid == jobid);
         if (string.IsNullOrEmpty(t.device.devName))
         {
             // 解锁设备
             t.device.IsLockUnlock(false);
         }
         task.RemoveAll(c => c.jobid == jobid);
     }
 }