| | |
| | | // 从数据库重新查询当前任务(确保获取最新状态) |
| | | var task = await _robotTaskService.Repository.QueryFirstAsync(x => x.RobotTaskId == state.CurrentTask.RobotTaskId); |
| | | |
| | | if (task != null) |
| | | { |
| | | // 根据命令前缀分发处理 |
| | | if (cmd.StartsWith("pickfinished")) |
| | | { |
| | |
| | | |
| | | // 回写原消息到客户端(保持原有行为) |
| | | await _socketClientGateway.SendMessageAsync(client, message); |
| | | } |
| | | else |
| | | { |
| | | Console.WriteLine($"RobotJob HandleAsync Warning: Current task not found for RobotTaskId {state.CurrentTask.RobotTaskId}"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | putSuccess = result.Data.Status && result.IsSuccess; |
| | | |
| | | // 增加任务计数 |
| | | if (!state.IsScanNG) |
| | | { |
| | | state.RobotTaskTotalNum += positions.Length; |
| | | if (task != null) |
| | | task.RobotTaskTotalNum -= positions.Length; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | // 更新当前动作为"放货完成" |
| | | state.CurrentAction = "PutFinished"; |
| | | state.IsScanNG = false; |
| | | |
| | | // 非组盘任务时增加计数(组盘任务已在上面递增) |
| | | if (!state.IsGroupPallet) |
| | |
| | | state.RobotTaskTotalNum += positions.Length; |
| | | if (task != null) |
| | | task.RobotTaskTotalNum -= positions.Length; |
| | | } |
| | | } |
| | | |
| | | // 如果任务存在 |
| | |
| | | } |
| | | } |
| | | } |
| | | } |