diff --git a/src/main/java/com/qyft/ms/app/controller/SprayTaskController.java b/src/main/java/com/qyft/ms/app/controller/SprayTaskController.java new file mode 100644 index 0000000..cd9c989 --- /dev/null +++ b/src/main/java/com/qyft/ms/app/controller/SprayTaskController.java @@ -0,0 +1,33 @@ +package com.qyft.ms.app.controller; + +import com.qyft.ms.app.device.status.SprayTask; +import com.qyft.ms.app.model.vo.SelfTestVO; +import com.qyft.ms.app.model.vo.SprayTaskStatusVO; +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/self-test") +@RequiredArgsConstructor +@Slf4j +public class SprayTaskController { + + @Operation(summary = "获取喷涂状态") + @GetMapping("/") + public Result getStatus() { + SprayTask sprayTask = SprayTask.getInstance(); + SprayTaskStatusVO sprayTaskStatusVO = new SprayTaskStatusVO(); + sprayTaskStatusVO.setSprayedPoints(sprayTask.getSprayedPoints()); + sprayTaskStatusVO.setSprayParams(sprayTask.getSprayParams()); + return Result.success(sprayTaskStatusVO); + } + +} diff --git a/src/main/java/com/qyft/ms/app/device/status/SprayTask.java b/src/main/java/com/qyft/ms/app/device/status/SprayTask.java index e0042a7..0440814 100644 --- a/src/main/java/com/qyft/ms/app/device/status/SprayTask.java +++ b/src/main/java/com/qyft/ms/app/device/status/SprayTask.java @@ -1,10 +1,10 @@ package com.qyft.ms.app.device.status; import com.qyft.ms.app.model.bo.Point2D; +import com.qyft.ms.app.model.bo.SprayParams; import com.qyft.ms.system.model.bo.DeviceCommand; import lombok.Data; -import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; @@ -33,7 +33,7 @@ public class SprayTask { /** * 喷涂前置步骤是否完成 */ - private volatile boolean sprayPreStepsCompleted = false; + private volatile boolean sprayPreStepsCompleted = false; /** * 喷涂步骤列表 @@ -68,7 +68,7 @@ public class SprayTask { Double volume, Boolean highVoltage, Double highVoltageValue, - Double movingSpeed){ + Double movingSpeed) { } @@ -104,48 +104,4 @@ public class SprayTask { sprayedPoints.clear(); } - @Data - public static class SprayParams { - /** - * 喷涂路径类型 - */ - private String matrixPathType; - /** - * Z轴距离玻片的高度 - */ - private Double motorZHeight; - /** - * Mpa兆帕 不处理 - */ - private Double gasPressure; - /** - * 单位uL微升 基质流速(控制注射泵速度) - */ - private Double volume; - /** - * 是否打开高压 - */ - private Boolean highVoltage; - /** - * 高压值 - */ - private Double highVoltageValue; - /** - * 毫米 喷涂间距 - */ - private Double spacing; - /** - * 移动速度 轴速度 - */ - private Double movingSpeed; - /** - * 喷涂遍数 - */ - private Double times; - /** - * 喷涂范围 - */ - private List> positionList; - } - } \ No newline at end of file diff --git a/src/main/java/com/qyft/ms/app/model/bo/SprayParams.java b/src/main/java/com/qyft/ms/app/model/bo/SprayParams.java new file mode 100644 index 0000000..eacbb32 --- /dev/null +++ b/src/main/java/com/qyft/ms/app/model/bo/SprayParams.java @@ -0,0 +1,72 @@ +package com.qyft.ms.app.model.bo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +@Schema(description = "喷涂参数") +public class SprayParams { + + /** + * 喷涂路径类型 + */ + @Schema(description = "喷涂路径类型") + private String matrixPathType; + + /** + * Z轴距离玻片的高度 + */ + @Schema(description = "Z轴距离玻片的高度") + private Double motorZHeight; + + /** + * Mpa兆帕 不处理 + */ + @Schema(description = "Mpa兆帕 不处理") + private Double gasPressure; + + /** + * 单位uL微升 基质流速(控制注射泵速度) + */ + @Schema(description = "单位uL微升 基质流速(控制注射泵速度)") + private Double volume; + + /** + * 是否打开高压 + */ + @Schema(description = "是否打开高压") + private Boolean highVoltage; + + /** + * 高压值 + */ + @Schema(description = "高压值") + private Double highVoltageValue; + + /** + * 毫米 喷涂间距 + */ + @Schema(description = " 喷涂间距(毫米)") + private Double spacing; + + /** + * 移动速度 轴速度 + */ + @Schema(description = "轴移动速度") + private Double movingSpeed; + + /** + * 喷涂遍数 + */ + @Schema(description = "喷涂遍数") + private Double times; + + /** + * 喷涂范围 + */ + @Schema(description = "喷涂范围") + private List> positionList; +} \ No newline at end of file diff --git a/src/main/java/com/qyft/ms/app/model/vo/SelfTestVO.java b/src/main/java/com/qyft/ms/app/model/vo/SelfTestVO.java index 03cbd0e..ccb3e4f 100644 --- a/src/main/java/com/qyft/ms/app/model/vo/SelfTestVO.java +++ b/src/main/java/com/qyft/ms/app/model/vo/SelfTestVO.java @@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; /** - * 自检结果 BO,用于存储各项设备的自检状态 + * 自检结果 VO,用于存储各项设备的自检状态 */ @Data public class SelfTestVO { diff --git a/src/main/java/com/qyft/ms/app/model/vo/SprayTaskStatusVO.java b/src/main/java/com/qyft/ms/app/model/vo/SprayTaskStatusVO.java new file mode 100644 index 0000000..66a12d7 --- /dev/null +++ b/src/main/java/com/qyft/ms/app/model/vo/SprayTaskStatusVO.java @@ -0,0 +1,30 @@ +package com.qyft.ms.app.model.vo; + +import com.qyft.ms.app.model.bo.Point2D; +import com.qyft.ms.app.model.bo.SprayParams; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * 喷涂状态VO + */ +@Data +public class SprayTaskStatusVO { + + /** + * 已喷涂点位 + */ + @Schema(description = "已喷涂点位") + private List> sprayedPoints = new CopyOnWriteArrayList<>(); + + /** + * 喷涂参数 + */ + @Schema(description = "喷涂参数") + private SprayParams sprayParams = new SprayParams(); + + +}