wanshenmean
14 小时以前 f288ccc545f8cc32bc922c96dfb3cab9a1f92ec6
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/RobotJob.cs
@@ -7,6 +7,8 @@
using WIDESEAWCS_Core.LogHelper;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Tasks.SocketServer;
using WIDESEAWCS_Tasks.Workflow;
using WIDESEAWCS_Tasks.Workflow.Abstractions;
@@ -95,19 +97,20 @@
        /// <param name="tcpSocket">TCP Socket 服务器实例</param>
        /// <param name="robotTaskService">机器人任务服务</param>
        /// <param name="taskService">通用任务服务</param>
        /// <param name="cache">缓存服务</param>
        /// <param name="robotStateRepository">机器人状态仓储</param>
        /// <param name="httpClientHelper">HTTP 客户端帮助类,用于调用 WMS 接口</param>
        /// <param name="logger">日志记录器</param>
        public RobotJob(
            TcpSocketServer tcpSocket,
            IRobotTaskService robotTaskService,
            ITaskService taskService,
            ICacheService cache,
            IRobotStateRepository robotStateRepository,
            HttpClientHelper httpClientHelper,
            ILogger<RobotJob> logger)
            ILogger<RobotJob> logger,
            IFakeBatteryPositionService fakeBatteryPositionService)
        {
            // 初始化状态管理器,传入缓存服务
            _stateManager = new RobotStateManager(cache, _logger);
            // 初始化状态管理器,传入仓储服务
            _stateManager = new RobotStateManager(robotStateRepository, _logger);
            _logger = logger;
            // 创建 Socket 网关,封装 TcpSocketServer 的访问
@@ -115,7 +118,7 @@
            ISocketClientGateway socketGateway = new SocketClientGateway(tcpSocket);
            // 初始化任务处理器
            _taskProcessor = new RobotTaskProcessor(socketGateway, _stateManager, robotTaskService, taskService, httpClientHelper, _logger);
            _taskProcessor = new RobotTaskProcessor(socketGateway, _stateManager, robotTaskService, taskService, httpClientHelper, _logger, fakeBatteryPositionService);
            // 初始化客户端管理器
            _clientManager = new RobotClientManager(tcpSocket, _stateManager, _logger);
@@ -124,10 +127,10 @@
            // 简单命令处理器:处理状态更新等简单命令
            var simpleCommandHandler = new RobotSimpleCommandHandler(_taskProcessor, socketGateway);
            // 前缀命令处理器:处理 pickfinished、putfinished 等带参数的命令
            var prefixCommandHandler = new RobotPrefixCommandHandler(robotTaskService, _taskProcessor, _stateManager, socketGateway);
            var prefixCommandHandler = new RobotPrefixCommandHandler(robotTaskService, _taskProcessor, _stateManager, socketGateway, fakeBatteryPositionService);
            // 初始化消息路由器
            _messageRouter = new RobotMessageHandler(socketGateway, _stateManager, cache, simpleCommandHandler, prefixCommandHandler, logger);
            _messageRouter = new RobotMessageHandler(socketGateway, _stateManager, simpleCommandHandler, prefixCommandHandler, logger);
            // 初始化工作流编排器
            _workflowOrchestrator = new RobotWorkflowOrchestrator(_stateManager, _clientManager, _taskProcessor, robotTaskService, _logger);