| | |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core.LogHelper; |
| | | using WIDESEAWCS_Tasks.Workflow.Abstractions; |
| | | |
| | | namespace WIDESEAWCS_Tasks.Workflow |
| | |
| | | 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> |
| | |
| | | |
| | | // 机器人正在回零 |
| | | case "homing": |
| | | state.OperStatus = "Homing"; |
| | | state.Homed = "Homing"; |
| | | return true; |
| | | |
| | | // 机器人已完成回零 |
| | | case "homed": |
| | | state.OperStatus = "Homed"; |
| | | state.Homed = "Homed"; |
| | | return true; |
| | | |
| | | // 机器人正在运行 |
| | |
| | | { |
| | | // 入库成功,删除任务记录 |
| | | _taskProcessor.DeleteTask(currentTask.RobotTaskId); |
| | | await _socketClientGateway.SendToClientAsync(state.IPAddress, $"Swap,diskFinished"); |
| | | QuartzLogger.Info($"发送消息:【Swap,diskFinished】", state.RobotCrane.DeviceName); |
| | | return true; |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |