From 7f42a3ef9bc83bdc199317d12c1905d8696dac4f Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 20 八月 2025 17:23:05 +0800
Subject: [PATCH] 代码提交

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs               |    4 
 项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin                 |    0 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs                       |   38 +++++
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs           |  284 +++++++++++++++++++++++++++++++++++-----------
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user |    2 
 项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin                 |    0 
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs                                   |    2 
 7 files changed, 252 insertions(+), 78 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin"
index 7c29816..702d515 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin"
index 555e5d2..7dd2144 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs"
index 9c5febd..bc80573 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs"
@@ -187,7 +187,7 @@
         RGV_OutFinish = 140,
 
         /// <summary>
-        /// 鍏ュ簱涓浆
+        /// 鍑哄簱涓浆
         /// </summary>
         [Description("鍑哄簱涓浆")]
         RGV_TransFer = 145,
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
index 7b047c0..fe706e0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
@@ -20,6 +20,7 @@
 using Newtonsoft.Json;
 using SixLabors.ImageSharp.ColorSpaces;
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using System.Security.Claims;
@@ -231,7 +232,14 @@
                 {
                     CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
 
-                    commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(2));
+                    //commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(2));
+                    DeviceProDTO? devicePro = commonStackerCrane.DeviceProDTOs.Where(x => x.DeviceChildCode == commonStackerCrane.DeviceCode && x.DeviceProParamName == "WorkType").FirstOrDefault();
+
+                    byte valueToWrite = 2;
+
+                    byte[] buffer = new byte[] { valueToWrite };
+
+                    commonStackerCrane.Communicator.Write(devicePro.DeviceProAddress, buffer);
                     return content.OK();
                 }
                 else
@@ -257,7 +265,14 @@
                 {
                     CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
 
-                    commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(4));
+                    //commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(4));
+                    DeviceProDTO? devicePro = commonStackerCrane.DeviceProDTOs.Where(x => x.DeviceChildCode == commonStackerCrane.DeviceCode && x.DeviceProParamName == "WorkType").FirstOrDefault();
+
+                    byte valueToWrite = 4;
+
+                    byte[] buffer = new byte[] { valueToWrite };
+
+                    commonStackerCrane.Communicator.Write(devicePro.DeviceProAddress, buffer);
                     return content.OK();
                 }
                 else
@@ -563,7 +578,7 @@
                         {
                             InStock = structs[2] == true ? "鏈夎揣" : "绌洪棽",
                             TaskNum = ConveyorLineTaskNum.ToString(),
-                            Alarm = AlarmInfo(ConveyorLineAlarm)
+                            Alarm = GetAlarm(ConveyorLineAlarm)
                         };
                         return content.OK(data:obj);
                     }
@@ -755,7 +770,22 @@
             }
         }
 
-        string AlarmInfo(uint Alarm) => Alarm switch
+        public string GetAlarm(uint value)
+        {
+            byte[] bytes = BitConverter.GetBytes(value);
+            BitArray bits = new BitArray(bytes);
+
+            for (int i = 0; i < bits.Length; i++)
+            {
+                if (bits[i])
+                {
+                    return AlarmInfo(i);
+                }
+            }
+            return "";
+        }
+
+        string AlarmInfo(int Alarm) => Alarm switch
         {
             0 => "鎬ュ仠",
             1 => "鍙橀鍣ㄦ姤璀�1",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user"
index 8983b31..938e93b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user"
@@ -3,7 +3,7 @@
 <Project>
   <PropertyGroup>
     <_PublishTargetUrl>E:\GET\AoTanSiWCS\椤圭洰浠g爜\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\bin\Release\net6.0\publish\</_PublishTargetUrl>
-    <History>True|2025-08-18T05:08:36.7873753Z||;True|2025-08-18T11:46:56.4805705+08:00||;True|2025-08-18T11:22:02.9054606+08:00||;True|2025-08-18T11:07:33.4630780+08:00||;True|2025-08-18T10:50:48.4350473+08:00||;True|2025-08-16T16:33:07.2265013+08:00||;True|2025-08-16T16:08:02.5366587+08:00||;True|2025-08-16T16:04:57.6117051+08:00||;True|2025-08-16T15:48:46.1045456+08:00||;True|2025-08-16T15:30:17.3989863+08:00||;True|2025-08-16T14:46:36.5094682+08:00||;True|2025-08-16T14:14:17.0500765+08:00||;True|2025-08-16T13:31:48.8727652+08:00||;True|2025-08-16T13:24:29.8307713+08:00||;True|2025-08-16T13:16:29.9622111+08:00||;True|2025-08-16T11:23:35.5640992+08:00||;True|2025-08-16T11:02:59.2985083+08:00||;True|2025-08-16T10:27:02.8633285+08:00||;True|2025-08-16T10:10:08.1477861+08:00||;True|2025-08-15T16:44:40.1716233+08:00||;True|2025-08-15T16:37:15.4095592+08:00||;True|2025-08-15T16:10:23.4132871+08:00||;True|2025-08-15T15:39:23.4095856+08:00||;True|2025-08-15T15:28:40.1757665+08:00||;True|2025-08-15T15:17:03.4120137+08:00||;True|2025-08-14T14:56:07.9836766+08:00||;True|2025-08-14T13:46:14.8376860+08:00||;True|2025-08-14T13:40:06.1474672+08:00||;True|2025-08-14T13:35:01.0314827+08:00||;True|2025-08-14T13:30:22.4451955+08:00||;True|2025-08-14T13:01:53.0152050+08:00||;True|2025-08-14T09:25:26.2041015+08:00||;True|2025-08-14T08:52:03.5944496+08:00||;True|2025-08-13T16:03:14.7435997+08:00||;True|2025-08-13T15:45:41.5991008+08:00||;True|2025-08-13T15:16:36.2021682+08:00||;True|2025-08-13T09:09:27.8499524+08:00||;True|2025-08-13T09:06:29.1371955+08:00||;True|2025-08-12T16:20:01.1810979+08:00||;True|2025-08-12T15:15:58.7445192+08:00||;True|2025-08-12T14:56:43.1314180+08:00||;True|2025-08-07T16:09:37.4325511+08:00||;True|2025-08-07T15:03:02.4443822+08:00||;True|2025-08-07T14:51:02.2746340+08:00||;True|2025-08-07T14:50:52.4634781+08:00||;True|2025-08-07T14:44:25.7952161+08:00||;True|2025-08-06T16:05:13.6764446+08:00||;True|2025-08-06T15:48:26.9347397+08:00||;True|2025-08-06T15:24:30.4982821+08:00||;True|2025-08-06T15:23:27.4513567+08:00||;True|2025-08-06T14:57:04.0476264+08:00||;True|2025-08-06T14:43:06.1306795+08:00||;True|2025-08-06T14:30:32.8125962+08:00||;True|2025-08-06T14:22:42.8305756+08:00||;True|2025-08-06T14:08:24.3056726+08:00||;True|2025-08-06T12:49:07.0122619+08:00||;True|2025-08-06T09:53:47.1995016+08:00||;True|2025-08-06T09:23:43.4599118+08:00||;True|2025-08-06T09:17:41.5263742+08:00||;True|2025-08-01T13:15:58.0733845+08:00||;</History>
+    <History>True|2025-08-20T04:19:58.6819487Z||;True|2025-08-20T10:19:55.2486460+08:00||;True|2025-08-20T10:10:55.8587756+08:00||;True|2025-08-19T17:04:09.2993217+08:00||;True|2025-08-19T16:51:22.2908004+08:00||;True|2025-08-19T16:30:53.6567391+08:00||;True|2025-08-19T16:26:50.4254303+08:00||;True|2025-08-19T16:12:13.1559703+08:00||;True|2025-08-19T15:46:01.4343164+08:00||;True|2025-08-19T15:43:17.4326410+08:00||;True|2025-08-19T14:05:04.6649580+08:00||;True|2025-08-18T13:08:36.7873753+08:00||;True|2025-08-18T11:46:56.4805705+08:00||;True|2025-08-18T11:22:02.9054606+08:00||;True|2025-08-18T11:07:33.4630780+08:00||;True|2025-08-18T10:50:48.4350473+08:00||;True|2025-08-16T16:33:07.2265013+08:00||;True|2025-08-16T16:08:02.5366587+08:00||;True|2025-08-16T16:04:57.6117051+08:00||;True|2025-08-16T15:48:46.1045456+08:00||;True|2025-08-16T15:30:17.3989863+08:00||;True|2025-08-16T14:46:36.5094682+08:00||;True|2025-08-16T14:14:17.0500765+08:00||;True|2025-08-16T13:31:48.8727652+08:00||;True|2025-08-16T13:24:29.8307713+08:00||;True|2025-08-16T13:16:29.9622111+08:00||;True|2025-08-16T11:23:35.5640992+08:00||;True|2025-08-16T11:02:59.2985083+08:00||;True|2025-08-16T10:27:02.8633285+08:00||;True|2025-08-16T10:10:08.1477861+08:00||;True|2025-08-15T16:44:40.1716233+08:00||;True|2025-08-15T16:37:15.4095592+08:00||;True|2025-08-15T16:10:23.4132871+08:00||;True|2025-08-15T15:39:23.4095856+08:00||;True|2025-08-15T15:28:40.1757665+08:00||;True|2025-08-15T15:17:03.4120137+08:00||;True|2025-08-14T14:56:07.9836766+08:00||;True|2025-08-14T13:46:14.8376860+08:00||;True|2025-08-14T13:40:06.1474672+08:00||;True|2025-08-14T13:35:01.0314827+08:00||;True|2025-08-14T13:30:22.4451955+08:00||;True|2025-08-14T13:01:53.0152050+08:00||;True|2025-08-14T09:25:26.2041015+08:00||;True|2025-08-14T08:52:03.5944496+08:00||;True|2025-08-13T16:03:14.7435997+08:00||;True|2025-08-13T15:45:41.5991008+08:00||;True|2025-08-13T15:16:36.2021682+08:00||;True|2025-08-13T09:09:27.8499524+08:00||;True|2025-08-13T09:06:29.1371955+08:00||;True|2025-08-12T16:20:01.1810979+08:00||;True|2025-08-12T15:15:58.7445192+08:00||;True|2025-08-12T14:56:43.1314180+08:00||;True|2025-08-07T16:09:37.4325511+08:00||;True|2025-08-07T15:03:02.4443822+08:00||;True|2025-08-07T14:51:02.2746340+08:00||;True|2025-08-07T14:50:52.4634781+08:00||;True|2025-08-07T14:44:25.7952161+08:00||;True|2025-08-06T16:05:13.6764446+08:00||;True|2025-08-06T15:48:26.9347397+08:00||;True|2025-08-06T15:24:30.4982821+08:00||;True|2025-08-06T15:23:27.4513567+08:00||;True|2025-08-06T14:57:04.0476264+08:00||;True|2025-08-06T14:43:06.1306795+08:00||;True|2025-08-06T14:30:32.8125962+08:00||;True|2025-08-06T14:22:42.8305756+08:00||;True|2025-08-06T14:08:24.3056726+08:00||;True|2025-08-06T12:49:07.0122619+08:00||;True|2025-08-06T09:53:47.1995016+08:00||;True|2025-08-06T09:23:43.4599118+08:00||;True|2025-08-06T09:17:41.5263742+08:00||;True|2025-08-01T13:15:58.0733845+08:00||;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
index 2584b75..728235d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
@@ -129,12 +129,14 @@
                                                 if (IsExecutingTask.TaskType == (int)TaskInboundTypeEnum.Inbound)
                                                 {
                                                     IsExecutingTask.TargetStation = station.stationRemark;
+                                                    IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer;
                                                 }
                                                 else
                                                 {
                                                     IsExecutingTask.TargetStation = station.remark;
+                                                    IsExecutingTask.TaskState = (int)TaskOutStatusEnum.RGV_TransFer;
                                                 }
-                                                IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer;
+                                                
                                                 _taskRepository.UpdateData(IsExecutingTask);
                                                 Thread.Sleep(1000);
                                             }
@@ -288,15 +290,17 @@
                                                 IsExecutingTask.RGVName = "RGV01";
                                                 IsExecutingTask.CurrentAddress = IsExecutingTask.Remark;
                                                 IsExecutingTask.Remark = "";
-                                                IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer;
+                                                
                                                 Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == IsExecutingTask.NextAddress);
                                                 IsExecutingTask.SourceStation = IsExecutingTask.CurrentAddress == "1025" ? 10 : 7;
                                                 if (IsExecutingTask.TaskType == (int)TaskInboundTypeEnum.Inbound)
                                                 {
+                                                    IsExecutingTask.TaskState = (int)TaskInStatusEnum.RGV_TransFer;
                                                     IsExecutingTask.TargetStation = station.stationRemark;
                                                 }
                                                 else
                                                 {
+                                                    IsExecutingTask.TaskState = (int)TaskOutStatusEnum.RGV_TransFer;
                                                     IsExecutingTask.TargetStation = station.remark;
                                                 }
 
@@ -446,11 +450,12 @@
 
                                             Thread.Sleep(1000);
 
-                                            if (task.Remark != null)
+                                            if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
                                             {
+                                                task.Remark = "1025";
+                                                _taskRepository.UpdateData(task);
                                                 return GetDispatchExecutingTask(task, taskSecond);
                                             }
-
                                             return task;
                                         }
                                     }
@@ -465,11 +470,12 @@
 
                                             Thread.Sleep(1000);
 
-                                            if (task.Remark != null)
+                                            if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
                                             {
+                                                task.Remark = "1025";
+                                                _taskRepository.UpdateData(task);
                                                 return GetDispatchExecutingTask(task, taskSecond);
                                             }
-
                                             return task;
                                         }
                                     }
@@ -482,8 +488,10 @@
                                         {
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��");
                                             Thread.Sleep(1000);
-                                            if (task.Remark != null)
+                                            if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
                                             {
+                                                task.Remark = "1025";
+                                                _taskRepository.UpdateData(task);
                                                 return GetDispatchExecutingTask(task, taskSecond);
                                             }
                                             return task;
@@ -511,16 +519,28 @@
                                         TaskType = (byte)Convert.ToSByte(1)
                                     };
                                     SendCommand(commonRGVSecond, command);
-                                    Thread.Sleep(1000);
+                                    Thread.Sleep(3000);
                                     if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                     {
                                         return null;
                                     }
                                 }
                                 Thread.Sleep(1000);
+                                if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
+                                {
+                                    task.Remark = "1025";
+                                    _taskRepository.UpdateData(task);
+                                    return GetDispatchExecutingTask(task);
+                                }
                                 return task;
                             }
                         }
+                    }
+                    if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
+                    {
+                        task.Remark = "1025";
+                        _taskRepository.UpdateData(task);
+                        return GetDispatchExecutingTask(task);
                     }
                     return task;
                 }
@@ -543,8 +563,10 @@
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��");
                                             Thread.Sleep(1000);
 
-                                            if (task.Remark != null)
+                                            if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
                                             {
+                                                task.Remark = "1026";
+                                                _taskRepository.UpdateData(task);
                                                 return GetDispatchExecutingTask(task, taskSecond);
                                             }
                                             return task;
@@ -560,8 +582,10 @@
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��");
                                             Thread.Sleep(1000);
 
-                                            if (task.Remark != null)
+                                            if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
                                             {
+                                                task.Remark = "1026";
+                                                _taskRepository.UpdateData(task);
                                                 return GetDispatchExecutingTask(task, taskSecond);
                                             }
                                             return task;
@@ -577,8 +601,10 @@
                                             LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��");
                                             Thread.Sleep(1000);
 
-                                            if (task.Remark != null)
+                                            if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
                                             {
+                                                task.Remark = "1026";
+                                                _taskRepository.UpdateData(task);
                                                 return GetDispatchExecutingTask(task, taskSecond);
                                             }
                                             return task;
@@ -606,16 +632,28 @@
                                         TaskType = (byte)Convert.ToSByte(1)
                                     };
                                     SendCommand(commonRGVFirst, command);
-                                    Thread.Sleep(1000);
+                                    Thread.Sleep(3000);
                                     if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                     {
                                         return null;
                                     }
                                 }
                                 Thread.Sleep(1000);
+                                if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
+                                {
+                                    task.Remark = "1026";
+                                    _taskRepository.UpdateData(task);
+                                    return GetDispatchExecutingTask(task);
+                                }
                                 return task;
                             }
                         }
+                    }
+                    if (task.Remark != null || ((task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV02" && task.TargetAddress == "1002") || (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.RGVName == "RGV01" && (task.TargetAddress == "1030" || task.TargetAddress == "1029"))))
+                    {
+                        task.Remark = "1026";
+                        _taskRepository.UpdateData(task);
+                        return GetDispatchExecutingTask(task);
                     }
                     return task;
                 }
@@ -645,13 +683,13 @@
                         if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
                             var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum) && ((x.TaskType == (int)TaskInboundTypeEnum.Inbound && (x.TaskState < 230 || x.TaskState == (int)TaskInStatusEnum.RGV_TransFer || x.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish)) || (x.TaskType == (int)TaskOutboundTypeEnum.Outbound)));
-                             if (taskSecond != null)
+                            if (taskSecond != null)
                             {
                                 task = GetDispatchTask(tasks, taskSecond);
 
                                 LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGV.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task.TaskNum)}銆戙��");
-                                Thread.Sleep(1000);
 
+                                Thread.Sleep(1000);
                                 return task;
                             }
                         }
@@ -677,40 +715,42 @@
                                 TaskType = (byte)Convert.ToSByte(1)
                             };
                             SendCommand(commonRGVSecond, command);
-                            Thread.Sleep(1000);
+                            Thread.Sleep(3000);
                             if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running))
                             {
                                 return null;
                             }
                         }
-
-                        if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
+                        task = GetDispatchTask(taskNews, "RGV01");
+                        if (task == null)
                         {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}銆戙��");
-                            Thread.Sleep(1000);
-                            return taskNews.FirstOrDefault(x => x.RGVName == "RGV01");
+                            return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
                         }
-                        else
-                        {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}銆戙��");
-                            Thread.Sleep(1000);
-                            return taskNews.FirstOrDefault(x => x.RGVName != "RGV02");
-                        }
+                        return task;
+                        //if (taskNews.FirstOrDefault(x => x.RGVName == "RGV01") != null)
+                        //{
+                        //    return taskNews.FirstOrDefault(x => x.RGVName == "RGV01");
+                        //}
+                        //else
+                        //{
+                        //    return taskNews.FirstOrDefault(x => x.RGVName != "RGV02");
+                        //}
                     }
                     else
                     {
-                        if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
-                        {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}銆戙��");
-                            Thread.Sleep(1000);
-                            return tasks.FirstOrDefault(x => x.RGVName == "RGV01");
-                        }
-                        else
-                        {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}銆戙��");
-                            Thread.Sleep(1000);
-                            return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
-                        }
+                        return GetDispatchTask(tasks, "RGV01");
+                        //if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
+                        //{
+                        //    LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}銆戙��");
+                        //    Thread.Sleep(1000);
+                        //    return tasks.FirstOrDefault(x => x.RGVName == "RGV01");
+                        //}
+                        //else
+                        //{
+                        //    LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV02璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}銆戙��");
+                        //    Thread.Sleep(1000);
+                        //    return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
+                        //}
                     }
                 }
                 else
@@ -754,43 +794,44 @@
                                 TaskType = (byte)Convert.ToSByte(1)
                             };
                             SendCommand(commonRGVFirst, command);
-                            Thread.Sleep(1000);
+                            Thread.Sleep(3000);
                             if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running))
                             {
                                 return null;
                             }
                         }
-
-                        if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null)
+                        task = GetDispatchTask(taskNews, "RGV02");
+                        if (task == null)
                         {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}銆戙��");
-                            Thread.Sleep(1000);
-                            return taskNews.FirstOrDefault(x => x.RGVName == "RGV02");
+                            return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
                         }
-                        else
-                        {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戜綔涓氱姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戞槸鍚︽湁璐э細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(taskNews.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}銆戙��");
-
-                            Thread.Sleep(1000);
-                            return taskNews.FirstOrDefault(x => x.RGVName != "RGV01");
-                        }
+                        return task;
+                        //if (taskNews.FirstOrDefault(x => x.RGVName == "RGV02") != null)
+                        //{
+                        //    return taskNews.FirstOrDefault(x => x.RGVName == "RGV02");
+                        //}
+                        //else
+                        //{
+                        //    return taskNews.FirstOrDefault(x => x.RGVName != "RGV01");
+                        //}
                     }
                     else
                     {
-                        if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null)
-                        {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆� 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}銆戙��");
+                       return GetDispatchTask(tasks, "RGV02");
+                        //if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null)
+                        //{
+                        //    LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆� 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}銆戙��");
 
-                            Thread.Sleep(1000);
-                            return tasks.FirstOrDefault(x => x.RGVName == "RGV02");
-                        }
-                        else
-                        {
-                            LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}銆戙��");
+                        //    Thread.Sleep(1000);
+                        //    return tasks.FirstOrDefault(x => x.RGVName == "RGV02");
+                        //}
+                        //else
+                        //{
+                        //    LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆愭湭鎵惧埌RGV01璁惧淇℃伅銆戣繑鍥炰换鍔★細銆恵JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}銆戙��");
 
-                            Thread.Sleep(1000);
-                            return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
-                        }
+                        //    Thread.Sleep(1000);
+                        //    return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
+                        //}
                     }
                 }
             }
@@ -818,7 +859,6 @@
                     {
                         if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
-
                             var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum) && ((x.TaskType == (int)TaskInboundTypeEnum.Inbound && (x.TaskState < 230 || x.TaskState == (int)TaskInStatusEnum.RGV_TransFer || x.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish)) || (x.TaskType == (int)TaskOutboundTypeEnum.Outbound)));
                             if (taskSecond != null)
                             {
@@ -861,7 +901,7 @@
                                         TaskType = (byte)Convert.ToSByte(1)
                                     };
                                     SendCommand(commonRGVSecond, command);
-                                    Thread.Sleep(1000);
+                                    Thread.Sleep(3000);
                                     if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                     {
                                         return null;
@@ -948,7 +988,7 @@
                                         TaskType = (byte)Convert.ToSByte(1)
                                     };
                                     SendCommand(commonRGVFirst, command);
-                                    Thread.Sleep(1000);
+                                    Thread.Sleep(3000);
                                     if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                     {
                                         return null;
@@ -1088,7 +1128,7 @@
             return null;
         }
 
-        public Dt_Task? GetDispatchTask(List<Dt_Task> tasks, Dt_Task oldtask)
+        public Dt_Task? GetDispatchTask(List<Dt_Task> tasks,Dt_Task oldtask)
         {
             Dt_Task y = tasks.Where(x => x.Remark != null&& ((x.SourceStation - oldtask.TargetStation > 1 && x.SourceStation - oldtask.SourceStation > 1 && x.TaskType == (int)TaskInboundTypeEnum.Inbound) || (x.SourceStation - oldtask.TargetStation > 1 && x.TargetStation - oldtask.SourceStation > 1 && x.SourceStation - oldtask.SourceStation > 1 && x.TargetStation - oldtask.TargetStation > 1 && x.TaskType == (int)TaskOutboundTypeEnum.Outbound))).FirstOrDefault();
             if (y == null)
@@ -1175,6 +1215,82 @@
             }
         }
 
+        public Dt_Task? GetDispatchTask(List<Dt_Task> tasks,string RGVName)
+        {
+            Dt_Task y = tasks.Where(x => x.Remark != null).FirstOrDefault();
+            if (y == null)
+            {
+                if (RGVName == "RGV01")
+                {
+                    if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null)
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName == RGVName);
+                    }
+                    else
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
+                    }
+                }
+                else
+                {
+                    if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null)
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName == RGVName);
+                    }
+                    else
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
+                    }
+                }
+            }
+            else
+            {
+                var stationManager = _stationManagerRepository.QueryData(x => x.stationType == 15);
+                if (stationManager.Count() > 0)
+                {
+                    string next = null;
+                    foreach (var item in stationManager)
+                    {
+                        var x = _taskRepository.QueryFirst(x => x.NextAddress == item.stationChildCode || x.CurrentAddress == item.stationChildCode);
+                        if (x == null)
+                        {
+                            next = item.stationChildCode;
+                            break;
+                        }
+                    }
+                    if (next != null)
+                    {
+                        y.Remark = next;
+                        _taskRepository.UpdateData(y);
+                        LogAndWarn("涓浆浠诲姟", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(y)}銆戙��");
+                        return y;
+                    }
+                }
+                if (RGVName == "RGV01")
+                {
+                    if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null)
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName == RGVName);
+                    }
+                    else
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
+                    }
+                }
+                else
+                {
+                    if (tasks.FirstOrDefault(x => x.RGVName == RGVName) != null)
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName == RGVName);
+                    }
+                    else
+                    {
+                        return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
+                    }
+                }
+            }
+        }
+
         public Dt_Task? GetDispatchExecutingTask(Dt_Task oldtask,Dt_Task task)
         {
             var stationManagers = _stationManagerRepository.QueryData(x => x.stationType == 15);
@@ -1187,6 +1303,7 @@
                     if (x == null)
                     {
                         next = item.stationChildCode;
+                        LogAndWarn("涓浆鑾峰彇绔欏彴", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(x)}銆戙�戙�恵next}銆�");
                         break;
                     }
                 }
@@ -1194,12 +1311,13 @@
                 {
                     var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == next);
                     oldtask.Remark = next;
+                    //oldtask.CurrentAddress = next;
+                    _taskRepository.UpdateData(oldtask);
                     if (task.RGVName == "RGV01")
                     {
                         if (task.TargetStation - stationManager.stationRemark > 1 && task.SourceStation - stationManager.stationRemark > 1 && task.SourceStation - oldtask.SourceStation > 1 && task.TargetStation - oldtask.SourceStation > 1)
                         {
-                            _taskRepository.UpdateData(oldtask);
-                            LogAndWarn("涓浆浠诲姟GetDispatchExecutingTask", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(oldtask)}銆戙��");
+                            LogAndWarn("涓浆浠诲姟GetDispatchExecutingTask", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(oldtask)}銆戙�戙�恵next}銆�");
                             return oldtask;
                         }
                         else
@@ -1211,7 +1329,6 @@
                     {
                         if (stationManager.stationRemark - task.TargetStation > 1 && stationManager.stationRemark - task.SourceStation > 1 && oldtask.SourceStation - task.SourceStation > 1 && oldtask.SourceStation - task.TargetStation > 1)
                         {
-                            _taskRepository.UpdateData(oldtask);
                             LogAndWarn("涓浆浠诲姟GetDispatchExecutingTask", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(oldtask)}銆戙��");
                             return oldtask;
                         }
@@ -1225,6 +1342,33 @@
             return null;
         }
 
+        public Dt_Task? GetDispatchExecutingTask(Dt_Task oldtask)
+        {
+            var stationManagers = _stationManagerRepository.QueryData(x => x.stationType == 15);
+            if (stationManagers.Count() > 0)
+            {
+                string next = null;
+                foreach (var item in stationManagers)
+                {
+                    var x = _taskRepository.QueryFirst(x => x.NextAddress == item.stationChildCode || x.CurrentAddress == item.stationChildCode);
+                    if (x == null)
+                    {
+                        next = item.stationChildCode;
+                        LogAndWarn("涓浆鑾峰彇绔欏彴", $" 杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(x)}銆戙�戙�恵next}銆�");
+                        break;
+                    }
+                }
+                if (next != null)
+                {
+                    var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == next);
+                    oldtask.Remark = next;
+                    _taskRepository.UpdateData(oldtask);
+                    return oldtask;
+                }
+            }
+            return null;
+        }
+
         /// <summary>
         /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
         /// </summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 55f5a0c..534cc62 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -195,8 +195,8 @@
             27 => "鏀捐揣鏃惰揣鏋舵湁璐�",
             28 => "鏀捐揣鍚庤浇璐у彴鏈夎揣",
             29 => "鏀炬繁璐ф椂娴呰揣浣嶆湁璐�",
-            30 => "",
-            31 => "",
+            30 => "琛岃蛋浣嶇疆寮傚父",
+            31 => "鎻愬崌浣嶇疆寮傚父",
             _ => $"鏈煡鎶ヨ({alarm})"
         };
 

--
Gitblit v1.9.3