1
dengjunjie
2025-02-18 d5c610cbf2451bbf9a103c295ae51e541ad98951
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs
@@ -39,30 +39,6 @@
        {
            try
            {
                #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))
                {
                    var ResultData = HttpHelper.PostAsync(AGVInterfaceAddress.taskSent, agvTaskDTO.ToJson(), headers: new Dictionary<string, string>());
                    if (ResultData.Result == null) throw new Exception($"AGV浠诲姟涓嬪彂鎺ュ彛璇锋眰瓒呮椂");
                    var content = JsonConvert.DeserializeObject<AGVReturnInfo>(ResultData.Result);
                    if (content.code == "20000")
                    {
                        var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First();
                        task.TaskState = TaskInStatusEnum.AGV_InSend.ObjToInt();
                        UpnewTasks.Add(task);
                    }
                    else
                    {
                        var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First();
                        task.ExceptionMessage = content.message;
                        UpnewTasks.Add(task);
                    }
                    Thread.Sleep(1000);
                }
                if (UpnewTasks.Count > 0) _taskService.Db.Updateable(UpnewTasks).ExecuteCommand();
                #endregion
                #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();
@@ -103,6 +79,31 @@
                }
                _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))
                {
                    var ResultData = HttpHelper.PostAsync(AGVInterfaceAddress.taskSent, agvTaskDTO.ToJson(), headers: new Dictionary<string, string>());
                    if (ResultData.Result == null) throw new Exception($"AGV浠诲姟涓嬪彂鎺ュ彛璇锋眰瓒呮椂");
                    var content = JsonConvert.DeserializeObject<AGVReturnInfo>(ResultData.Result);
                    if (content.code == "20000")
                    {
                        var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First();
                        task.TaskState = TaskInStatusEnum.AGV_InSend.ObjToInt();
                        UpnewTasks.Add(task);
                    }
                    else
                    {
                        var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First();
                        task.ExceptionMessage = content.message;
                        UpnewTasks.Add(task);
                    }
                    Thread.Sleep(1000);
                }
                if (UpnewTasks.Count > 0) _taskService.Db.Updateable(UpnewTasks).ExecuteCommand();
                #endregion
            }
            catch (Exception ex)
            {