From 843cc2ea1b104ecdf9da61318a4136a5d4096411 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 24 四月 2026 11:07:21 +0800
Subject: [PATCH] 集成Quartz定时任务,支持NG出库自动化及WMS/WCS接口扩展

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 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 1b17388..2d0a34d 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
 {
@@ -67,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);
@@ -77,15 +83,6 @@
                                     bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
                                     if (sendFlag)
                                     {
-                                        StringBuilder builder = new StringBuilder();
-                                        builder.AppendLine();
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戝爢鍨涙満鐘舵�侊細銆恵commonStackerCrane.StackerCraneStatusDes}銆�,鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戞墜鑷姩鐘舵�侊細銆恵commonStackerCrane.StackerCraneAutoStatusDes}銆�,鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戜綔涓氱姸鎬侊細銆恵commonStackerCrane.StackerCraneWorkStatusDes}銆�,鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戜笅鍙戜换鍔℃垚鍔�,銆恵JsonConvert.SerializeObject(stackerCraneTaskCommand, Formatting.Indented)}銆�");
-                                        builder.AppendLine($"鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine();
-                                        ConsoleHelper.WriteColorLine(builder, ConsoleColor.Blue);
                                         commonStackerCrane.LastTaskType = task.TaskType;
                                         _taskService.UpdateTaskStatusToNext(task.TaskNum);
                                     }
@@ -125,6 +122,10 @@
                 WriteError("CommonStackerStationCraneJob", "test", ex);
                 //Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString());
             }
+            finally
+            {
+                StaticVariable.isStackerRun = true;
+            }
             //WriteDebug("CommonStackerStationCraneJob", "test");
             return Task.CompletedTask;
         }
@@ -141,8 +142,6 @@
             {
                 if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
                 {
-                    ConsoleHelper.WriteColorLine($"銆恵commonStackerCrane.DeviceName}銆戝爢鍨涙満浣滀笟鐘舵�侊細銆恵(int)commonStackerCrane.StackerCraneWorkStatusValue}銆戞椂闂淬�恵DateTime.Now}銆�", ConsoleColor.Magenta);
-
                     string str = $"銆恵commonStackerCrane.DeviceName}銆戜换鍔″畬鎴�,浠诲姟鍙凤細銆恵e.TaskNum}銆戞椂闂淬�恵DateTime.Now}銆�";
                     WriteInfo(commonStackerCrane.DeviceName, str);
                     ConsoleHelper.WriteColorLine(str, ConsoleColor.Blue);
@@ -166,6 +165,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)
@@ -294,6 +298,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