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 | 68 +++++++++++++++++++++------------
1 files changed, 43 insertions(+), 25 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 691bde5..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");
}
}
@@ -270,28 +280,36 @@
// 鎹㈢洏浠诲姟锛氭牴鎹樁娈靛尯鍒嗗鐞�
if (state.ChangePalletPhase == 2)
{
- if (isFlowA)
- {
- // 娴佸悜A Phase2锛氭斁鍋囩數鑺埌鐩爣鎵樼洏锛屼笉璋冪敤 API锛屼笉閫掑璁℃暟
- // 浠呮洿鏂扮姸鎬�
- }
- else
- {
- // 娴佸悜B Phase2锛氭斁姝e父鐢佃姱锛岄�掑璁℃暟
- state.RobotTaskTotalNum += positions.Length;
- if (task != null)
- task.RobotTaskTotalNum -= positions.Length;
+ // Phase 2锛氭斁姝e父鐢佃姱鍒扮洰鏍囨墭鐩樺畬鎴愶紝閫掑璁℃暟
+ state.RobotTaskTotalNum += positions.Length;
+ if (task != null)
+ task.RobotTaskTotalNum -= positions.Length;
- // 鏋勫缓搴撳瓨 DTO 骞惰皟鐢� ChangePalletAsync 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;
}
else if (state.ChangePalletPhase == 4)
{
- // 娴佸悜B Phase4锛氭斁鍋囩數鑺埌5鍙蜂綅锛屼笉璋冪敤 API锛屼笉閫掑璁℃暟锛岄噴鏀剧偣浣�
- _fakeBatteryPositionService.MarkAsAvailable(positions.ToList());
+ if (isFlowA)
+ {
+ // 娴佸悜A锛氭斁鍋囩數鑺埌鐩爣鎵樼洏锛屼粎閫掑璁℃暟锛屼笉璋冪敤 API
+ state.RobotTaskTotalNum += positions.Length;
+ if (task != null)
+ task.RobotTaskTotalNum -= positions.Length;
+ }
+ else
+ {
+ // 娴佸悜B锛氭斁鍋囩數鑺埌5鍙蜂綅锛岄噴鏀剧偣浣�
+ _fakeBatteryPositionService.MarkAsAvailable(positions.ToList());
+ }
+
+ // 鍒囧洖 Phase 3锛岀户缁彇鍋囩數鑺�
+ state.ChangePalletPhase = 3;
}
else
{
@@ -352,4 +370,4 @@
}
}
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3