|
@ -1,5 +1,6 @@ |
|
|
package com.iflytop.sgs.app.cmd.control; |
|
|
package com.iflytop.sgs.app.cmd.control; |
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.lang.Assert; |
|
|
import com.iflytop.sgs.app.core.BaseCommandHandler; |
|
|
import com.iflytop.sgs.app.core.BaseCommandHandler; |
|
|
import com.iflytop.sgs.app.model.bo.Point3D; |
|
|
import com.iflytop.sgs.app.model.bo.Point3D; |
|
|
import com.iflytop.sgs.app.model.dto.CmdDTO; |
|
|
import com.iflytop.sgs.app.model.dto.CmdDTO; |
|
@ -10,6 +11,8 @@ import com.iflytop.sgs.app.service.device.module.TransferModuleService; |
|
|
import com.iflytop.sgs.common.annotation.CommandMapping; |
|
|
import com.iflytop.sgs.common.annotation.CommandMapping; |
|
|
import com.iflytop.sgs.common.enums.HeatModuleCode; |
|
|
import com.iflytop.sgs.common.enums.HeatModuleCode; |
|
|
import com.iflytop.sgs.common.enums.data.DevicePositionCode; |
|
|
import com.iflytop.sgs.common.enums.data.DevicePositionCode; |
|
|
|
|
|
import com.iflytop.sgs.common.exception.AppException; |
|
|
|
|
|
import com.iflytop.sgs.common.result.ResultCode; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.stereotype.Component; |
|
|
import org.springframework.stereotype.Component; |
|
@ -32,13 +35,12 @@ public class MoveToHeatAreaCommand extends BaseCommandHandler { |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public CompletableFuture<Void> handle(CmdDTO cmdDTO) throws Exception { |
|
|
public CompletableFuture<Void> handle(CmdDTO cmdDTO) throws Exception { |
|
|
if (!deviceStateService.getDeviceState().getTransferModule().isTrayStatus()) { //判断机械臂上是否有托盘 |
|
|
|
|
|
//TODO 判断目标加热模块传感器是否有托盘,如果有托盘的话提示错误 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String targetHeatModuleCodeStr = cmdDTO.getStringParam("heatModuleCode"); |
|
|
String targetHeatModuleCodeStr = cmdDTO.getStringParam("heatModuleCode"); |
|
|
HeatModuleCode targetHeatModuleCode = HeatModuleCode.valueOf(targetHeatModuleCodeStr);//目标加热模块 |
|
|
HeatModuleCode targetHeatModuleCode = HeatModuleCode.valueOf(targetHeatModuleCodeStr);//目标加热模块 |
|
|
|
|
|
if (!deviceStateService.getDeviceState().getTransferModule().isTrayStatus()) { //判断机械臂上是否有托盘 |
|
|
|
|
|
Assert.isTrue(!deviceStateService.getDeviceState().getHeatModuleByCode(targetHeatModuleCode).isTrayStatus(), () -> new AppException(ResultCode.TARGET_HEAT_MODULE_NO_TRAY));//目标加热区有托盘 |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
Point3D targetHeatModuleTrayClawPoint3D = heatModuleService.getHeatModuleTrayClawPoint3D(targetHeatModuleCode);//获取目标加热模块托盘夹取点 |
|
|
Point3D targetHeatModuleTrayClawPoint3D = heatModuleService.getHeatModuleTrayClawPoint3D(targetHeatModuleCode);//获取目标加热模块托盘夹取点 |
|
|
Double transferModuleXPickTrayMoveDistance = devicePositionService.getPosition(DevicePositionCode.transferModuleXPickTrayMoveDistance).getDistance();//获取转运模块X轴拿取托盘进出卡槽移动距离 |
|
|
Double transferModuleXPickTrayMoveDistance = devicePositionService.getPosition(DevicePositionCode.transferModuleXPickTrayMoveDistance).getDistance();//获取转运模块X轴拿取托盘进出卡槽移动距离 |
|
|
Double transferModuleZPickTrayDownPositon = devicePositionService.getPosition(DevicePositionCode.transferModuleZPickTrayDownPositon).getPositon();//获取转运模块Z轴拿取托盘时下降的高度位置 |
|
|
Double transferModuleZPickTrayDownPositon = devicePositionService.getPosition(DevicePositionCode.transferModuleZPickTrayDownPositon).getPositon();//获取转运模块Z轴拿取托盘时下降的高度位置 |
|
|