/// <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); }
/// <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(); }
/// <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); } }