From 73e0e7c3886bc88e7ed37db24d28d8f6d159f1c0 Mon Sep 17 00:00:00 2001
From: qinchulong <qinchulong@hnkhzn.com>
Date: 星期六, 08 三月 2025 18:57:10 +0800
Subject: [PATCH] 优先级修改

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs |   73 +++++++++++++++++++++---------------
 1 files changed, 42 insertions(+), 31 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
index e2590a8..4f6742d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/OHT/OHTJob.cs"
@@ -54,10 +54,10 @@
                 var ZXJdevice = Storage.Devices.Find(v => v.DeviceName == "闃虫瀬鏁村舰鏈�");
                 //瑙勬暣鏈篜LC瀵硅薄
                 var GZJevice = Storage.Devices.Find(v => v.DeviceName == "闃虫瀬瑙勬暣鏈�");
-                if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected)
-                {
-                    return Task.CompletedTask;
-                }
+                //if (!device.Communicator.IsConnected || !ZXJdevice.Communicator.IsConnected || !GZJevice.Communicator.IsConnected)
+                //{
+                //    return Task.CompletedTask;
+                //}
                 try
                 {
                     #region 澶╄溅瀹屾垚浠诲姟閫昏緫
@@ -71,11 +71,13 @@
                         {
                             throw new Exception(string.Format("澶╄溅鍙栬揣瀹屾垚浠诲姟鏈煡璇㈠埌浠诲姟鍙穥0}", oHTReadData.R_TaskNumber));
                         }
+                        //鍏ュ簱
                         if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound)
                         {
-                            //濡傛灉浠诲姟鐨勭姸鎬佹槸澶╄溅鍏ュ簱鍙栬揣鎵ц涓�
+                            //濡傛灉浠诲姟鐨勭姸鎬佹槸鍚︽槸澶╄溅鍏ュ簱鍙栬揣鎵ц涓�
                             if (nawtask.TaskState == (int)TaskInStatusEnum.Line_InGrabExecuting)
                             {
+                                //淇敼鐘舵��
                                 WebResponseContent result = _taskService.UpdateTaskStatusToLine_Ingrab(nawtask);
                                 if (result.Status)
                                 {
@@ -83,11 +85,13 @@
                                 }
                             }
                         }
+                        //鍑哄簱
                         else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound)
                         {
-                            //濡傛灉浠诲姟鐘舵�佹槸澶╄溅鍑哄簱鍙栬揣鎵ц涓�
+                            //濡傛灉浠诲姟鐘舵�佹槸鍚︽槸澶╄溅鍑哄簱鍙栬揣鎵ц涓�
                             if (nawtask.TaskState == (int)TaskOutStatusEnum.Line_OutGrabExecuting)
                             {
+                                //淇敼鐘舵��
                                 WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask);
                                 if (result.Status)
                                 {
@@ -95,8 +99,10 @@
                                 }
                             }
                         }
+                        //鐩存帴鍑哄簱
                         else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory)
                         {
+                            //淇敼鐘舵��
                             WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask);
                             if (result.Status)
                             {
@@ -132,35 +138,40 @@
                     {
                         if (oHTReadData.R_RunState == (int)RunStateEnum.Standby)
                         {
-                            Dt_Task? task = GetTask(InorOut);
-                            if (task != null)
+                            //鏌ョ湅浠诲姟姹犱腑鏄惁瀛樺湪鎵ц涓殑浠诲姟
+                            var tasking = _taskService.QueryTasking();
+                            if (tasking==null)
                             {
-                                OHTTaskCommand? oHTTaskCommand = ConvertToOHTTaskCommand(task);
-                                if (oHTTaskCommand != null)
+                                Dt_Task? task = GetTask(InorOut);
+                                if (task != null)
                                 {
-                                    //缁欏ぉ杞︿笅鍙戜换鍔′箣鍓嶅皢姝ゅ�煎啓0
-                                    device.SetValue(DeviceDBName.W_ConfirmSignal, 0);
-                                    //todo锛氬啓鍏ヤ换鍔″懡浠�
-                                    device.SetValue(DeviceDBName.W_Task_Type, oHTTaskCommand.W_Task_Type);
-                                    device.SetValue(DeviceDBName.W_Pick_Line, oHTTaskCommand.W_Pick_Line);
-                                    device.SetValue(DeviceDBName.W_Pick_Column, oHTTaskCommand.W_Pick_Column);
-                                    device.SetValue(DeviceDBName.W_Put_Line, oHTTaskCommand.W_Put_Line);
-                                    device.SetValue(DeviceDBName.W_Put_Column, oHTTaskCommand.W_Put_Column);
-                                    device.SetValue(DeviceDBName.W_Catch_1, oHTTaskCommand.W_Catch_1);
-                                    device.SetValue(DeviceDBName.W_Catch_2, oHTTaskCommand.W_Catch_2);
-                                    device.SetValue(DeviceDBName.W_TaskNumber, oHTTaskCommand.W_TaskNumber);
-                                    device.SetValue(DeviceDBName.W_CheckValue, oHTTaskCommand.W_CheckValue);
-                                    //纭淇″彿鍐欏叆1锛屼换鍔′笅杈惧畬鎴�
-                                    device.SetValue(DeviceDBName.W_ConfirmSignal, 1);
-                                    Thread.Sleep(500);
-                                    //WCS妫�娴嬪埌澶╄溅鐨凴_TaskState=1锛岄�氳繃W_ConfirmSignal缃�2琛ㄧず璁╁ぉ杞﹀紑濮嬫墽琛屼换鍔�
-                                    int R_TaskState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_TaskState);
-                                    if (R_TaskState == 1)
+                                    OHTTaskCommand? oHTTaskCommand = ConvertToOHTTaskCommand(task);
+                                    if (oHTTaskCommand != null)
                                     {
-                                        device.SetValue(DeviceDBName.W_ConfirmSignal, 2);
+                                        //缁欏ぉ杞︿笅鍙戜换鍔′箣鍓嶅皢姝ゅ�煎啓0
+                                        device.SetValue(DeviceDBName.W_ConfirmSignal, 0);
+                                        //todo锛氬啓鍏ヤ换鍔″懡浠�
+                                        device.SetValue(DeviceDBName.W_Task_Type, oHTTaskCommand.W_Task_Type);
+                                        device.SetValue(DeviceDBName.W_Pick_Line, oHTTaskCommand.W_Pick_Line);
+                                        device.SetValue(DeviceDBName.W_Pick_Column, oHTTaskCommand.W_Pick_Column);
+                                        device.SetValue(DeviceDBName.W_Put_Line, oHTTaskCommand.W_Put_Line);
+                                        device.SetValue(DeviceDBName.W_Put_Column, oHTTaskCommand.W_Put_Column);
+                                        device.SetValue(DeviceDBName.W_Catch_1, oHTTaskCommand.W_Catch_1);
+                                        device.SetValue(DeviceDBName.W_Catch_2, oHTTaskCommand.W_Catch_2);
+                                        device.SetValue(DeviceDBName.W_TaskNumber, oHTTaskCommand.W_TaskNumber);
+                                        device.SetValue(DeviceDBName.W_CheckValue, oHTTaskCommand.W_CheckValue);
+                                        //纭淇″彿鍐欏叆1锛屼换鍔′笅杈惧畬鎴�
+                                        device.SetValue(DeviceDBName.W_ConfirmSignal, 1);
+                                        Thread.Sleep(500);
+                                        //WCS妫�娴嬪埌澶╄溅鐨凴_TaskState=1锛岄�氳繃W_ConfirmSignal缃�2琛ㄧず璁╁ぉ杞﹀紑濮嬫墽琛屼换鍔�
+                                        int R_TaskState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_TaskState);
+                                        if (R_TaskState == 1)
+                                        {
+                                            device.SetValue(DeviceDBName.W_ConfirmSignal, 2);
+                                        }
+                                        //涓嬪彂鎴愬姛锛屼慨鏀逛换鍔$姸鎬�
+                                        _taskService.UpdateTaskStatus(task.TaskId, oHTTaskCommand.W_Task_Type);
                                     }
-                                    //涓嬪彂鎴愬姛锛屼慨鏀逛换鍔$姸鎬�
-                                    _taskService.UpdateTaskStatus(task.TaskNum, oHTTaskCommand.W_Task_Type);
                                 }
                             }
                         }

--
Gitblit v1.9.3