From 5efc3d1d1042ac74e7319fb04e490dd7295b9e22 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 07 八月 2025 16:20:35 +0800
Subject: [PATCH] 优化 WMS 接口请求和设备处理逻辑 在 `RequestInbound.cs` 中删除与 GW 相关的代码注释,添加 WMS 接口请求处理,更新 `RequestWmsTask` 方法以支持异步请求和结果处理。 在 `CommonConveyorLine_CWJob.cs` 中移除不必要的代码,简化设备处理逻辑,并增加调度执行时间记录,改进异常处理输出。 在 `CommonStackerCraneJob.cs` 中将设备类型转换从 `CommonConveyorLine_GW` 更新为 `CommonConveyorLine_CW`,确保任务处理的正确性。

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
index b5c54e0..5f99e14 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -103,16 +103,8 @@
                                             ConsoleHelper.WriteColorLine(builder, ConsoleColor.Blue);
                                             commonStackerCrane.LastTaskType = task.TaskType;
 
-                                            if(task.TaskType == (int)TaskOutboundTypeEnum.InToOut)
-                                            {
-                                                task.TaskState = (int)TaskOutStatusEnum.SC_OutExecuting;
-                                                _taskRepository.AddData(task);
-                                                _taskService.StackCraneTaskCompleted(task.TaskNum);
-                                            }
-                                            else
-                                            {
-                                                _taskService.UpdateTaskStatusToNext(task.TaskNum);
-                                            } 
+
+                                            _taskService.UpdateTaskStatusToNext(task.TaskNum);
                                         }
                                     }
                                     else
@@ -178,6 +170,24 @@
                     var task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum);
 
                     if (task == null) commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
+
+                    if (commonStackerCrane.DeviceCode.Contains("CW") && task.TaskType==(int)TaskOutboundTypeEnum.InToOut)
+                    {
+                        var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1017" && x.stationType == 10 && x.Roadway == commonStackerCrane.DeviceCode);
+
+                        IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationinfo.stationPLC);
+                        if (device != null)
+                        {
+                            CommonConveyorLine_GW conveyorLine = (CommonConveyorLine_GW)device;
+                            conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, Convert.ToInt16(1815), stationinfo.stationChildCode);
+                            Thread.Sleep(100);
+                            conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTaskNum, 1000, stationinfo.stationChildCode);
+                        }
+                        WriteInfo(commonStackerCrane.DeviceName, $"銆愭墜鍔ㄥ嚭搴撹褰曘�戜换鍔″彿銆恵e.TaskNum}銆戞墭鐩樺彿銆恵task.PalletCode}銆�");
+                    }
+
+
+
 
                     if (commonStackerCrane.DeviceCode.Contains("GW") && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                     {
@@ -309,7 +319,7 @@
                         device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == router.ChildPosiDeviceCode);
                         if (device != null)
                         {
-                            CommonConveyorLine_GW conveyorLine = (CommonConveyorLine_GW)device;
+                            CommonConveyorLine_CW conveyorLine = (CommonConveyorLine_CW)device;
                             if (conveyorLine.IsOccupied(task.NextAddress))//鍑哄簱绔欏彴鏈鍗犵敤
                             {
                                 return task;

--
Gitblit v1.9.3