From d2530aa168e1f3f818bc642d05e99b74c6fffe2e Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 06 六月 2025 09:45:57 +0800
Subject: [PATCH] 1

---
 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   67 ++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index dc8df68..aca3145 100644
--- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -94,7 +94,7 @@
                     // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄嚭搴撲换鍔�
                     if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                     {
-                        if ((task.Roadway == "1326"||task.Roadway == "1529" )&& ( task.TaskType == (int)TaskOutboundTypeEnum.OutTray|| task.TaskType == (int)TaskOutboundTypeEnum.InToOut))
+                        if ((task.Roadway == "2000"||task.Roadway == "1529" )&& ( task.TaskType == (int)TaskOutboundTypeEnum.OutTray|| task.TaskType == (int)TaskOutboundTypeEnum.InToOut))
                         {
                             // 璁剧疆浠诲姟鐘舵�佷负鍑哄簱鏂板缓
                             //task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
@@ -104,7 +104,7 @@
                             task.NextAddress = item.TargetAddress;
                         }
                         // 鍒ゆ柇浠诲姟鐩爣鍦板潃鍜岃矾寰勬槸鍚︽弧瓒崇壒瀹氭潯浠�
-                        else if ((task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001") && (task.Roadway.Contains("JZ")|| task.Roadway.Contains("CH")))
+                        else if (((task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001") && (task.Roadway.Contains("JZ")|| task.Roadway.Contains("CH")))|| task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm)
                         {
                             // 璁剧疆浠诲姟鐘舵�佷负鍑哄簱鏂板缓
                             task.TaskState = (int)TaskOutStatusEnum.OutNew;
@@ -291,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>
@@ -322,6 +333,11 @@
         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);
+        }
+
+        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>
@@ -745,8 +761,27 @@
 
                 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                 {
-                    if (!task.Roadway.Contains("GW"))
+                    if (task.Roadway.Contains("GW") || (task.Roadway.Contains("JZ") && task.TaskType == (int)TaskOutboundTypeEnum.OutTray))
                     {
+                        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
+                        //濡傞珮娓╁嚭搴撳悗 NG 鍒欏皢浠诲姟鏍囪涓篘G 骞跺湪鍑哄簱鐢宠鍚庡皢浠诲姟鍑鸿嚦NG鍙�
+                        if (task.Remark == "NG")
+                        {
+                            BaseDal.UpdateData(task);
+                        }
+                        else
+                        {
+                            BaseDal.DeleteData(task);
+                            ConsoleHelper.WriteWarningLine($"{(task.Roadway.Contains("GW")? "楂樻俯":"闈欑疆")}鍑哄簱鐩殑鍦板潃{task.TargetAddress}");
+                        }
+
+                        var taskHty = task.Adapt<Dt_Task_Hty>();
+                        _taskHtyRepository.AddData(taskHty);
+                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
+                    }
+                    else
+                    {
+
                         var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
                         if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
 
@@ -760,25 +795,6 @@
 
                         _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
                     }
-                    else
-                    {
-                        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
-                        //濡傞珮娓╁嚭搴撳悗 NG 鍒欏皢浠诲姟鏍囪涓篘G 骞跺湪鍑哄簱鐢宠鍚庡皢浠诲姟鍑鸿嚦NG鍙�
-                        if (task.Remark == "NG")
-                        {
-                            BaseDal.UpdateData(task);
-                        }
-                        else
-                        {
-                            BaseDal.DeleteData(task);
-                            ConsoleHelper.WriteWarningLine($"楂樻俯鍑哄簱鐩殑鍦板潃{task.TargetAddress}");
-                        }
-
-                        var taskHty = task.Adapt<Dt_Task_Hty>();
-                        _taskHtyRepository.AddData(taskHty);
-                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
-                    }
-
                     //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙�
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
@@ -811,7 +827,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;
@@ -912,6 +928,11 @@
             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)
         {
             return BaseDal.QueryFirst(x => x.PalletCode == barcode && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);

--
Gitblit v1.9.3