From 08a7d3c04e0d877ae23127d1e5cf3ca8449203a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Thu, 20 Mar 2025 18:12:15 +0800 Subject: [PATCH] 11 --- .../ms/app/controller/DeviceStatusController.java | 29 +++++++++++++ .../qyft/ms/app/device/status/DeviceStatus.java | 2 +- .../ms/app/front/cmd/business/DeviceSelfTest.java | 50 ++++++++++++++++++++++ .../ms/app/front/cmd/business/MotorXTZOrigin.java | 50 ---------------------- 4 files changed, 80 insertions(+), 51 deletions(-) create mode 100644 src/main/java/com/qyft/ms/app/controller/DeviceStatusController.java create mode 100644 src/main/java/com/qyft/ms/app/front/cmd/business/DeviceSelfTest.java delete mode 100644 src/main/java/com/qyft/ms/app/front/cmd/business/MotorXTZOrigin.java diff --git a/src/main/java/com/qyft/ms/app/controller/DeviceStatusController.java b/src/main/java/com/qyft/ms/app/controller/DeviceStatusController.java new file mode 100644 index 0000000..b64cc06 --- /dev/null +++ b/src/main/java/com/qyft/ms/app/controller/DeviceStatusController.java @@ -0,0 +1,29 @@ +package com.qyft.ms.app.controller; + +import com.qyft.ms.app.device.status.DeviceStatus; +import com.qyft.ms.app.model.vo.SelfTestVO; +import com.qyft.ms.app.service.SelfTestService; +import com.qyft.ms.system.common.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Tag(name = "设备状态") +@RestController +@RequestMapping("/api/device-status") +@RequiredArgsConstructor +@Slf4j +public class DeviceStatusController { + private final DeviceStatus deviceStatus; + + @Operation(summary = "获取设备状态") + @GetMapping("/") + public Result get() { + return Result.success(deviceStatus); + } + +} diff --git a/src/main/java/com/qyft/ms/app/device/status/DeviceStatus.java b/src/main/java/com/qyft/ms/app/device/status/DeviceStatus.java index 33701c6..0e24535 100644 --- a/src/main/java/com/qyft/ms/app/device/status/DeviceStatus.java +++ b/src/main/java/com/qyft/ms/app/device/status/DeviceStatus.java @@ -49,7 +49,7 @@ public class DeviceStatus { /** * 是否完成自检 */ - private volatile boolean selfTestCompleted = false; + private volatile boolean selfTestCompleted = true; /** * 是否按下急停 diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/DeviceSelfTest.java b/src/main/java/com/qyft/ms/app/front/cmd/business/DeviceSelfTest.java new file mode 100644 index 0000000..3e2a364 --- /dev/null +++ b/src/main/java/com/qyft/ms/app/front/cmd/business/DeviceSelfTest.java @@ -0,0 +1,50 @@ +package com.qyft.ms.app.front.cmd.business; + +import com.qyft.ms.app.device.status.DeviceStatus; +import com.qyft.ms.app.service.SelfTestService; +import com.qyft.ms.system.common.annotation.CommandMapping; +import com.qyft.ms.system.common.device.command.CommandFuture; +import com.qyft.ms.system.common.device.command.DeviceCommandGenerator; +import com.qyft.ms.system.core.handler.BaseCommandHandler; +import com.qyft.ms.system.model.bo.DeviceCommand; +import com.qyft.ms.system.model.form.FrontCmdControlForm; +import com.qyft.ms.system.service.device.DeviceCommandService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.concurrent.CompletableFuture; + +/** + * 设备自检指令 + */ +@Slf4j +@Component +@RequiredArgsConstructor +@CommandMapping("device_self_test") +public class DeviceSelfTest extends BaseCommandHandler { + private final DeviceCommandService deviceCommandService; + private final SelfTestService selfTestService; + private final DeviceStatus deviceStatus; + + @Override + public CompletableFuture handle(FrontCmdControlForm form) { + return runAsync(() -> { + DeviceCommand motorXOriginCommand = DeviceCommandGenerator.motorXOrigin(); // x轴回原点 + CommandFuture motorXOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorXOriginCommand); + + DeviceCommand motorYOriginCommand = DeviceCommandGenerator.motorYOrigin();//y轴回原点 + CommandFuture motorYOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorYOriginCommand); + + DeviceCommand motorZOriginCommand = DeviceCommandGenerator.motorZOrigin();//z轴回原点 + CommandFuture motorZOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorZOriginCommand); + commandWait(motorXOriginCommandFuture, motorYOriginCommandFuture, motorZOriginCommandFuture); + + selfTestService.getSelfTestStatus().setXAxisAtOrigin(true); + selfTestService.getSelfTestStatus().setYAxisAtOrigin(true); + selfTestService.getSelfTestStatus().setZAxisAtOrigin(true); + + deviceStatus.setSelfTestCompleted(true); + }); + } +} diff --git a/src/main/java/com/qyft/ms/app/front/cmd/business/MotorXTZOrigin.java b/src/main/java/com/qyft/ms/app/front/cmd/business/MotorXTZOrigin.java deleted file mode 100644 index ab81161..0000000 --- a/src/main/java/com/qyft/ms/app/front/cmd/business/MotorXTZOrigin.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.qyft.ms.app.front.cmd.business; - -import com.qyft.ms.app.device.status.DeviceStatus; -import com.qyft.ms.app.service.SelfTestService; -import com.qyft.ms.system.common.annotation.CommandMapping; -import com.qyft.ms.system.common.device.command.CommandFuture; -import com.qyft.ms.system.common.device.command.DeviceCommandGenerator; -import com.qyft.ms.system.core.handler.BaseCommandHandler; -import com.qyft.ms.system.model.bo.DeviceCommand; -import com.qyft.ms.system.model.form.FrontCmdControlForm; -import com.qyft.ms.system.service.device.DeviceCommandService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import java.util.concurrent.CompletableFuture; - -/** - * 设备自检指令 - */ -@Slf4j -@Component -@RequiredArgsConstructor -@CommandMapping("device_self_test") -public class MotorXTZOrigin extends BaseCommandHandler { - private final DeviceCommandService deviceCommandService; - private final SelfTestService selfTestService; - private final DeviceStatus deviceStatus; - - @Override - public CompletableFuture handle(FrontCmdControlForm form) { - return runAsync(() -> { - DeviceCommand motorXOriginCommand = DeviceCommandGenerator.motorXOrigin(); // x轴回原点 - CommandFuture motorXOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorXOriginCommand); - - DeviceCommand motorYOriginCommand = DeviceCommandGenerator.motorYOrigin();//y轴回原点 - CommandFuture motorYOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorYOriginCommand); - - DeviceCommand motorZOriginCommand = DeviceCommandGenerator.motorZOrigin();//z轴回原点 - CommandFuture motorZOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorZOriginCommand); - commandWait(motorXOriginCommandFuture, motorYOriginCommandFuture, motorZOriginCommandFuture); - - selfTestService.getSelfTestStatus().setXAxisAtOrigin(true); - selfTestService.getSelfTestStatus().setYAxisAtOrigin(true); - selfTestService.getSelfTestStatus().setZAxisAtOrigin(true); - - deviceStatus.setSelfTestCompleted(true); - }); - } -}