From 8c0e2ca5bc6153ba0bd894523b8f6047941edab2 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期六, 11 十月 2025 16:21:47 +0800
Subject: [PATCH] 优化任务查询与信号处理逻辑,添加二进制文件在多个文件中优化任务查询与信号处理逻辑: - `TaskService.cs`:`QueryExecutingConveyorLineTask` 方法新增托盘码校验。 - `CommonConveyorLine_BZJob.cs`:新增信号读取与在途数据处理逻辑。 - `CommonConveyorLine_CWJob.cs`:新增站点查询与信号处理逻辑。 - `CommonConveyorLine_GWJob.cs` 和 `CommonConveyorLine_NewCWJob.cs`:   - 删除冗余注释代码。   - 增加站点查询与信号处理逻辑。 - 添加多个二进制文件:`CodeChunks.db`、`SemanticSymbols.db` 等。

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 372ef2a..14d13d7 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -4,6 +4,7 @@
 using Newtonsoft.Json;
 using SqlSugar;
 using System.Diagnostics.CodeAnalysis;
+using System.Threading.Tasks;
 using WIDESEAWCS_BasicInfoRepository;
 using WIDESEAWCS_BasicInfoService;
 using WIDESEAWCS_Common;
@@ -19,9 +20,12 @@
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_QuartzJob.Models;
 using WIDESEAWCS_QuartzJob.Repository;
 using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_TaskInfoRepository;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
 
 namespace WIDESEAWCS_TaskInfoService
 {
@@ -181,7 +185,7 @@
             catch (Exception ex)
             {
                 // 鎹曡幏寮傚父骞惰缃繑鍥炵粨鏋滀负閿欒淇℃伅
-                content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}");
+                content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}杩斿洖鏁版嵁琛寋ex.StackTrace}");
             }
             // 杩斿洖缁撴灉
             return content;
@@ -201,7 +205,15 @@
                 var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
                 if (hasTask != null)
                 {
-                    return content.OK("褰撳墠鎵樼洏瀛樺湪浠诲姟");
+                    var taskExecuting = BaseDal.QueryFirst(x => x.PalletCode == palletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting);
+
+                    if (taskExecuting != null)
+                    {
+                        taskExecuting.ExceptionMessage = "鏈帴鏀跺埌绾夸綋瀹屾垚淇″彿绯荤粺鍐呴儴鑷姩瀹屾垚";
+                        Delete(taskExecuting);
+                    }
+                    ConsoleHelper.WriteErrorLine($"褰撳墠鎵樼洏瀛樺湪浠诲姟锛氥�恵palletCode}銆�"); 
+                    QuartzLogger.WriteLogToFile($"浠诲姟寮傚父鏈畬鎴�", $"褰撳墠鎵樼洏瀛樺湪浠诲姟锛氥�恵palletCode}銆憑Environment.NewLine}");
                 }
 
                 var wmsIpAddrss = string.Empty;
@@ -245,6 +257,7 @@
             }
             catch (Exception ex)
             {
+                QuartzLogger.WriteLogToFile($"鎺ユ敹浠诲姟寮傚父", $"鎵樼洏鍙凤細銆恵palletCode}銆戣姹傜偣浣嶏細銆恵sourceAddress}銆戝紓甯镐俊鎭�恵ex.Message}銆戝紓甯歌銆恵ex.StackTrace}銆�");
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
@@ -335,7 +348,7 @@
         /// <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);
+            return BaseDal.QueryFirst(x => x.PalletCode == Barcode && (x.NextAddress == nextAddress || x.TargetAddress == nextAddress) && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
         }
 
         /// <summary>
@@ -760,7 +773,7 @@
 
                 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                 {
-                    if (!task.Roadway.Contains("GW"))
+                    if (!task.Roadway.Contains("GW") && task.TaskType != (int)TaskOutboundTypeEnum.InToOut)
                     {
                         var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
                         if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");

--
Gitblit v1.9.3