From 75dcfe564467731b993519eb59ce330703ed1d5b Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期六, 25 四月 2026 16:26:04 +0800
Subject: [PATCH] Merge branch 'dev' of http://115.159.85.185:8098/r/SuZhouGuanHong/ShanMeiXinNengYuan into dev

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService/TaskService.Query.cs |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService/TaskService.Query.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService/TaskService.Query.cs
index ef54770..6e6f76a 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService/TaskService.Query.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService/TaskService.Query.cs
@@ -34,6 +34,21 @@
     }
 
     /// <summary>
+    /// 鏌ヨ鏄惁鏈夋鍦ㄦ墽琛岀殑鍘诲線鎸囧畾 TargetAddress 鐨勮緭閫佺嚎浠诲姟
+    /// </summary>
+    /// <param name="roadway">宸烽亾鍙�</param>
+    /// <param name="targetAddress">鐩爣鍦板潃</param>
+    /// <returns>瀛樺湪杩斿洖 true</returns>
+    public bool HasExecutingTaskToTarget(string roadway, string targetAddress)
+    {
+        return BaseDal.QueryFirst(x =>
+            x.Roadway == roadway &&
+            x.TargetAddress == targetAddress &&
+            x.TaskStatus == (int)TaskOutStatusEnum.Line_OutExecuting,
+            TaskOrderBy) != null;
+    }
+
+    /// <summary>
     /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎瀹屾垚鐨勪换鍔�
     /// </summary>
     /// <param name="taskNum">浠诲姟鍙�</param>
@@ -112,9 +127,12 @@
     /// <param name="deviceNo">璁惧缂栧彿</param>
     /// <param name="currentAddress">褰撳墠鍦板潃</param>
     /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄闆嗗悎锛屽彲鑳戒负null</returns>
-    public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes)
+    public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes, bool isTrue = true)
     {
-        return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.CurrentAddress), TaskOrderBy);
+        if (isTrue)
+            return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.NextAddress), TaskOrderBy);
+        else
+            return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew && !outStationCodes.Contains(x.NextAddress), TaskOrderBy);
     }
 
     /// <summary>
@@ -149,7 +167,7 @@
     public Dt_Task QueryManualInboundTask(string sourceAddress)
     {
         return BaseDal.QueryFirst(x =>
-            x.TaskType == (int)TaskInboundTypeEnum.Inbound &&
+            (x.TaskType == (int)TaskInboundTypeEnum.Inbound || x.TaskType == (int)TaskInboundTypeEnum.InEmpty) &&
             x.TaskStatus == (int)TaskInStatusEnum.InNew &&
             x.SourceAddress == sourceAddress);
     }

--
Gitblit v1.9.3