From b2ad000e07e1c87d3561b5aa94fdc88c779872f0 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 18 二月 2025 22:34:54 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs | 52 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 48 insertions(+), 4 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" index 883d815..4acc714 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" @@ -15,6 +15,7 @@ using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_QuartzJob.Service; namespace WIDESEAWCS_Tasks @@ -38,7 +39,49 @@ { try { - List<Dt_Task> UpTasks = new List<Dt_Task>(); + + #region 浠诲姟鏇存柊 + var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState > (int)TaskInStatusEnum.InNew && x.TaskState < (int)TaskInStatusEnum.AGV_InFinish).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); + foreach (var Task in Tasks) + { + var ResultData = HttpHelper.PostAsync(AGVInterfaceAddress.taskResult + Task.TaskNum, null, headers: new Dictionary<string, string>()); + if (ResultData.Result != null) + { + var content = JsonConvert.DeserializeObject<AGVReturnInfo>(ResultData.Result); + if (content.code == "20000") + { + switch (content.status) + { + case "01": + break; + case "02": + Task.TaskState = TaskInStatusEnum.AGV_InExecuting.ObjToInt(); + break; + case "08": + { + Task.TaskState = (int)TaskInStatusEnum.AGV_InFinish; + Task.CurrentAddress = Task.NextAddress; + List<Dt_Router> routers = _routerService.QueryNextRoutes(Task.CurrentAddress, Task.TargetAddress); + if (routers.Count > 0) + { + Task.NextAddress = routers.FirstOrDefault().ChildPosi; + } + } + break; + case "09": + break; + default: + break; + } + } + } + Thread.Sleep(1000); + } + _taskService.Db.Updateable(Tasks).ExecuteCommand(); + #endregion + + #region 浠诲姟涓嬪彂 + List<Dt_Task> UpnewTasks = new List<Dt_Task>(); var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskInStatusEnum.InNew).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); foreach (var agvTaskDTO in GetAGVTaskDTOs(newTasks)) { @@ -49,17 +92,18 @@ { var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First(); task.TaskState = TaskInStatusEnum.AGV_InSend.ObjToInt(); - UpTasks.Add(task); + UpnewTasks.Add(task); } else { var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First(); task.ExceptionMessage = content.message; - UpTasks.Add(task); + UpnewTasks.Add(task); } Thread.Sleep(1000); } - var count = _taskService.Db.Updateable(UpTasks).ExecuteCommand(); + if (UpnewTasks.Count > 0) _taskService.Db.Updateable(UpnewTasks).ExecuteCommand(); + #endregion } catch (Exception ex) { -- Gitblit v1.9.3