From e8042fe43a178ca26fe4fe4f8cf5dedbfc9910fd Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 03 七月 2025 10:50:24 +0800
Subject: [PATCH] 更新任务查询逻辑以包含条形码在CommonConveyorLineJob.cs和 CommonConveyorLine_GWJob.cs文件中,修改了多个任务查询方法,现支持使用任务号、子设备代码和条形码进行查询。这一改动旨在提高任务查询的准确性。同时,移除了不再需要的注释代码行。

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   75 +++++++++++++++++++++++++++++++------
 1 files changed, 62 insertions(+), 13 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 5cafee4..daa6bbc 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -94,7 +94,7 @@
                     if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                     {
                         // 鍒ゆ柇浠诲姟鐩爣鍦板潃鍜岃矾寰勬槸鍚︽弧瓒崇壒瀹氭潯浠�
-                        if ((task.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001") && task.Roadway.Contains("JZ"))
+                        if (((task.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001") && task.Roadway.Contains("JZ"))|| task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm)
                         {
                             // 璁剧疆浠诲姟鐘舵�佷负鍑哄簱鏂板缓
                             task.TaskState = (int)TaskOutStatusEnum.OutNew;
@@ -266,6 +266,17 @@
         /// <param name="deviceNo">璁惧缂栧彿</param>
         /// <param name="currentAddress">褰撳墠鍦板潃</param>
         /// <returns></returns>
+        public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress,string Barcode)
+        {
+            return 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);
+        }
+
+        /// <summary>
+        /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
+        /// </summary>
+        /// <param name="deviceNo">璁惧缂栧彿</param>
+        /// <param name="currentAddress">褰撳墠鍦板潃</param>
+        /// <returns></returns>
         public Dt_Task QueryNextConveyorLineTask(string deviceNo, string currentAddress)
         {
             return BaseDal.QueryFirst(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)) && x.NextAddress == currentAddress, TaskOrderBy);
@@ -291,6 +302,28 @@
         public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress)
         {
             return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
+        }
+
+        /// <summary>
+        /// 鏍规嵁浠诲姟鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <param name="nextAddress">涓嬩竴鍦板潃</param>
+        /// <returns></returns>
+        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), TaskOrderBy);
+        }
+
+        /// <summary>
+        /// 鏍规嵁鎵樼洏鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <param name="nextAddress">涓嬩竴鍦板潃</param>
+        /// <returns></returns>
+        public Dt_Task QueryExecutingConveyorLineTask(string nextAddress, string Barcode)
+        {
+            return BaseDal.QueryFirst(x => (x.NextAddress == nextAddress||x.TargetAddress==nextAddress) && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
         }
 
         /// <summary>
@@ -549,9 +582,15 @@
                         // 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
                         content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
 
+
+                        QuartzLogger.WriteLogToFile($"Info_鑾峰彇璐т綅", $"鑾峰彇璐т綅,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙凤細銆恵task.PalletCode}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}");
+
+
                         // 妫�鏌ョ姸鎬佸苟杩斿洖
                         if (!content.Status)
+                        {
                             return content;
+                        }
 
                         // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
                         var taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
@@ -687,18 +726,24 @@
                 var wmsIpAddress = wmsBase + completeTask;
 
                 var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result;
-                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
-                if (!content.Data.IsNullOrEmpty())
-                {
-                    if (content.Data.ToString() == "NG")
-                    {
-                        task.Remark = "NG";
-                        //BaseDal.UpdateData(task);
-                        //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴愶紝MOM杩斿洖NG");
-                    }
-                }
-                task.ExceptionMessage += "   " + content.Message;
 
+                QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(result)}銆憑Environment.NewLine}{Environment.NewLine}");
+                if(result != null)
+                {
+
+                    content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+                    if (!content.Data.IsNullOrEmpty())
+                    {
+                        if (content.Data.ToString() == "NG")
+                        {
+                            task.Remark = "NG";
+                            //BaseDal.UpdateData(task);
+                            //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴愶紝MOM杩斿洖NG");
+                        }
+                    }
+                    task.ExceptionMessage += "   " + content.Message;
+
+                }
                 #endregion WMS鍚屾浠诲姟瀹屾垚
 
                 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
@@ -769,7 +814,7 @@
             catch (Exception ex)
             {
                 content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�");
-                QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戝紓甯镐俊鎭�恵ex.Message}銆憑Environment.NewLine}{Environment.NewLine}");
+                QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戝紓甯镐俊鎭�恵ex.StackTrace}銆憑Environment.NewLine}{Environment.NewLine}");
             }
             QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}");
             return content;
@@ -869,6 +914,10 @@
         {
             return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskStatus.Created);
         }
+        public Dt_Task QueryOutFireAlarmTask(string deviceNo)
+        {
+            return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm && x.TaskState == (int)TaskOutStatusEnum.OutNew);
+        }
 
         public Dt_Task QueryExecutingTaskByBarcode(string barcode, string nextAddress)
         {

--
Gitblit v1.9.3