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 e801ddc..8ffd699 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java @@ -7,7 +7,6 @@ import com.iflytop.gd.app.service.DevicePositionService; import com.iflytop.gd.app.service.DeviceStateService; import com.iflytop.gd.common.annotation.CommandMapping; import com.iflytop.gd.common.enums.data.DevicePositionCode; -import com.iflytop.gd.hardware.service.GDDeviceStatusService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; 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 5297e22..2686851 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/DualRobotJointOriginCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/DualRobotJointOriginCommand.java @@ -29,11 +29,11 @@ public class DualRobotJointOriginCommand extends BaseCommandHandler { Boolean joint2 = cmdDTO.getBooleanParam("joint1"); return runAsync(() -> { - if(joint1){ + if (joint1) { deviceCommandUtilService.dualRobotOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand(), CmdAxis.joint1); selfTestService.getSelfTestState().setDualRobotJoint1Origin(true); } - if(joint2){ + if (joint2) { deviceCommandUtilService.dualRobotOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand(), CmdAxis.joint2); selfTestService.getSelfTestState().setDualRobotJoint2Origin(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 index b0c7f89..5ce0db4 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/GantryXOriginCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/GantryXOriginCommand.java @@ -3,19 +3,12 @@ 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.DevicePositionService; import com.iflytop.gd.app.service.SelfTestService; import com.iflytop.gd.common.annotation.CommandMapping; -import com.iflytop.gd.common.cmd.CommandFuture; -import com.iflytop.gd.common.cmd.DeviceCommandBundle; -import com.iflytop.gd.common.cmd.DeviceCommandGenerator; -import com.iflytop.gd.common.enums.data.DevicePositionCode; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.List; import java.util.concurrent.CompletableFuture; /** 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 07f9d6c..ffa7641 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java @@ -63,7 +63,7 @@ public class MoveToHeatAreaCommand extends BaseCommandHandler { deviceCommandUtilService.clawMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), clawCapGrip);//将夹爪收紧 double capSafetyHeight = devicePositionService.getPosition(DevicePositionCode.capSafetyHeight).getDistance();//获取移动拍子的安全高度 deviceCommandUtilService.gantryZMoveBy(cmdDTO.getCommandId(), cmdDTO.getCommand(), -capSafetyHeight);//机械臂提升至移动拍子的安全高度 - deviceCommandUtilService.capMotorMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), 1); //提升拍子存放区1个位置 + deviceCommandUtilService.capUpBalance(cmdDTO.getCommandId(), cmdDTO.getCommand()); //提升拍子存放区 Point3D heatAreaCapClawPoint3D = deviceCommandUtilService.getHeatAreaCapClawPointPoint3D(heatModuleId);//获取托盘上方拍子点位 Point3D heatAreaCapClawSafetyHeightPoint3D = new Point3D(heatAreaCapClawPoint3D.getX(), heatAreaCapClawPoint3D.getY(), heatAreaCapClawPoint3D.getZ() - capSafetyHeight);//加热区拍子上方加上移动拍子的安全高度 deviceCommandUtilService.gantryMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatAreaCapClawSafetyHeightPoint3D);//将机械臂移动至拍子上方加上移动拍子的安全高度 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 7a7a050..35a6c40 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/SolutionAddCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/SolutionAddCommand.java @@ -3,7 +3,6 @@ package com.iflytop.gd.app.cmd; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.iflytop.gd.app.core.BaseCommandHandler; -import com.iflytop.gd.app.model.bo.Point2D; import com.iflytop.gd.app.model.dto.CmdDTO; import com.iflytop.gd.app.service.ContainerService; import com.iflytop.gd.app.service.DeviceCommandUtilService; diff --git a/src/main/java/com/iflytop/gd/app/controller/DevicePointController.java b/src/main/java/com/iflytop/gd/app/controller/DevicePointController.java index 90a1d2d..d537955 100644 --- a/src/main/java/com/iflytop/gd/app/controller/DevicePointController.java +++ b/src/main/java/com/iflytop/gd/app/controller/DevicePointController.java @@ -13,7 +13,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.stream.Collectors; /** * 设备点位接口 diff --git a/src/main/java/com/iflytop/gd/app/controller/HeatModuleController.java b/src/main/java/com/iflytop/gd/app/controller/HeatModuleController.java index 73f1266..90dd06b 100644 --- a/src/main/java/com/iflytop/gd/app/controller/HeatModuleController.java +++ b/src/main/java/com/iflytop/gd/app/controller/HeatModuleController.java @@ -8,7 +8,10 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * 加热模块控制 diff --git a/src/main/java/com/iflytop/gd/app/controller/OresController.java b/src/main/java/com/iflytop/gd/app/controller/OresController.java index c496e68..5ba041c 100644 --- a/src/main/java/com/iflytop/gd/app/controller/OresController.java +++ b/src/main/java/com/iflytop/gd/app/controller/OresController.java @@ -3,9 +3,9 @@ package com.iflytop.gd.app.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.iflytop.gd.app.model.entity.Ores; import com.iflytop.gd.app.model.vo.OresCraftsListVO; +import com.iflytop.gd.app.service.OresService; import com.iflytop.gd.common.base.BasePageQuery; import com.iflytop.gd.common.result.PageResult; -import com.iflytop.gd.app.service.OresService; import com.iflytop.gd.common.result.Result; import com.iflytop.gd.common.result.ResultCode; import io.swagger.v3.oas.annotations.Operation; diff --git a/src/main/java/com/iflytop/gd/app/controller/SolutionsController.java b/src/main/java/com/iflytop/gd/app/controller/SolutionsController.java index e3a1a21..79c3fd6 100644 --- a/src/main/java/com/iflytop/gd/app/controller/SolutionsController.java +++ b/src/main/java/com/iflytop/gd/app/controller/SolutionsController.java @@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iflytop.gd.app.model.entity.Solutions; import com.iflytop.gd.app.service.SolutionsService; +import com.iflytop.gd.common.base.BasePageQuery; import com.iflytop.gd.common.result.PageResult; import com.iflytop.gd.common.result.Result; import com.iflytop.gd.common.result.ResultCode; -import com.iflytop.gd.common.base.BasePageQuery; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/iflytop/gd/app/controller/TasksController.java b/src/main/java/com/iflytop/gd/app/controller/TasksController.java index d7eb169..8d58dc5 100644 --- a/src/main/java/com/iflytop/gd/app/controller/TasksController.java +++ b/src/main/java/com/iflytop/gd/app/controller/TasksController.java @@ -68,7 +68,7 @@ public class TasksController { @Operation(summary = "停止实验") @PostMapping("/stop") public Result stopTask(@RequestBody StopTaskDTO dto) { - if(dto.getTaskId() != null) { + if (dto.getTaskId() != null) { return Result.success(tasksService.stopTask(dto.getTaskId())); } return Result.failed("停止实验失败"); diff --git a/src/main/java/com/iflytop/gd/app/controller/TrayController.java b/src/main/java/com/iflytop/gd/app/controller/TrayController.java index 6deb9d7..310996e 100644 --- a/src/main/java/com/iflytop/gd/app/controller/TrayController.java +++ b/src/main/java/com/iflytop/gd/app/controller/TrayController.java @@ -1,8 +1,6 @@ package com.iflytop.gd.app.controller; import com.iflytop.gd.app.core.device.TrayState; -import com.iflytop.gd.app.core.device.TubeState; -import com.iflytop.gd.app.model.entity.User; import com.iflytop.gd.app.model.vo.SetTrayTubeVO; import com.iflytop.gd.app.service.TrayService; import com.iflytop.gd.common.result.Result; @@ -15,8 +13,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - /** * 托盘控制 */ diff --git a/src/main/java/com/iflytop/gd/app/controller/UserController.java b/src/main/java/com/iflytop/gd/app/controller/UserController.java index 885ed79..05218fb 100644 --- a/src/main/java/com/iflytop/gd/app/controller/UserController.java +++ b/src/main/java/com/iflytop/gd/app/controller/UserController.java @@ -3,12 +3,12 @@ package com.iflytop.gd.app.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.iflytop.gd.app.model.entity.User; +import com.iflytop.gd.app.service.UserService; import com.iflytop.gd.common.base.BasePageQuery; import com.iflytop.gd.common.result.PageResult; import com.iflytop.gd.common.result.Result; import com.iflytop.gd.common.result.ResultCode; -import com.iflytop.gd.app.model.entity.User; -import com.iflytop.gd.app.service.UserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/iflytop/gd/app/core/BaseCommandHandler.java b/src/main/java/com/iflytop/gd/app/core/BaseCommandHandler.java index 3087258..a05ab61 100644 --- a/src/main/java/com/iflytop/gd/app/core/BaseCommandHandler.java +++ b/src/main/java/com/iflytop/gd/app/core/BaseCommandHandler.java @@ -1,10 +1,9 @@ package com.iflytop.gd.app.core; - import com.iflytop.gd.common.annotation.CheckedRunnable; -import com.iflytop.gd.common.cmd.CommandHandler; import com.iflytop.gd.common.cmd.CommandFuture; +import com.iflytop.gd.common.cmd.CommandHandler; import com.iflytop.gd.common.utils.LambdaUtil; import java.util.Arrays; diff --git a/src/main/java/com/iflytop/gd/app/core/device/DeviceState.java b/src/main/java/com/iflytop/gd/app/core/device/DeviceState.java index fce2c81..0395439 100644 --- a/src/main/java/com/iflytop/gd/app/core/device/DeviceState.java +++ b/src/main/java/com/iflytop/gd/app/core/device/DeviceState.java @@ -9,30 +9,22 @@ import java.util.List; @Schema(description = "当前设备") @Data public class DeviceState { - @Schema(description = "虚拟模式,true为虚拟") - private boolean virtual = false; - - @Schema(description = "初始化状态,true初始化完毕") - private boolean initComplete = false; - - @Schema(description = "自检状态,true自检完毕") - private boolean selfTest = false; - - @Schema(description = "是否是急停状态,true为急停") - private boolean emergencyStop = false; - @Schema(description = "门状态") private final DoorState door = new DoorState(); - @Schema(description = "龙门架机械臂状态") private final GantryArmState gantryArm = new GantryArmState(); - @Schema(description = "加液模块属性") private final SolutionModuleState solutionModule = new SolutionModuleState(); - @Schema(description = "加热模块属性") private final List heatModule = new ArrayList<>(); - @Schema(description = "托盘") private final List tray = new ArrayList<>(); + @Schema(description = "虚拟模式,true为虚拟") + private boolean virtual = false; + @Schema(description = "初始化状态,true初始化完毕") + private boolean initComplete = false; + @Schema(description = "自检状态,true自检完毕") + private boolean selfTest = false; + @Schema(description = "是否是急停状态,true为急停") + private boolean emergencyStop = false; } diff --git a/src/main/java/com/iflytop/gd/app/mapper/SystemConfigMapper.java b/src/main/java/com/iflytop/gd/app/mapper/SystemConfigMapper.java index a219714..72c06fc 100644 --- a/src/main/java/com/iflytop/gd/app/mapper/SystemConfigMapper.java +++ b/src/main/java/com/iflytop/gd/app/mapper/SystemConfigMapper.java @@ -1,7 +1,6 @@ package com.iflytop.gd.app.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.iflytop.gd.app.model.entity.Ores; import com.iflytop.gd.app.model.entity.SystemConfig; import org.apache.ibatis.annotations.Mapper; diff --git a/src/main/java/com/iflytop/gd/app/model/bo/Notification.java b/src/main/java/com/iflytop/gd/app/model/bo/Notification.java index 5504949..06ed49a 100644 --- a/src/main/java/com/iflytop/gd/app/model/bo/Notification.java +++ b/src/main/java/com/iflytop/gd/app/model/bo/Notification.java @@ -15,8 +15,8 @@ public class Notification { private final String command; private final String level; private final String title; - private String content = null; private final String dateTime = DateTime.now().toString("yyyy/MM/dd HH:mm:ss"); + private String content = null; private Notification(String commandId, String command, String level, String title, String content) { this.commandId = commandId; @@ -35,6 +35,7 @@ public class Notification { /** * 创建Info级别通知 + * * @param content 通知内容 * @return 通知实例 */ @@ -46,7 +47,7 @@ public class Notification { return new Notification(commandId, command, "info", title, ""); } - public static Notification infoNotification(CmdDTO cmdDTO, String title) { + public static Notification infoNotification(CmdDTO cmdDTO, String title) { return new Notification(cmdDTO.getCommandId(), cmdDTO.getCommand(), "info", title, ""); } @@ -63,6 +64,7 @@ public class Notification { /** * 创建Warn级别通知 + * * @param content 通知内容 * @return 通知实例 */ @@ -72,6 +74,7 @@ public class Notification { /** * 创建Error级别通知 + * * @param content 通知内容 * @return 通知实例 */ @@ -87,6 +90,7 @@ public class Notification { /** * 创建Fatal级别通知 + * * @param content 通知内容 * @return 通知实例 */ diff --git a/src/main/java/com/iflytop/gd/app/model/bo/Point3D.java b/src/main/java/com/iflytop/gd/app/model/bo/Point3D.java index fc2f6ee..b12b8fd 100644 --- a/src/main/java/com/iflytop/gd/app/model/bo/Point3D.java +++ b/src/main/java/com/iflytop/gd/app/model/bo/Point3D.java @@ -11,6 +11,7 @@ public class Point3D { public Point3D() { } + public Point3D(Double x, Double y, Double z) { this.x = x; this.y = y; diff --git a/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java b/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java index d80569a..e280b11 100644 --- a/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java +++ b/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java @@ -6,7 +6,6 @@ import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.Map; -import java.util.Optional; @Schema(description = "指令") @Data diff --git a/src/main/java/com/iflytop/gd/app/model/dto/LoginDTO.java b/src/main/java/com/iflytop/gd/app/model/dto/LoginDTO.java index 68a23b3..807cd08 100644 --- a/src/main/java/com/iflytop/gd/app/model/dto/LoginDTO.java +++ b/src/main/java/com/iflytop/gd/app/model/dto/LoginDTO.java @@ -1,7 +1,6 @@ package com.iflytop.gd.app.model.dto; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; diff --git a/src/main/java/com/iflytop/gd/app/model/dto/PauseCraftsDto.java b/src/main/java/com/iflytop/gd/app/model/dto/PauseCraftsDto.java index c64e8f4..4518ddd 100644 --- a/src/main/java/com/iflytop/gd/app/model/dto/PauseCraftsDto.java +++ b/src/main/java/com/iflytop/gd/app/model/dto/PauseCraftsDto.java @@ -1,7 +1,6 @@ package com.iflytop.gd.app.model.dto; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; diff --git a/src/main/java/com/iflytop/gd/app/model/entity/Container.java b/src/main/java/com/iflytop/gd/app/model/entity/Container.java index 5ca194a..42886bf 100644 --- a/src/main/java/com/iflytop/gd/app/model/entity/Container.java +++ b/src/main/java/com/iflytop/gd/app/model/entity/Container.java @@ -3,7 +3,10 @@ package com.iflytop.gd.app.model.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.iflytop.gd.common.base.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.*; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Positive; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/iflytop/gd/app/model/vo/CraftStatusVO.java b/src/main/java/com/iflytop/gd/app/model/vo/CraftStatusVO.java index b68d1ac..7a2ca23 100644 --- a/src/main/java/com/iflytop/gd/app/model/vo/CraftStatusVO.java +++ b/src/main/java/com/iflytop/gd/app/model/vo/CraftStatusVO.java @@ -1,7 +1,7 @@ package com.iflytop.gd.app.model.vo; -import com.iflytop.gd.common.enums.automaton.CraftStates; import com.iflytop.gd.app.model.bo.CraftsStep; +import com.iflytop.gd.common.enums.automaton.CraftStates; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/src/main/java/com/iflytop/gd/app/model/vo/ModuleIdVO.java b/src/main/java/com/iflytop/gd/app/model/vo/ModuleIdVO.java index c00b212..7b91c45 100644 --- a/src/main/java/com/iflytop/gd/app/model/vo/ModuleIdVO.java +++ b/src/main/java/com/iflytop/gd/app/model/vo/ModuleIdVO.java @@ -1,4 +1,5 @@ package com.iflytop.gd.app.model.vo; + import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/iflytop/gd/app/model/vo/SetTrayTubeVO.java b/src/main/java/com/iflytop/gd/app/model/vo/SetTrayTubeVO.java index 2bf19da..5c7fb40 100644 --- a/src/main/java/com/iflytop/gd/app/model/vo/SetTrayTubeVO.java +++ b/src/main/java/com/iflytop/gd/app/model/vo/SetTrayTubeVO.java @@ -1,13 +1,9 @@ package com.iflytop.gd.app.model.vo; import com.iflytop.gd.app.core.device.TubeState; -import com.iflytop.gd.app.model.bo.CraftsStep; -import com.iflytop.gd.common.enums.automaton.CraftStates; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import java.util.List; - /** * 设置托盘试管 */ diff --git a/src/main/java/com/iflytop/gd/app/service/CraftsService.java b/src/main/java/com/iflytop/gd/app/service/CraftsService.java index e99533c..34a6591 100644 --- a/src/main/java/com/iflytop/gd/app/service/CraftsService.java +++ b/src/main/java/com/iflytop/gd/app/service/CraftsService.java @@ -2,14 +2,14 @@ package com.iflytop.gd.app.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iflytop.gd.common.enums.automaton.CraftEvents; -import com.iflytop.gd.common.enums.automaton.CraftStates; import com.iflytop.gd.app.core.CraftsContext; import com.iflytop.gd.app.mapper.CraftsMapper; import com.iflytop.gd.app.model.entity.Crafts; import com.iflytop.gd.app.model.entity.Ores; import com.iflytop.gd.app.model.vo.CraftStatusVO; import com.iflytop.gd.app.model.vo.SetCraftsVO; +import com.iflytop.gd.common.enums.automaton.CraftEvents; +import com.iflytop.gd.common.enums.automaton.CraftStates; import com.iflytop.gd.common.exception.AppException; import com.iflytop.gd.common.result.ResultCode; import jakarta.annotation.PostConstruct; @@ -35,10 +35,9 @@ public class CraftsService extends ServiceImpl { private final WebSocketService webSocketService; private final CraftsStepService craftsStepService; private final OresService oresService; - - private ExecutorService executor; private final ConcurrentHashMap contextMap = new ConcurrentHashMap<>(); private final ConcurrentHashMap> futureMap = new ConcurrentHashMap<>(); + private ExecutorService executor; @PostConstruct public void init() { diff --git a/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java b/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java index e5610fb..32dbc6f 100644 --- a/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java +++ b/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java @@ -4,7 +4,6 @@ import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.iflytop.gd.app.core.CraftsDebugGenerator; import com.iflytop.gd.app.model.bo.CraftsStep; -import com.iflytop.gd.app.model.bo.Point2D; import com.iflytop.gd.app.model.bo.Point3D; import com.iflytop.gd.common.enums.AcidPumpDeviceCode; import com.iflytop.gd.common.enums.HeatModuleCode; @@ -195,8 +194,8 @@ public class CraftsStepService { double capSafetyHeight = devicePositionService.getPosition(DevicePositionCode.capSafetyHeight).getDistance();//获取移动拍子的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "机械臂提升至移动拍子的安全高度", -capSafetyHeight)); deviceCommandUtilService.gantryZMoveBy(-capSafetyHeight);//机械臂提升至移动拍子的安全高度 - webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "提升拍子存放区1个位置", null)); - deviceCommandUtilService.capMotorMove(1); //提升拍子存放区1个位置 + webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "提升拍子存放区", null)); + deviceCommandUtilService.capUpBalance(); //提升拍子存放区 Point3D heatAreaCapClawPoint3D = deviceCommandUtilService.getHeatAreaCapClawPointPoint3D(heatModuleId);//获取托盘上方拍子点位 Point3D heatAreaCapClawSafetyHeightPoint3D = new Point3D(heatAreaCapClawPoint3D.getX(), heatAreaCapClawPoint3D.getY(), heatAreaCapClawPoint3D.getZ() - capSafetyHeight);//加热区拍子上方加上移动拍子的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "将机械臂移动至拍子上方加上移动拍子的安全高度", heatAreaCapClawSafetyHeightPoint3D)); diff --git a/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java b/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java index 53745c1..b28050e 100644 --- a/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java +++ b/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java @@ -48,7 +48,7 @@ public class DeviceCommandService { } } catch (Exception e) { Thread.currentThread().interrupt(); - }finally { + } finally { deviceStateService.setGantryArmStateIdle(false); } } diff --git a/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java b/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java index 70fee8c..9a7574f 100644 --- a/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java +++ b/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java @@ -10,6 +10,8 @@ import com.iflytop.gd.common.enums.AcidPumpDeviceCode; import com.iflytop.gd.common.enums.HeatModuleCode; import com.iflytop.gd.common.enums.cmd.CmdAxis; import com.iflytop.gd.common.enums.data.DevicePositionCode; +import com.iflytop.gd.hardware.service.GDDeviceStatusService; +import com.iflytop.gd.hardware.type.IO.InputIOMId; import com.iflytop.gd.hardware.type.LiquidDistributionArmDriver; import com.iflytop.gd.hardware.type.Servo.LiquidArmMId; import lombok.RequiredArgsConstructor; @@ -25,6 +27,7 @@ public class DeviceCommandUtilService { private final DeviceCommandService deviceCommandService; private final DevicePositionService devicePositionService; private final LiquidDistributionArmDriver liquidDistributionArmDriver; + private final GDDeviceStatusService gdDeviceStatusService; /** * 门电机移动 @@ -231,14 +234,38 @@ public class DeviceCommandUtilService { } /** + * 将拍子升降区抬升至可以获取的位置 + */ + public void capUpBalance() throws Exception { + capUpBalance(null, null); + } + + /** + * 将拍子升降区抬升至可以获取的位置 + */ + public void capUpBalance(String cmdId, String cmdCode) throws Exception { + int capNum = 0; + for (InputIOMId inputIOMId : InputIOMId.values()) { + Boolean exist = gdDeviceStatusService.getInputState(inputIOMId); + if (exist) { + capNum++; + } + } + double capLiftingHeight = devicePositionService.getPosition(DevicePositionCode.capLiftingHeight).getDistance(); + double capLiftingHeightSum = (6 - capNum) * capLiftingHeight; + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.trayMotorMove(capLiftingHeightSum); + CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdId, cmdCode, deviceCommand); + commandWait(deviceCommandFuture); + } + + /** * 调整拍子升降电机位置 * * @param num 1为上升1格,-1为下降1格 */ public void capMotorMove(String cmdId, String cmdCode, int num) throws Exception { - double capHeight = 0.0; //TODO 每个拍子的高度 从数据库中获取 - //TODO 获取当前拍子升降电机位置 - DeviceCommandBundle deviceCommand = DeviceCommandGenerator.trayMotorMove(num * capHeight); + double capLiftingHeight = devicePositionService.getPosition(DevicePositionCode.capLiftingHeight).getDistance(); + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.trayMotorMove(num * capLiftingHeight); CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdId, cmdCode, deviceCommand); commandWait(deviceCommandFuture); } diff --git a/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java b/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java index a26bf60..d77804e 100644 --- a/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java +++ b/src/main/java/com/iflytop/gd/app/service/DevicePositionService.java @@ -22,11 +22,11 @@ import java.util.stream.Collectors; public class DevicePositionService extends ServiceImpl { @PostConstruct - private void init(){ + private void init() { for (DevicePositionCode positionCode : DevicePositionCode.values()) { System.out.println(positionCode.getName()); // 打印每个枚举常量的name属性 DevicePosition devicePosition = this.getOne(new LambdaQueryWrapper().eq(DevicePosition::getCode, positionCode)); - if(devicePosition == null){ + if (devicePosition == null) { devicePosition = new DevicePosition(); devicePosition.setCode(positionCode); devicePosition.setName(positionCode.getName()); diff --git a/src/main/java/com/iflytop/gd/app/service/GantryArmService.java b/src/main/java/com/iflytop/gd/app/service/GantryArmService.java index 62db198..a58a547 100644 --- a/src/main/java/com/iflytop/gd/app/service/GantryArmService.java +++ b/src/main/java/com/iflytop/gd/app/service/GantryArmService.java @@ -32,6 +32,7 @@ public class GantryArmService { liquidLock.unlock(); } } + /** * 锁定加液区 */ @@ -44,6 +45,7 @@ public class GantryArmService { liquidLock.unlock(); } } + /** * 释放加液区 */ diff --git a/src/main/java/com/iflytop/gd/app/service/OresService.java b/src/main/java/com/iflytop/gd/app/service/OresService.java index 86c9c68..00207b2 100644 --- a/src/main/java/com/iflytop/gd/app/service/OresService.java +++ b/src/main/java/com/iflytop/gd/app/service/OresService.java @@ -5,12 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iflytop.gd.app.model.vo.OresCraftsListVO; -import com.iflytop.gd.common.base.BasePageQuery; import com.iflytop.gd.app.mapper.CraftsMapper; import com.iflytop.gd.app.mapper.OresMapper; import com.iflytop.gd.app.model.entity.Crafts; import com.iflytop.gd.app.model.entity.Ores; +import com.iflytop.gd.app.model.vo.OresCraftsListVO; +import com.iflytop.gd.common.base.BasePageQuery; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -28,7 +28,7 @@ public class OresService extends ServiceImpl { private final CraftsMapper craftsMapper; - + public IPage getPage(BasePageQuery pageQuery) { // 构建分页对象 Page oresPage = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()); @@ -77,22 +77,22 @@ public class OresService extends ServiceImpl { } - + public Ores findByName(String name) { return this.getOne(new LambdaQueryWrapper().eq(Ores::getName, name)); } - + public boolean addOres(Ores ores) { return this.save(ores); } - + public boolean updateOres(Ores ores) { return this.updateById(ores); } - + public boolean deleteOres(String idsStr) { List ids = Arrays.stream(idsStr.split(",")) .map(Long::parseLong) diff --git a/src/main/java/com/iflytop/gd/app/service/SystemLogService.java b/src/main/java/com/iflytop/gd/app/service/SystemLogService.java index 02261d0..c4e1309 100644 --- a/src/main/java/com/iflytop/gd/app/service/SystemLogService.java +++ b/src/main/java/com/iflytop/gd/app/service/SystemLogService.java @@ -1,16 +1,12 @@ package com.iflytop.gd.app.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iflytop.gd.app.mapper.SystemConfigMapper; import com.iflytop.gd.app.mapper.SystemLogMapper; -import com.iflytop.gd.app.model.entity.SystemConfig; import com.iflytop.gd.app.model.entity.SystemLog; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.io.BufferedReader; -import java.io.InputStreamReader; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; diff --git a/src/main/java/com/iflytop/gd/app/service/TaskStepsService.java b/src/main/java/com/iflytop/gd/app/service/TaskStepsService.java index fa2b3df..8cf451d 100644 --- a/src/main/java/com/iflytop/gd/app/service/TaskStepsService.java +++ b/src/main/java/com/iflytop/gd/app/service/TaskStepsService.java @@ -13,7 +13,7 @@ import java.util.List; */ @Service @RequiredArgsConstructor -public class TaskStepsService extends ServiceImpl{ +public class TaskStepsService extends ServiceImpl { private final TaskStepsMapper taskStepsMapper; public List getTaskStepsByTaskId(Long taskId) { diff --git a/src/main/java/com/iflytop/gd/app/service/TasksService.java b/src/main/java/com/iflytop/gd/app/service/TasksService.java index 507939c..bbef049 100644 --- a/src/main/java/com/iflytop/gd/app/service/TasksService.java +++ b/src/main/java/com/iflytop/gd/app/service/TasksService.java @@ -24,7 +24,7 @@ import java.util.stream.Collectors; */ @Service @RequiredArgsConstructor -public class TasksService extends ServiceImpl{ +public class TasksService extends ServiceImpl { private final TasksMapper tasksMapper; private final UserService userService; diff --git a/src/main/java/com/iflytop/gd/app/service/UserService.java b/src/main/java/com/iflytop/gd/app/service/UserService.java index 89a0add..32141f7 100644 --- a/src/main/java/com/iflytop/gd/app/service/UserService.java +++ b/src/main/java/com/iflytop/gd/app/service/UserService.java @@ -1,9 +1,9 @@ package com.iflytop.gd.app.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iflytop.gd.common.enums.data.FixedUser; import com.iflytop.gd.app.mapper.UserMapper; import com.iflytop.gd.app.model.entity.User; +import com.iflytop.gd.common.enums.data.FixedUser; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; diff --git a/src/main/java/com/iflytop/gd/app/service/scheduled/FetchTemperatureScheduledTask.java b/src/main/java/com/iflytop/gd/app/service/scheduled/FetchTemperatureScheduledTask.java index 21da8bb..6e9ce20 100644 --- a/src/main/java/com/iflytop/gd/app/service/scheduled/FetchTemperatureScheduledTask.java +++ b/src/main/java/com/iflytop/gd/app/service/scheduled/FetchTemperatureScheduledTask.java @@ -22,7 +22,7 @@ public class FetchTemperatureScheduledTask { @Scheduled(fixedRate = 30000) public void fetchTemperature() { try { - if(!deviceStateService.getDeviceState().isVirtual()){ + if (!deviceStateService.getDeviceState().isVirtual()) { Double heatModule01Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD1_ID); deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_01, heatModule01Temperature); @@ -40,10 +40,10 @@ public class FetchTemperatureScheduledTask { Double heatModule06Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD6_ID); deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_06, heatModule06Temperature); - }else{ + } else { List heatModuleStateList = deviceStateService.getDeviceState().getHeatModule(); for (HeatModuleState heatModuleState : heatModuleStateList) { - if(heatModuleState.isHeating()){ + if (heatModuleState.isHeating()) { deviceStateService.setHeatModuleStateTemperature(heatModuleState.getModuleCode(), 999); } } diff --git a/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java b/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java index a7b0d21..080223e 100644 --- a/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java +++ b/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java @@ -83,6 +83,11 @@ public enum DevicePositionCode { */ testTubeSafetyHeight(DevicePositionType.DISTANCE, "移动试管安全高度"), + /** + * 拍子升降高度 + */ + capLiftingHeight(DevicePositionType.DISTANCE, "拍子升降高度"), + ////////////////////////点 /**