From 0939aa5f3cc12a8856456a51cf2b661b6cd780c7 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 31 七月 2025 17:25:49 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs |  224 ++++++++++++++++---------------------------------------
 1 files changed, 66 insertions(+), 158 deletions(-)

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 52840da..73bf77f 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"
@@ -19,8 +19,10 @@
 using HslCommunication;
 using Microsoft.Extensions.Logging;
 using Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
 using Quartz;
 using SixLabors.ImageSharp.Drawing;
+using SqlSugar;
 using System.Diagnostics.CodeAnalysis;
 using System.Reflection;
 using System.Text;
@@ -59,12 +61,12 @@
         private readonly IDt_StationManagerService _stationManagerService;
         private readonly IDt_StationManagerRepository _stationManagerRepository;
         private readonly IMapper _mapper;
-        private readonly ICacheService _cacheService;
+        private readonly WIDESEAWCS_Core.Caches.ICacheService _cacheService;
         private readonly INoticeService _noticeService;
         private static List<string>? userTokenIds;
         private static List<int>? userIds;
 
-        public CommonRGV_FirstFloorJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository)
+        public CommonRGV_FirstFloorJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, WIDESEAWCS_Core.Caches.ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -79,7 +81,7 @@
 
         public Task Execute(IJobExecutionContext context)
         {
-            Console.WriteLine(DateTime.Now.ToString() + "锛岀嚎绋婭D锛�" + Thread.CurrentThread.ManagedThreadId);
+            //Console.WriteLine(DateTime.Now.ToString() + "锛岀嚎绋婭D锛�" + Thread.CurrentThread.ManagedThreadId);
             try
             {
                 //鐢ㄨ繖绉嶆柟寮忚兘纭繚绫诲瀷杞崲涓嶄細鏈夐棶棰�
@@ -105,14 +107,17 @@
                             var IsExecutingTask = DispatchExecutingTask(FirstRgv, task);
                             if (IsExecutingTask != null)
                             {
-                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(task);
+                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(IsExecutingTask);
                                 if (rgvTaskCommand != null)
                                 {
                                     Thread.Sleep(1000);
                                     bool sendFlag = SendCommand(FirstRgv, rgvTaskCommand);
                                     if (sendFlag)
                                     {
-                                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                                        IsExecutingTask.RGVName = FirstRgv.DeviceCode;
+                                        _taskRepository.UpdateData(IsExecutingTask);
+                                        _taskService.UpdateTaskStatusToNext(IsExecutingTask.TaskNum);
+                                        Thread.Sleep(1000);
                                     }
                                 }
                             }
@@ -129,7 +134,10 @@
                                     bool sendFlag = SendCommand(FirstRgv, rgvTaskCommand);
                                     if (sendFlag)
                                     {
+                                        taskNew.RGVName = FirstRgv.DeviceCode;
+                                        _taskRepository.UpdateData(taskNew);
                                         _taskService.UpdateTaskStatusToNext(taskNew.TaskNum);
+                                        Thread.Sleep(1000);
                                     }
                                 }
                             }
@@ -164,6 +172,7 @@
                             Running = RGVWorkStatus(FirstRgv.GetValue<RGVDBName, bool>(RGVDBName.Running)),
                             LevelPoint = FirstRgv.GetValue<RGVDBName, int>(RGVDBName.LevelPoint),
                             CurrentTaskNum = FirstRgv.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum),
+                            RGVAlarm = FirstRgv.GetValue<RGVDBName, uint>(RGVDBName.RGVAlarm),
                             FirstRgv.DeviceCode,
                             FirstRgv.DeviceName,
                         };
@@ -175,16 +184,16 @@
                 }
                 else
                 {
-                    if (commonRGVFirst == null)
-                        Console.WriteLine($"RGV01鏈壘鍒拌澶囧璞$殑鍊�");
-                    else
-                        Console.WriteLine($"RGV01璁惧瀵硅薄绫诲瀷閿欒");
+                    //if (commonRGVFirst == null)
+                    //    Console.WriteLine($"RGV01鏈壘鍒拌澶囧璞$殑鍊�");
+                    //else
+                    //    Console.WriteLine($"RGV01璁惧瀵硅薄绫诲瀷閿欒");
                 }
 
                 #endregion
 
                 #region  RGV02璋冨害
-                if (commonRGVSecond != null && commonRGVFirst is CommonRGV_FirstFloor SecondRgv)//杩欐牱鑳界湅鍑烘潵浼犲弬鍒板簳鍝噷鏈夐棶棰�
+                if (commonRGVSecond != null && commonRGVSecond is CommonRGV_FirstFloor SecondRgv)//杩欐牱鑳界湅鍑烘潵浼犲弬鍒板簳鍝噷鏈夐棶棰�
                 {
                     if (SecondRgv.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.WorkCompleted))
                     {
@@ -196,14 +205,20 @@
                         if (task != null)
                         {
                             var IsExecutingTask = DispatchExecutingTask(SecondRgv, task);
-                            RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(task);
-                            if (rgvTaskCommand != null)
+                            if (IsExecutingTask != null)
                             {
-                                Thread.Sleep(1000);
-                                bool sendFlag = SendCommand(SecondRgv, rgvTaskCommand);
-                                if (sendFlag)
+                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(IsExecutingTask);
+                                if (rgvTaskCommand != null)
                                 {
-                                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                                    Thread.Sleep(1000);
+                                    bool sendFlag = SendCommand(SecondRgv, rgvTaskCommand);
+                                    if (sendFlag)
+                                    {
+                                        IsExecutingTask.RGVName = SecondRgv.DeviceCode;
+                                        _taskRepository.UpdateData(IsExecutingTask);
+                                        _taskService.UpdateTaskStatusToNext(IsExecutingTask.TaskNum);
+                                        Thread.Sleep(1000);
+                                    }
                                 }
                             }
                         }
@@ -219,7 +234,10 @@
                                     bool sendFlag = SendCommand(SecondRgv, rgvTaskCommand);
                                     if (sendFlag)
                                     {
+                                        taskNew.RGVName = SecondRgv.DeviceCode;
+                                        _taskRepository.UpdateData(taskNew);
                                         _taskService.UpdateTaskStatusToNext(taskNew.TaskNum);
+                                        Thread.Sleep(1000);
                                     }
                                 }
                             }
@@ -254,6 +272,7 @@
                             Running = RGVWorkStatus(SecondRgv.GetValue<RGVDBName, bool>(RGVDBName.Running)),
                             LevelPoint = SecondRgv.GetValue<RGVDBName, int>(RGVDBName.LevelPoint),
                             CurrentTaskNum = SecondRgv.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum),
+                            RGVAlarm = SecondRgv.GetValue<RGVDBName, uint>(RGVDBName.RGVAlarm),
                             SecondRgv.DeviceCode,
                             SecondRgv.DeviceName,
                         };
@@ -265,10 +284,10 @@
                 }
                 else
                 {
-                    if (commonRGVSecond == null)
-                        Console.WriteLine($"RGV02鏈壘鍒拌澶囧璞$殑鍊�");
-                    else
-                        Console.WriteLine($"RGV02璁惧瀵硅薄绫诲瀷閿欒");
+                    //if (commonRGVSecond == null)
+                    //    Console.WriteLine($"RGV02鏈壘鍒拌澶囧璞$殑鍊�");
+                    //else
+                    //    Console.WriteLine($"RGV02璁惧瀵硅薄绫诲瀷閿欒");
                 }
                 #endregion
                 //}
@@ -289,22 +308,7 @@
                     CommonRGV_FirstFloor? commonRGVSecond = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV02") as CommonRGV_FirstFloor;
                     if (commonRGVSecond != null)
                     {
-                        if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(15),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVSecond, command);
-                            }
-                            LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.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(task)}銆戙��");
-                            return task;
-                        }
-                        else if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        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));
                             if (taskSecond != null)
@@ -313,7 +317,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation > taskSecond.SourceStation && task.TargetStation > taskSecond.TargetStation)
+                                        if (task.TargetStation- taskSecond.SourceStation > 1 && task.TargetStation - taskSecond.TargetStation > 1)
                                         {
                                             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)}銆戙��");
                                             return task;
@@ -324,7 +328,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation > taskSecond.TargetStation)
+                                        if (task.TargetStation - taskSecond.TargetStation > 1)
                                         {
                                             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)}銆戙��");
                                             return task;
@@ -335,7 +339,7 @@
                             }
                             else
                             {
-                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 35000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
@@ -357,22 +361,8 @@
                     CommonRGV_FirstFloor? commonRGVFirst = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV01") as CommonRGV_FirstFloor;
                     if (commonRGVFirst != null)
                     {
-                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(26),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVFirst, command);
-                            }
-                            LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.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(task)}銆戙��");
-                            return task;
-                        }
-                        else if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        
+                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
                             var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV01" && x.TaskNum == commonRGVFirst.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                             if (taskSecond != null)
@@ -382,7 +372,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation < taskSecond.SourceStation && task.TargetStation < taskSecond.TargetStation)
+                                        if (taskSecond.SourceStation - task.TargetStation > 1 && taskSecond.TargetStation - task.TargetStation > 1)
                                         {
                                             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)}銆戙��");
                                             return task;
@@ -393,7 +383,7 @@
                                 {
                                     if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                     {
-                                        if (task.TargetStation < taskSecond.TargetStation)
+                                        if (taskSecond.TargetStation-task.TargetStation >1 )
                                         {
                                             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)}銆戙��");
                                             return task;
@@ -404,7 +394,7 @@
                             }
                             else
                             {
-                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) < 420000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
@@ -435,7 +425,7 @@
             {
                 var tasks = _taskService.QueryRGVTask();
                 Dt_Task task;
-                if (tasks == null && tasks.Count() == 0)
+                if (tasks.Count() == 0)
                 {
                     return null;
                 }
@@ -444,37 +434,16 @@
                     CommonRGV_FirstFloor? commonRGVSecond = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV02") as CommonRGV_FirstFloor;
                     if (commonRGVSecond != null)
                     {
-                        if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(15),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVSecond, command);
-                            }
-                            if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
-                            {
-                                LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.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(tasks.FirstOrDefault(x => x.RGVName == "RGV01"))}銆戙��");
-                                return tasks.FirstOrDefault(x => x.RGVName == "RGV01");
-                            }
-                            else
-                            {
-                                LogAndWarn("璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.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(tasks.FirstOrDefault(x => x.RGVName != "RGV02"))}銆戙��");
-                                return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
-                            }
-                        }
-                        else if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        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));
                             if (taskSecond != null)
                             {
                                 if (taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_Outdispatch || taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_Indispatch || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation > taskSecond.TargetStation && x.TargetStation > taskSecond.SourceStation && x.SourceStation > taskSecond.SourceStation && x.TargetStation > taskSecond.TargetStation);
+                                    //task = tasks.FirstOrDefault(x =>x.SourceStation- taskSecond.TargetStation > 1  && x.TargetStation - taskSecond.SourceStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TargetStation - taskSecond.TargetStation> 1);
+
+                                    task = tasks.FirstOrDefault(x =>(x.SourceStation- taskSecond.TargetStation > 1 && x.SourceStation - taskSecond.SourceStation > 1&&x.TaskType==(int)TaskInboundTypeEnum.Inbound) ||(x.SourceStation - taskSecond.TargetStation > 1 && x.TargetStation - taskSecond.SourceStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TargetStation - taskSecond.TargetStation > 1&&x.TaskType== (int)TaskOutboundTypeEnum.Outbound));
 
 
                                     LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVSecond.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVSecond.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskSecond)}銆憑commonRGVSecond.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
@@ -484,7 +453,7 @@
                                 }
                                 else if (taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_OutExecuting || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_InExecuting)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation > taskSecond.TargetStation && x.TargetStation > taskSecond.TargetStation);
+                                    task = tasks.FirstOrDefault(x => x.SourceStation - taskSecond.TargetStation> 1 &&x.TargetStation - taskSecond.TargetStation > 1);
 
                                     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)}銆戙��");
 
@@ -494,7 +463,7 @@
                             }
                             else
                             {
-                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 35000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
@@ -549,39 +518,16 @@
                     CommonRGV_FirstFloor? commonRGVFirst = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "RGV01") as CommonRGV_FirstFloor;
                     if (commonRGVFirst != null)
                     {
-                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock))
-                        {
-                            if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
-                            {
-                                RGVTaskCommand command = new RGVTaskCommand()
-                                {
-                                    PickupLocation = (byte)Convert.ToSByte(26),
-                                    TaskNum = Convert.ToInt16(1000),
-                                    TaskType = (byte)Convert.ToSByte(1)
-                                };
-                                SendCommand(commonRGVFirst, command);
-                            }
-                            if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != 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(tasks.FirstOrDefault(x => x.RGVName == "RGV02"))}銆戙��");
-
-                                return tasks.FirstOrDefault(x => x.RGVName == "RGV02");
-                            }
-                            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(tasks.FirstOrDefault(x => x.RGVName != "RGV01"))}銆戙��");
-
-                                return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
-                            }
-                        }
-                        else if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
+                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                         {
                             var taskFirst = _taskRepository.QueryFirst(x => x.RGVName == "RGV01" && x.TaskNum == commonRGVFirst.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                             if (taskFirst != null)
                             {
                                 if (taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_Outdispatch || taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_Indispatch || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation < taskFirst.TargetStation && x.TargetStation < taskFirst.SourceStation && x.SourceStation < taskFirst.SourceStation && x.TargetStation < taskFirst.TargetStation);
+                                    //task = tasks.FirstOrDefault(x =>taskFirst.TargetStation - x.SourceStation > 1 && taskFirst.SourceStation - x.TargetStation > 1 && taskFirst.SourceStation - x.SourceStation > 1 && taskFirst.TargetStation - x.TargetStation > 1);
+
+                                    task = tasks.FirstOrDefault(x => (x.SourceStation - taskFirst.TargetStation > 1 && x.SourceStation - taskFirst.SourceStation > 1 && x.TaskType == (int)TaskInboundTypeEnum.Inbound) || (x.SourceStation - taskFirst.TargetStation > 1 && x.TargetStation - taskFirst.SourceStation > 1 && x.SourceStation - taskFirst.SourceStation > 1 && x.TargetStation - taskFirst.TargetStation > 1 && x.TaskType == (int)TaskOutboundTypeEnum.Outbound));
 
                                     LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskFirst)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
 
@@ -589,7 +535,7 @@
                                 }
                                 else if (taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_OutExecuting || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_InExecuting)
                                 {
-                                    task = tasks.FirstOrDefault(x => x.SourceStation < taskFirst.TargetStation && x.TargetStation < taskFirst.TargetStation);
+                                    task = tasks.FirstOrDefault(x => taskFirst.TargetStation - x.SourceStation > 1 && taskFirst.TargetStation - x.TargetStation > 1);
 
                                     LogAndWarn("鎵ц璋冨害浠诲姟鎺у埗", $"銆恵commonRGVFirst.DeviceCode}宸ヤ綔妯″紡锛氥�恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}銆戣澶囩姸鎬侊細銆恵commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}銆戙�恵commonRGVFirst.DeviceCode}銆戜换鍔°�恵JsonConvert.SerializeObject(taskFirst)}銆憑commonRGVFirst.DeviceCode}杩斿洖浠诲姟锛氥�恵JsonConvert.SerializeObject(task)}銆戙��");
 
@@ -599,11 +545,11 @@
                             }
                             else
                             {
-                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 1000)
+                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) < 420000)
                                 {
                                     RGVTaskCommand command = new RGVTaskCommand()
                                     {
-                                        PickupLocation = (byte)Convert.ToSByte(15),
+                                        PickupLocation = (byte)Convert.ToSByte(26),
                                         TaskNum = Convert.ToInt16(1000),
                                         TaskType = (byte)Convert.ToSByte(1)
                                     };
@@ -701,7 +647,9 @@
                                 CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
                                 Thread.Sleep(100);
                                 DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
-                                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5);
+
+                                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 7);
+
                                 string Barcode = Encoding.UTF8.GetString(x);
 
                                 if (Barcode == null || Barcode == "")
@@ -753,47 +701,9 @@
         {
             if (InStock)
             {
-                return _taskService.QueryRGVExecutingTask(commonRGV.DeviceCode, commonRGV.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
+                return _taskService.QueryRGVExecutingTask(commonRGV.DeviceCode);
             }
             return null;
-
-            #region
-            //if (commonRGV.LastTaskType == null)
-            //{
-            //    task = _taskService.QueryRGVTask(commonRGV.DeviceCode);
-            //}
-            //else
-            //{
-            //    if (commonRGV.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            //    {
-            //        task = _taskService.QueryRGVInTask(commonRGV.DeviceCode);
-            //        if (task == null)
-            //        {
-            //            task = _taskService.QueryRGVOutTask(commonRGV.DeviceCode);
-            //        }
-            //    }
-            //    else
-            //    {
-            //        task = _taskService.QueryRGVOutTask(commonRGV.DeviceCode);
-            //    }
-            //}
-
-            //if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            //{
-            //    if (task == null)
-            //    {
-            //        task = _taskService.QueryRGVInTask(commonRGV.DeviceCode);
-            //    }
-            //    else
-            //    {
-            //        return task;
-            //    }
-            //}
-            //else if (task == null)
-            //{
-            //    task = _taskService.QueryRGVInTask(commonRGV.DeviceCode);
-            //}
-            #endregion
         }
 
         /// <summary>
@@ -825,7 +735,6 @@
                 }
                 else
                 {
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
                     return null;
                 }
             }
@@ -846,7 +755,6 @@
                 }
                 else
                 {
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
                     return null;
                 }
             }

--
Gitblit v1.9.3