From 511560d9249cf302c837fcbb4d93645af184d69e Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期一, 21 四月 2025 15:26:49 +0800
Subject: [PATCH] 优化查询任务方法

---
 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 76a2a5c..93096e7 100644
--- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -1,6 +1,7 @@
 锘縰sing AutoMapper;
 using HslCommunication;
 using Mapster;
+using Microsoft.AspNetCore.DataProtection.XmlEncryption;
 using Newtonsoft.Json;
 using SqlSugar;
 using System.Diagnostics.CodeAnalysis;
@@ -144,11 +145,26 @@
                     // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
                     else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                     {
+                        
                         var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue;
                         var valueList = value.Split(',').ToList();
                         // 鍒ゆ柇婧愬湴鍧�鏄惁涓嶇瓑浜�"1359-4"
                         //if (task.SourceAddress != "1359-4" && task.SourceAddress != "1357-4")
-                        if (!valueList.Contains(task.SourceAddress))
+                        if (task.SourceAddress == "1435" && task.TaskType == (int)TaskInboundTypeEnum.InNG)
+                        {
+                            List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
+                            if (routers.Count > 0)
+                            {
+                                // 璁剧疆浠诲姟鐘舵�佷负鍏ュ簱鏂板缓
+                                task.TaskState = (int)TaskInStatusEnum.InNew;
+                                // 璁剧疆褰撳墠鍦板潃涓烘簮鍦板潃
+                                task.CurrentAddress = item.SourceAddress;
+                                // 璁剧疆涓嬩竴涓湴鍧�涓虹涓�涓瓙浣嶇疆
+                                task.NextAddress = routers.FirstOrDefault().ChildPosi;
+                            }
+                            task.Remark = "NG";
+                        }
+                        else if (!valueList.Contains(task.SourceAddress))
                         {
                             // 鏌ヨ浠庢簮鍦板潃鍒扮洰鏍囧湴鍧�鐨勮矾鐢�
                             List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
@@ -275,6 +291,17 @@
             return task;
         }
 
+        public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress,string Barcode)
+        {
+            Dt_Task task = null;
+            task = BaseDal.QueryFirst(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)) && x.CurrentAddress == currentAddress && x.PalletCode == Barcode, TaskOrderBy);
+            if (task == null)
+            {
+                task = BaseDal.QueryFirst(x => x.Roadway == currentAddress && x.TaskType == (int)TaskOutboundTypeEnum.TrayInToOut && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.PalletCode == Barcode, TaskOrderBy);
+            }
+            return task;
+        }
+
         /// <summary>
         /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
         /// </summary>
@@ -308,6 +335,11 @@
             return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
         }
 
+        public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress,string Barcode)
+        {
+            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) && x.PalletCode == Barcode, TaskOrderBy);
+        }
+
         /// <summary>
         /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎瀹屾垚鐨勪换鍔�
         /// </summary>

--
Gitblit v1.9.3