From 9f225bb1f1e26d25c1652d3e1ec2a8f239f69615 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 18 三月 2025 10:41:29 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 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 4acc714..b5295ff 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"
@@ -41,7 +41,11 @@
             {
 
                 #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();
+                var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x =>
+                x.TaskState > (int)TaskInStatusEnum.InNew &&
+                x.TaskState < (int)TaskInStatusEnum.AGV_InFinish ||
+                x.TaskState > (int)TaskOutStatusEnum.Line_OutFinish &&
+                x.TaskState < (int)TaskOutStatusEnum.AGV_OutFinish).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>());
@@ -55,16 +59,16 @@
                                 case "01":
                                     break;
                                 case "02":
-                                    Task.TaskState = TaskInStatusEnum.AGV_InExecuting.ObjToInt();
+                                    Task.TaskState = _taskService.TaskInboundTypes.Contains(Task.TaskType) ? TaskInStatusEnum.AGV_InExecuting.ObjToInt() : TaskOutStatusEnum.AGV_OutExecuting.ObjToInt();
                                     break;
                                 case "08":
                                     {
-                                        Task.TaskState = (int)TaskInStatusEnum.AGV_InFinish;
+                                        Task.TaskState = _taskService.TaskInboundTypes.Contains(Task.TaskType) ? (int)TaskInStatusEnum.AGV_InFinish : TaskOutStatusEnum.AGV_OutFinish.ObjToInt();
                                         Task.CurrentAddress = Task.NextAddress;
                                         List<Dt_Router> routers = _routerService.QueryNextRoutes(Task.CurrentAddress, Task.TargetAddress);
                                         if (routers.Count > 0)
                                         {
-                                            Task.NextAddress = routers.FirstOrDefault().ChildPosi;
+                                            Task.NextAddress = routers.FirstOrDefault()?.ChildPosi ?? "";
                                         }
                                     }
                                     break;
@@ -82,7 +86,7 @@
 
                 #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();
+                var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskInStatusEnum.InNew.ObjToInt() || x.TaskState == TaskOutStatusEnum.Line_OutFinish.ObjToInt()).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>());
@@ -91,7 +95,7 @@
                     if (content.code == "20000")
                     {
                         var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First();
-                        task.TaskState = TaskInStatusEnum.AGV_InSend.ObjToInt();
+                        task.TaskState = _taskService.TaskInboundTypes.Contains(task.TaskType)? TaskInStatusEnum.AGV_InSend.ObjToInt(): TaskOutStatusEnum.AGV_OutSend.ObjToInt();
                         UpnewTasks.Add(task);
                     }
                     else

--
Gitblit v1.9.3