From 627371d0ffdf50239313f2c86d022a0c5c69550d Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 21 四月 2026 19:43:46 +0800
Subject: [PATCH] refactor(logging): 重构日志记录模块,统一使用Serilog和QuartzLogHelper

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotPrefixCommandHandler.cs |   45 ++++++++++++++++++++++-----------------------
 1 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotPrefixCommandHandler.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotPrefixCommandHandler.cs
index e365ffb..cf749d9 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotPrefixCommandHandler.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotPrefixCommandHandler.cs
@@ -1,7 +1,9 @@
 using System.Net.Sockets;
+using Serilog;
 using WIDESEAWCS_Common.HttpEnum;
 using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core.LogHelper;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_Tasks.Workflow.Abstractions;
@@ -66,6 +68,11 @@
         private readonly IFakeBatteryPositionService _fakeBatteryPositionService;
 
         /// <summary>
+        /// 鏃ュ織璁板綍鍣�
+        /// </summary>
+        private readonly ILogger _logger;
+
+        /// <summary>
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="robotTaskService">浠诲姟鏈嶅姟</param>
@@ -73,18 +80,21 @@
         /// <param name="stateManager">鐘舵�佺鐞嗗櫒</param>
         /// <param name="socketClientGateway">Socket 缃戝叧</param>
         /// <param name="fakeBatteryPositionService">鍋囩數鑺綅缃湇鍔�</param>
+        /// <param name="logger">鏃ュ織璁板綍鍣�</param>
         public RobotPrefixCommandHandler(
             IRobotTaskService robotTaskService,
             RobotTaskProcessor taskProcessor,
             RobotStateManager stateManager,
             ISocketClientGateway socketClientGateway,
-            IFakeBatteryPositionService fakeBatteryPositionService)
+            IFakeBatteryPositionService fakeBatteryPositionService,
+            ILogger logger)
         {
             _robotTaskService = robotTaskService;
             _taskProcessor = taskProcessor;
             _stateManager = stateManager;
             _socketClientGateway = socketClientGateway;
             _fakeBatteryPositionService = fakeBatteryPositionService;
+            _logger = logger;
         }
 
         /// <summary>
@@ -126,7 +136,7 @@
                 var parts = message.Split(',');
 
                 // 妫�鏌ユ秷鎭牸寮忔槸鍚︽湁鏁堬細鑷冲皯瑕佹湁鍛戒护鍓嶇紑锛屼笖鐘舵�佷腑鏈夊綋鍓嶄换鍔�
-                if (parts.Length < 1 || state.CurrentTask == null)
+                if (parts.Length < 1)
                 {
                     return;
                 }
@@ -143,7 +153,7 @@
                     .ToArray();
 
                 // 浠庢暟鎹簱閲嶆柊鏌ヨ褰撳墠浠诲姟锛堢‘淇濊幏鍙栨渶鏂扮姸鎬侊級
-                var task = await _robotTaskService.Repository.QueryFirstAsync(x => x.RobotTaskId == state.CurrentTask.RobotTaskId);
+                var task = await _robotTaskService.Repository.QueryFirstAsync(x => x.RobotTaskState == TaskRobotStatusEnum.RobotExecuting.GetHashCode() && x.RobotRoadway == state.RobotCrane.DeviceName);
 
                 if (task != null)
                 {
@@ -164,13 +174,13 @@
                 }
                 else
                 {
-                    Console.WriteLine($"RobotJob HandleAsync Warning: Current task not found for RobotTaskId {state.CurrentTask.RobotTaskId}");
+                    QuartzLogHelper.LogWarn(_logger, $"RobotJob HandleAsync Warning: Current task not found for RobotTaskId {state.CurrentTask.RobotTaskId}", state.RobotCrane?.DeviceName ?? "Unknown");
                 }
             }
             catch (Exception ex)
             {
                 // 鎹曡幏骞惰褰曞紓甯革紝闃叉寮傚父鍚戜笂浼犳挱瀵艰嚧娑堟伅澶勭悊涓柇
-                Console.WriteLine($"RobotJob MessageReceived Error: {ex.Message}");
+                QuartzLogHelper.LogError(_logger, ex, $"RobotJob MessageReceived Error: {ex.Message}", $"RobotJob MessageReceived Error: {ex.Message}", state.RobotCrane?.DeviceName ?? "Unknown");
             }
         }
 
@@ -275,17 +285,10 @@
                         if (task != null)
                             task.RobotTaskTotalNum -= positions.Length;
 
-                        if (isFlowA)
-                        {
-                            // 娴佸悜A锛氫笉璋冪敤 API锛屼粎閫掑璁℃暟
-                        }
-                        else
-                        {
-                            // 娴佸悜B锛氳皟鐢ㄦ崲鐩� API
-                            var stockDTO = RobotTaskProcessor.BuildStockDTO(state, positions);
-                            var result = _taskProcessor.PostGroupPalletAsync(nameof(ConfigKey.ChangePalletAsync), stockDTO);
-                            putSuccess = result.Data.Status && result.IsSuccess;
-                        }
+                        // 涓ゆ祦鍚戝潎璋冪敤鎹㈢洏 API
+                        var stockDTO = RobotTaskProcessor.BuildStockDTO(state, positions);
+                        var result = _taskProcessor.PostGroupPalletAsync(nameof(ConfigKey.ChangePalletAsync), stockDTO);
+                        putSuccess = result.Data.Status && result.IsSuccess;
 
                         // 鍒囧洖 Phase 1锛岀户缁彇姝e父鐢佃姱
                         state.ChangePalletPhase = 1;
@@ -294,14 +297,10 @@
                     {
                         if (isFlowA)
                         {
-                            // 娴佸悜A锛氭斁鍋囩數鑺埌鐩爣鎵樼洏锛岄�掑璁℃暟锛岃皟鐢ㄦ崲鐩� API
+                            // 娴佸悜A锛氭斁鍋囩數鑺埌鐩爣鎵樼洏锛屼粎閫掑璁℃暟锛屼笉璋冪敤 API
                             state.RobotTaskTotalNum += positions.Length;
                             if (task != null)
                                 task.RobotTaskTotalNum -= positions.Length;
-
-                            var stockDTO = RobotTaskProcessor.BuildStockDTO(state, positions);
-                            var result = _taskProcessor.PostGroupPalletAsync(nameof(ConfigKey.ChangePalletAsync), stockDTO);
-                            putSuccess = result.Data.Status && result.IsSuccess;
                         }
                         else
                         {
@@ -371,4 +370,4 @@
             }
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3