using JSMachine.WMS.App.Dto; using JSMachine.WMS.App.Dto.Enum; using JSMachine.WMS.App.IService; using JSMachine.WMS.App.ServiceImpl; using JSMachine.WMS.Business.RcsCallBack.IService.StaePattern; using JSMachine.WMS.RPC.RcsRPC.Dto.In; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JSMachine.WMS.Business.RcsCallBack.ServiceImpl.StatePattern { /// /// agv任务执行失败处理器 /// public class FailedStateHandler : IAgvTaskStateHandler { private readonly IAGVTaskService _agvTaskService; /// 创建失败状态处理器。 /// AGV 任务持久化服务。 public FailedStateHandler(IAGVTaskService agvTaskService) { _agvTaskService=agvTaskService; } /// 将当前 AGV 任务标记为失败并保存状态。 /// RCS 执行信息。 /// 待更新的 AGV 任务。 /// 目标库位。 /// 状态更新是否成功。 public async Task HandleAsync(AgvExcutionInfo agvExcutionInfo, AGVTaskDto agvTask, StorageRackDto destWarehouse) { agvTask.TaskStatus = TaskStatusEnum.Failed; return await _agvTaskService.UpdateAgvTaskStatus(agvTask); } } }