From a8be8f9371b6fc03b66d212b2902d08f93b087dd Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期三, 02 七月 2025 13:55:55 +0800 Subject: [PATCH] 新增任务查询方法并优化逻辑在 `ITaskService.cs` 中添加了新的 `QueryExecutingConveyorLineTask` 方法,支持根据托盘号和下一地址查询任务,同时调整了原有方法的参数以保留旧功能。在 `TaskService.cs` 中新增重载方法,允许根据下一地址和条形码查询任务。在 `CommonConveyorLine_GWJob.cs` 中更新了 `ConveyorLineOutFinish` 方法,简化了任务查询逻辑并删除了多余的注释代码。同时,增加了对 `taskNext` 的处理逻辑,确保在任务未找到时的相应处理,并更新在途数据的逻辑,提升数据一致性和准确性。 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs index 8e4d073..e38f9fa 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs @@ -22,6 +22,7 @@ using WIDESEAWCS_QuartzJob.StackerCrane.Enum; using WIDESEAWCS_SignalR; using WIDESEAWCS_Tasks.StackerCraneJob; +using WIDESEAWCS_Common; namespace WIDESEAWCS_Tasks { @@ -51,10 +52,6 @@ { try { - // speStackerCrane.GetStackerCraneStatus<StackerCraneAutoStatus>(); - // speStackerCrane.GetStackerCraneStatus<StackerCraneWorkStatus>(); - // speStackerCrane.GetStackerCraneStatus<StackerCraneStatus>(); - CommonStackerStationCrane commonStackerCrane = (CommonStackerStationCrane)context.JobDetail.JobDataMap.Get("JobParams"); if (commonStackerCrane != null) { @@ -71,7 +68,12 @@ if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) { - Dt_Task? task = GetTask(commonStackerCrane); + Dt_Task? task = null; + if (StaticVariable.isLineRun) + { + StaticVariable.isStackerRun = false; + task = GetTask(commonStackerCrane); + } if (task != null) { StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); @@ -81,8 +83,6 @@ bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); if (sendFlag) { - //commonStackerCrane.LastTaskType = task.TaskType; - //_taskService.UpdateTaskStatusToNext(task.TaskNum); StringBuilder builder = new StringBuilder(); builder.AppendLine(); builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戝爢鍨涙満鐘舵�侊細銆恵commonStackerCrane.StackerCraneStatusDes}銆�,鏃堕棿锛氥�恵DateTime.Now}銆�"); @@ -131,6 +131,10 @@ WriteError("CommonStackerStationCraneJob", "test", ex); //Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString()); } + finally + { + StaticVariable.isStackerRun = true; + } //WriteDebug("CommonStackerStationCraneJob", "test"); return Task.CompletedTask; } @@ -172,6 +176,11 @@ private Dt_Task? GetTask(CommonStackerStationCrane commonStackerCrane) { Dt_Task task; + task = _taskService.QueryOutFireAlarmTask(commonStackerCrane.DeviceCode); + if (task != null) + { + return task; + } task = _taskService.QueryRelocationTask(commonStackerCrane.DeviceCode); if (task != null) @@ -300,6 +309,7 @@ stackerCraneTaskCommand.WorkType = 1; stackerCraneTaskCommand.TrayType = 0; stackerCraneTaskCommand.StartCommand = 1; + stackerCraneTaskCommand.FireCommand = Convert.ToInt16(task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm ? 2 : 0); string[] sourceCodes = task.SourceAddress.Split("-"); if (sourceCodes.Length == 3) -- Gitblit v1.9.3