|
|
@ -5,12 +5,15 @@ import com.iflytop.gd.app.core.SelfMoveTestGenerator; |
|
|
|
import com.iflytop.gd.app.model.bo.Point3D; |
|
|
|
import com.iflytop.gd.app.model.dto.CmdDTO; |
|
|
|
import com.iflytop.gd.app.service.api.DevicePositionService; |
|
|
|
import com.iflytop.gd.app.service.device.DeviceStateService; |
|
|
|
import com.iflytop.gd.app.service.device.module.CapModuleService; |
|
|
|
import com.iflytop.gd.app.service.device.module.GantryModuleService; |
|
|
|
import com.iflytop.gd.app.service.device.module.SolutionModuleService; |
|
|
|
import com.iflytop.gd.app.ws.server.WebSocketSender; |
|
|
|
import com.iflytop.gd.common.annotation.CommandMapping; |
|
|
|
import com.iflytop.gd.common.enums.data.DevicePositionCode; |
|
|
|
import com.iflytop.gd.common.exception.AppException; |
|
|
|
import com.iflytop.gd.common.result.ResultCode; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
@ -29,15 +32,20 @@ public class MoveTestCommand extends BaseCommandHandler { |
|
|
|
private final SolutionModuleService solutionModuleService; |
|
|
|
private final DevicePositionService devicePositionService; |
|
|
|
private final CapModuleService capModuleService; |
|
|
|
|
|
|
|
private final DeviceStateService deviceStateService; |
|
|
|
private final WebSocketSender webSocketService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public CompletableFuture<Void> handle(CmdDTO cmdDTO) { |
|
|
|
if (deviceStateService.getCommandMutexState().get().isMoveTest()) { |
|
|
|
throw new AppException(ResultCode.COMMAND_ALREADY_EXECUTING); |
|
|
|
} |
|
|
|
Point3D liquidAreaTrayPoint3D = devicePositionService.getPosition(DevicePositionCode.liquidAreaTrayPoint).getPoint3D();//获取加液模块上方点位 |
|
|
|
Double solutionModuleTrayMoveHeight = devicePositionService.getPosition(DevicePositionCode.solutionModuleTrayMoveHeight).getDistance();//加液模块托盘z轴移动高度 |
|
|
|
|
|
|
|
deviceStateService.getCommandMutexState().get().setMoveTest(true); |
|
|
|
return runAsync(() -> { |
|
|
|
try{ |
|
|
|
webSocketService.pushSelfMoveTest(SelfMoveTestGenerator.generateJson(cmdDTO.getCommandId(), cmdDTO.getCommand(), "1、各项传感器正常", 15)); |
|
|
|
//移动xy到加液模块 |
|
|
|
gantryModuleService.gantryMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), liquidAreaTrayPoint3D); |
|
|
@ -65,6 +73,9 @@ public class MoveTestCommand extends BaseCommandHandler { |
|
|
|
solutionModuleService.dualRobotMovePoint(16); |
|
|
|
solutionModuleService.dualRobotOrigin(); |
|
|
|
webSocketService.pushSelfMoveTest(SelfMoveTestGenerator.generateJson(cmdDTO.getCommandId(), cmdDTO.getCommand(), "7、加液机械臂检测完毕", 100)); |
|
|
|
}finally { |
|
|
|
deviceStateService.getCommandMutexState().get().setMoveTest(false); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|