wanshenmean
8 天以前 adb4016b5eb5b119a899480c321be996d9bf10bd
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/Workflow/RobotSimpleCommandHandler.cs
@@ -1,4 +1,5 @@
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core.LogHelper;
using WIDESEAWCS_Tasks.Workflow.Abstractions;
namespace WIDESEAWCS_Tasks.Workflow
@@ -26,12 +27,21 @@
        private readonly RobotTaskProcessor _taskProcessor;
        /// <summary>
        /// Socket 网关
        /// </summary>
        /// <remarks>
        /// 用于向客户端发送响应消息。
        /// </remarks>
        private readonly ISocketClientGateway _socketClientGateway;
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="taskProcessor">任务处理器实例</param>
        public RobotSimpleCommandHandler(RobotTaskProcessor taskProcessor)
        public RobotSimpleCommandHandler(RobotTaskProcessor taskProcessor, ISocketClientGateway socketClientGateway)
        {
            _taskProcessor = taskProcessor;
            _socketClientGateway = socketClientGateway;
        }
        /// <summary>
@@ -71,12 +81,12 @@
                // 机器人正在回零
                case "homing":
                    state.OperStatus = "Homing";
                    state.Homed = "Homing";
                    return true;
                // 机器人已完成回零
                case "homed":
                    state.OperStatus = "Homed";
                    state.Homed = "Homed";
                    return true;
                // 机器人正在运行
@@ -137,6 +147,8 @@
                        {
                            // 入库成功,删除任务记录
                            _taskProcessor.DeleteTask(currentTask.RobotTaskId);
                                await _socketClientGateway.SendToClientAsync(state.IPAddress, $"Swap,diskFinished");
                                QuartzLogger.Info($"发送消息:【Swap,diskFinished】", state.RobotCrane.DeviceName);
                            return true;
                        }
                    }
@@ -173,6 +185,9 @@
                            state.CurrentTask = null;           // 清除当前任务
                            state.RobotTaskTotalNum = 0;        // 重置任务计数
                            state.CellBarcode = new List<string>();  // 清空条码列表
                                await _socketClientGateway.SendToClientAsync(state.IPAddress, $"Group,diskFinished");
                                QuartzLogger.Info($"发送消息:【Group,diskFinished】", state.RobotCrane.DeviceName);
                            return true;
                        }
                    }