From 569e91c63636345391f741df049c9374a141a434 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期一, 26 八月 2024 08:57:33 +0800 Subject: [PATCH] 添加路由新建配置,重新导出种子数据 --- WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 50 +++++++++++++++++++++++++++++--------------------- 1 files changed, 29 insertions(+), 21 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs index 6e144d2..77f830e 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs @@ -60,6 +60,7 @@ bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); if (sendFlag) { + commonStackerCrane.LastTaskType = task.TaskType; _taskService.UpdateTaskStatusToNext(task.TaskNum); } } @@ -82,11 +83,13 @@ /// <param name="e"></param> private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e) { - Console.Out.WriteLine("TaskCompleted" + e.TaskNum); - _taskService.StackCraneTaskCompleted(e.TaskNum); - CommonStackerCrane commonStackerCrane = sender as CommonStackerCrane; - 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); + } } /// <summary> @@ -103,36 +106,41 @@ } else { - IEnumerable<int> taskInboundTypes = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>(); - if (Enum.TryParse(typeof(TaskOutboundTypeEnum), commonStackerCrane.LastTaskType.GetValueOrDefault().ToString(), out object? result)) + if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(commonStackerCrane.LastTaskType.ToString()).ToString(), out int taskType)) { task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + if(task == null) + { + task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); + } } else { task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); - if (task != null) + } + } + + if (task != null && !int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result)) + { + if (OutTaskStationIsOccupied(task) != null) + { + return task; + } + else + { + List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); + List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); + foreach (var item in tasks) { if (OutTaskStationIsOccupied(task) != null) { return task; } - else - { - List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); - List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); - foreach (var item in tasks) - { - if (OutTaskStationIsOccupied(task) != null) - { - return task; - } - } - task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); - } } + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); } } + return task; } @@ -150,7 +158,7 @@ if (device != null) { CommonConveyorLine conveyorLine = (CommonConveyorLine)device; - if (!conveyorLine.IsOccupied(router.ChildPosi))//鍑哄簱绔欏彴鏈鍗犵敤 + if (conveyorLine.IsOccupied(router.ChildPosi))//鍑哄簱绔欏彴鏈鍗犵敤 { return task; } -- Gitblit v1.9.3