From 7ff298c6834275b63b612af49651673689a39660 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期三, 27 十一月 2024 11:33:18 +0800 Subject: [PATCH] 更新 --- WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 55 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 32 insertions(+), 23 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs index 77f830e..cfd1cee 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs @@ -2,23 +2,26 @@ using Quartz; using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core.Enums; -using WIDESEAWCS_IBasicInfoService; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; using WIDESEAWCS_QuartzJob.DeviceBase; +using WIDESEAWCS_QuartzJob.Models; +using WIDESEAWCS_QuartzJob.Service; using WIDESEAWCS_QuartzJob.StackerCrane.Enum; using WIDESEAWCS_Tasks.StackerCraneJob; namespace WIDESEAWCS_Tasks { - [DisallowConcurrentExecution] - public class CommonStackerCraneJob : IJob + + public class CommonStackerCraneJob : JobBase, IJob { private readonly ITaskService _taskService; private readonly ITaskExecuteDetailService _taskExecuteDetailService; @@ -40,6 +43,11 @@ CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); if (commonStackerCrane != null) { + + WriteDebug(commonStackerCrane.DeviceCode + "杩愯鏃ュ織", "寮�濮嬫椂闂�" + DateTime.Now); + + short a = commonStackerCrane.Communicator.Read<short>("DB2.2.0"); + //Console.Out.WriteLine(DateTime.Now + "锛�" + commonStackerCrane.DeviceName); if (!commonStackerCrane.IsEventSubscribed) { commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢 @@ -55,7 +63,7 @@ if (task != null) { StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); - if(stackerCraneTaskCommand != null) + if (stackerCraneTaskCommand != null) { bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); if (sendFlag) @@ -67,12 +75,15 @@ } } } + WriteDebug(commonStackerCrane.DeviceCode + "杩愯鏃ュ織", "缁撴潫鏃堕棿" + DateTime.Now); } } catch (Exception ex) { - Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString()); + WriteError("CommonConveyorLineJob", "test", ex); + //Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString()); } + WriteDebug("CommonConveyorLineJob", "test"); return Task.CompletedTask; } @@ -83,12 +94,15 @@ /// <param name="e"></param> private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e) { - CommonStackerCrane commonStackerCrane = sender as CommonStackerCrane; - if (commonStackerCrane.GetValue<StackerCraneDBName,short>(StackerCraneDBName.WorkType) != 5) + CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane; + if (commonStackerCrane != null) { - Console.Out.WriteLine("TaskCompleted" + e.TaskNum); - _taskService.StackCraneTaskCompleted(e.TaskNum); - commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) + { + Console.Out.WriteLine("TaskCompleted" + e.TaskNum); + _taskService.StackCraneTaskCompleted(e.TaskNum); + commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + } } } @@ -106,10 +120,10 @@ } else { - if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(commonStackerCrane.LastTaskType.ToString()).ToString(), out int taskType)) + if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); - if(task == null) + if (task == null) { task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); } @@ -120,7 +134,7 @@ } } - if (task != null && !int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result)) + if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { if (OutTaskStationIsOccupied(task) != null) { @@ -149,7 +163,7 @@ /// </summary> /// <param name="task">浠诲姟瀹炰綋</param> /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> - private Dt_Task? OutTaskStationIsOccupied(Dt_Task task) + private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) { Dt_Router? router = _routerService.QueryNextRoutes(task.Roadway, task.NextAddress).FirstOrDefault(); if (router != null) @@ -181,7 +195,7 @@ /// <param name="task">浠诲姟瀹炰綋</param> /// <returns></returns> /// <exception cref="Exception"></exception> - public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand(Dt_Task task) + public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task) { StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); @@ -189,7 +203,7 @@ stackerCraneTaskCommand.TaskNum = task.TaskNum; stackerCraneTaskCommand.WorkType = 1; stackerCraneTaskCommand.TrayType = 0; - if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))//鍒ゆ柇鏄惁鏄叆搴撲换鍔� + if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔� { List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); if (routers.Count > 0) @@ -218,7 +232,7 @@ return null; } } - else if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out result)) + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress); if (routers.Count > 0) @@ -247,7 +261,7 @@ return null; } } - else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result)) + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) { string[] targetCodes = task.NextAddress.Split("-"); if (targetCodes.Length == 3) @@ -276,11 +290,6 @@ return null; } } - else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result)) - { - - } - return stackerCraneTaskCommand; } } -- Gitblit v1.9.3