From a709afe7ba494808d923c3746c8edf1a3575977a Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期四, 30 十月 2025 09:58:34 +0800
Subject: [PATCH] 代码提交

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 91fe2b7..ca9c58d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -32,6 +32,8 @@
 using System.Threading.Tasks;
 using WIDESEAWCS_QuartzJob.StackerCrane;
 using WIDESEAWCS_Core.BaseRepository;
+using Autofac.Core;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
 
 namespace WIDESEAWCS_Tasks
 {
@@ -69,9 +71,11 @@
                     getStackerObject.CheckStackerCraneTaskCompleted();
                     if (getStackerObject.StackerCraneStatusValue == StackerCraneStatus.Normal)
                     {
+                        var a = speStackerCrane.GetValue<StackerCraneDBName, Int32>(StackerCraneDBName.CurrentTaskNum);
                         Dt_Task? task = GetTasks(speStackerCrane);
                         if (task != null)
                         {
+                            WriteInfo("鏌ユ壘鍫嗗灈鏈轰换鍔″彿", $"浠诲姟淇℃伅,浠诲姟鍙�:{task.TaskNum}锛屽爢鍨涙満缂栧彿{speStackerCrane.DeviceCode}");
                             bool sendFlag = true;
                             if (sendFlag)
                             {
@@ -111,7 +115,10 @@
             {
                 if (speStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
                 {
+                    var TaskNum = speStackerCrane.GetValue<StackerCraneDBName, Int32>(StackerCraneDBName.CurrentTaskNum);
+                    WriteInfo("鍫嗗灈鏈轰换鍔″畬鎴�", $"浠诲姟鍙�:{TaskNum}");
                     StackerCraneTaskCompleted(e.TaskNum, speStackerCrane.DeviceCode);
+                    WriteInfo("鍫嗗灈鏈轰换鍔″畬鎴愬弽棣堜换鍔″彿", $"浠诲姟淇℃伅,浠诲姟鍙�:{e.TaskNum}");
                     speStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
                 }
             }
@@ -188,6 +195,10 @@
         {
             Dt_Task? task;
 
+            if (_taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()) != null)
+            {
+                return null;
+            }
             if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
             {
                 task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
@@ -278,17 +289,20 @@
             {
 
                 string[] startCodes = task.SourceAddress.Split("-");
+                if (startCodes.Length == 3)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]);
+                }
 
-                stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
-                stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]);
-                stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]);
 
                 string[] targetCodes = task.TargetAddress.Split("-");
-                if (targetCodes.Length == 3)
+                if (targetCodes.Length == 5)
                 {
-                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
-                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
-                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
                 }
                 else
                 {

--
Gitblit v1.9.3