From 00aa1020e994dc636d1994ce315e67f2079fc1ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Wed, 14 May 2025 20:16:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0TODO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iflytop/gd/app/cmd/DoorCloseCommand.java | 2 +- .../gd/app/cmd/DualRobotJointOriginCommand.java | 2 +- .../iflytop/gd/app/cmd/GantryOriginCommand.java | 48 ++++++++++++++++++++++ .../iflytop/gd/app/cmd/GantryXOriginCommand.java | 47 --------------------- .../com/iflytop/gd/app/cmd/HeatStartCommand.java | 1 + .../iflytop/gd/app/cmd/MoveToHeatAreaCommand.java | 3 ++ .../com/iflytop/gd/app/cmd/SolutionAddCommand.java | 1 + 7 files changed, 55 insertions(+), 49 deletions(-) create mode 100644 src/main/java/com/iflytop/gd/app/cmd/GantryOriginCommand.java delete mode 100644 src/main/java/com/iflytop/gd/app/cmd/GantryXOriginCommand.java diff --git a/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java b/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java index 4b5bb53..9457c54 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java @@ -24,7 +24,7 @@ public class DoorCloseCommand extends BaseCommandHandler { private final DeviceCommandUtilService deviceCommandUtilService; private final DeviceStateService deviceStateService; - + //TODO 关门时不再询问用户拿走还是放入托盘,增加传感器或者摄像头来监听,现在先改成添加溶液和移至加热的时候询问 @Override public CompletableFuture handle(CmdDTO cmdDTO) { return runAsync(() -> { diff --git a/src/main/java/com/iflytop/gd/app/cmd/DualRobotJointOriginCommand.java b/src/main/java/com/iflytop/gd/app/cmd/DualRobotJointOriginCommand.java index a0ff635..71feef5 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/DualRobotJointOriginCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/DualRobotJointOriginCommand.java @@ -27,7 +27,7 @@ public class DualRobotJointOriginCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) { return runAsync(() -> { - //加液臂电机使能 + //加液臂电机使能 TODO将来干掉 liquidDistributionArmDriver.liquidDistributionArmEnable(LiquidArmMId.LiquidDistributionArm, 1); //将加液臂移动至0位 liquidDistributionArmDriver.liquidDistributionArmMoveTo(LiquidArmMId.LiquidDistributionArm, 0); diff --git a/src/main/java/com/iflytop/gd/app/cmd/GantryOriginCommand.java b/src/main/java/com/iflytop/gd/app/cmd/GantryOriginCommand.java new file mode 100644 index 0000000..ee520d3 --- /dev/null +++ b/src/main/java/com/iflytop/gd/app/cmd/GantryOriginCommand.java @@ -0,0 +1,48 @@ +package com.iflytop.gd.app.cmd; + +import com.iflytop.gd.app.core.BaseCommandHandler; +import com.iflytop.gd.app.model.dto.CmdDTO; +import com.iflytop.gd.app.service.DeviceCommandUtilService; +import com.iflytop.gd.app.service.SelfTestService; +import com.iflytop.gd.common.annotation.CommandMapping; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.concurrent.CompletableFuture; + +/** + * 龙门架机械臂指定轴回原点 + */ +@Slf4j +@Component +@RequiredArgsConstructor +@CommandMapping("gantry_origin")//业务指令注解 +public class GantryOriginCommand extends BaseCommandHandler { + private final DeviceCommandUtilService deviceCommandUtilService; + private final SelfTestService selfTestService; + + @Override + public CompletableFuture handle(CmdDTO cmdDTO) { + return runAsync(() -> { + //TODO 回原点指令要拆分成三个 + Boolean x = cmdDTO.getBooleanParam("x");//x轴是否回原点 + Boolean y = cmdDTO.getBooleanParam("y");//y轴是否回原点 + Boolean z = cmdDTO.getBooleanParam("z");//z轴是否回原点 + if (x != null && x) { + deviceCommandUtilService.gantryXMoveOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand()); + selfTestService.getSelfTestState().setGantryXOrigin(true);//设置是否在原点状态 + } + if (y != null && y) { + deviceCommandUtilService.gantryYMoveOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand()); + selfTestService.getSelfTestState().setGantryYOrigin(true);//设置是否在原点状态 + } + + if (z != null && z) { + deviceCommandUtilService.gantryZMoveOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand()); + selfTestService.getSelfTestState().setGantryZOrigin(true);//设置是否在原点状态 + } + }); + } +} + diff --git a/src/main/java/com/iflytop/gd/app/cmd/GantryXOriginCommand.java b/src/main/java/com/iflytop/gd/app/cmd/GantryXOriginCommand.java deleted file mode 100644 index 66ffa30..0000000 --- a/src/main/java/com/iflytop/gd/app/cmd/GantryXOriginCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.iflytop.gd.app.cmd; - -import com.iflytop.gd.app.core.BaseCommandHandler; -import com.iflytop.gd.app.model.dto.CmdDTO; -import com.iflytop.gd.app.service.DeviceCommandUtilService; -import com.iflytop.gd.app.service.SelfTestService; -import com.iflytop.gd.common.annotation.CommandMapping; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import java.util.concurrent.CompletableFuture; - -/** - * 龙门架机械臂指定轴回原点 - */ -@Slf4j -@Component -@RequiredArgsConstructor -@CommandMapping("gantry_origin")//业务指令注解 -public class GantryXOriginCommand extends BaseCommandHandler { - private final DeviceCommandUtilService deviceCommandUtilService; - private final SelfTestService selfTestService; - - @Override - public CompletableFuture handle(CmdDTO cmdDTO) { - return runAsync(() -> { - Boolean x = cmdDTO.getBooleanParam("x");//x轴是否回原点 - Boolean y = cmdDTO.getBooleanParam("y");//y轴是否回原点 - Boolean z = cmdDTO.getBooleanParam("z");//z轴是否回原点 - if (x != null && x) { - deviceCommandUtilService.gantryXMoveOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand()); - selfTestService.getSelfTestState().setGantryXOrigin(true);//设置是否在原点状态 - } - if (y != null && y) { - deviceCommandUtilService.gantryYMoveOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand()); - selfTestService.getSelfTestState().setGantryYOrigin(true);//设置是否在原点状态 - } - - if (z != null && z) { - deviceCommandUtilService.gantryZMoveOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand()); - selfTestService.getSelfTestState().setGantryZOrigin(true);//设置是否在原点状态 - } - }); - } -} - diff --git a/src/main/java/com/iflytop/gd/app/cmd/HeatStartCommand.java b/src/main/java/com/iflytop/gd/app/cmd/HeatStartCommand.java index 922a637..1b46218 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/HeatStartCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/HeatStartCommand.java @@ -33,6 +33,7 @@ public class HeatStartCommand extends BaseCommandHandler { //开启加热 deviceCommandUtilService.heatRodOpen(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatModuleId, temperature); deviceStateService.setHeatModuleStateHeating(heatModuleId, true);//设置状态加热中 + //TODO以后思考如果加热棒不可恒温 }); } } diff --git a/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java b/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java index ba5ae20..91157d3 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java @@ -34,6 +34,9 @@ public class MoveToHeatAreaCommand extends BaseCommandHandler { public CompletableFuture handle(CmdDTO cmdDTO) { String heatId = cmdDTO.getStringParam("heatId"); HeatModuleCode heatModuleId = HeatModuleCode.valueOf(heatId); + //TODO 需要校验目标加热位是否有托盘,加液位置是否有托盘 + //TODO 有的指令不能并行,前端也应该友好提示,机械臂是否繁忙 + //TODO 简单的前端确认弹窗是否有托盘即可 return runAsync(() -> { TrayState trayState = deviceStateService.getTrayInSolutionModule(); diff --git a/src/main/java/com/iflytop/gd/app/cmd/SolutionAddCommand.java b/src/main/java/com/iflytop/gd/app/cmd/SolutionAddCommand.java index c9e1e80..532832a 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/SolutionAddCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/SolutionAddCommand.java @@ -29,6 +29,7 @@ public class SolutionAddCommand extends BaseCommandHandler { private final ContainerService containerService; private final DeviceStateService deviceStateService; + //TODO 添加溶液UI重新设计 @Override public CompletableFuture handle(CmdDTO cmdDTO) { deviceStateService.setSolutionModuleStatePumping(true);