Browse Source

feat:工艺部分实现

master
白凤吉 3 months ago
parent
commit
5cd63bc98d
  1. 4
      src/main/java/com/iflytop/gd/app/config/CraftsStateMachineConfig.java
  2. 2
      src/main/java/com/iflytop/gd/app/controller/AuthController.java
  3. 8
      src/main/java/com/iflytop/gd/app/core/CraftsContext.java
  4. 76
      src/main/java/com/iflytop/gd/app/core/DeviceState.java
  5. 17
      src/main/java/com/iflytop/gd/app/model/bo/Point2D.java
  6. 14
      src/main/java/com/iflytop/gd/app/model/bo/Point3D.java
  7. 6
      src/main/java/com/iflytop/gd/app/model/entity/User.java
  8. 2
      src/main/java/com/iflytop/gd/app/model/vo/CraftStatusVO.java
  9. 4
      src/main/java/com/iflytop/gd/app/service/CraftsService.java
  10. 144
      src/main/java/com/iflytop/gd/app/service/CraftsStepService.java
  11. 105
      src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java
  12. 2
      src/main/java/com/iflytop/gd/app/service/UserService.java
  13. 19
      src/main/java/com/iflytop/gd/common/enums/AcidPumpDevice.java
  14. 9
      src/main/java/com/iflytop/gd/common/enums/TrayLiftStatus.java
  15. 2
      src/main/java/com/iflytop/gd/common/enums/automaton/CraftEvents.java
  16. 2
      src/main/java/com/iflytop/gd/common/enums/automaton/CraftStates.java
  17. 2
      src/main/java/com/iflytop/gd/common/enums/data/Deleted.java
  18. 2
      src/main/java/com/iflytop/gd/common/enums/data/FixedUser.java
  19. 2
      src/main/java/com/iflytop/gd/common/enums/data/UsrRole.java

4
src/main/java/com/iflytop/gd/app/config/CraftsStateMachineConfig.java

@ -1,7 +1,7 @@
package com.iflytop.gd.app.config;
import com.iflytop.gd.common.enums.CraftEvents;
import com.iflytop.gd.common.enums.CraftStates;
import com.iflytop.gd.common.enums.automaton.CraftEvents;
import com.iflytop.gd.common.enums.automaton.CraftStates;
import org.springframework.context.annotation.Configuration;
import org.springframework.statemachine.config.EnableStateMachineFactory;
import org.springframework.statemachine.config.StateMachineConfigurerAdapter;

2
src/main/java/com/iflytop/gd/app/controller/AuthController.java

@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.iflytop.gd.app.model.dto.LoginDTO;
import com.iflytop.gd.app.model.entity.User;
import com.iflytop.gd.app.service.UserService;
import com.iflytop.gd.common.enums.Deleted;
import com.iflytop.gd.common.enums.data.Deleted;
import com.iflytop.gd.common.result.Result;
import com.iflytop.gd.common.result.ResultCode;
import io.swagger.v3.oas.annotations.Operation;

8
src/main/java/com/iflytop/gd/app/core/CraftsContext.java

@ -1,8 +1,8 @@
package com.iflytop.gd.app.core;
import cn.hutool.json.JSONUtil;
import com.iflytop.gd.common.enums.CraftEvents;
import com.iflytop.gd.common.enums.CraftStates;
import com.iflytop.gd.common.enums.automaton.CraftEvents;
import com.iflytop.gd.common.enums.automaton.CraftStates;
import com.iflytop.gd.app.model.bo.CraftsStep;
import com.iflytop.gd.app.model.entity.Crafts;
import com.iflytop.gd.app.model.entity.Ores;
@ -94,7 +94,7 @@ public class CraftsContext implements Runnable {
Message<CraftEvents> finishMsg = MessageBuilder.withPayload(CraftEvents.FINISH).build();
Mono.from(sm.sendEvent(Mono.just(finishMsg))).block();
}
} catch (InterruptedException e) {
} catch (Exception e) {
Message<CraftEvents> stopMsg = MessageBuilder.withPayload(CraftEvents.STOP).build();
Mono.from(sm.sendEvent(Mono.just(stopMsg))).block();
}
@ -107,7 +107,7 @@ public class CraftsContext implements Runnable {
* @return 是否执行成功
* @throws InterruptedException 执行中被中断
*/
private boolean executeStep(CraftsStep step) throws InterruptedException {
private boolean executeStep(CraftsStep step) throws Exception {
Map<String, Object> startData = new HashMap<>();
startData.put("heatId", heatId);
startData.put("currentStep", step.getMethod());

76
src/main/java/com/iflytop/gd/app/core/DeviceState.java

@ -3,14 +3,21 @@ package com.iflytop.gd.app.core;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@Schema(description = "当前设备状态")
@Data
public class DeviceState {
private final Lock liquidLock = new ReentrantLock();
private final Condition liquidIdleCondition = liquidLock.newCondition();
@Schema(description = "是否是急停状态,true为急停")
private AtomicBoolean emergencyStop = new AtomicBoolean(false);
@ -24,25 +31,19 @@ public class DeviceState {
private AtomicReference<LiquidArea> liquidArea = new AtomicReference<>(new LiquidArea());
@Schema(description = "加热操作区属性")
private CopyOnWriteArrayList<HeatArea> heatArea = new CopyOnWriteArrayList<>();
private List<HeatArea> heatArea = new ArrayList<>();
@Schema(description = "碱容器状态")
private AtomicReference<LiquidBucket> alkaliBucket = new AtomicReference<>(new LiquidBucket());
/**
* 龙门架机械臂属性
*/
@Data
private static class GantryArm {
@Schema(description = "是否空闲,true为空闲,false为占用")
private AtomicBoolean idle = new AtomicBoolean(true);
}
/**
* 加液操作区属性
*/
@Data
private static class LiquidArea {
public static class LiquidArea {
@Schema(description = "是否空闲,true为空闲,false为占用")
private AtomicBoolean idle = new AtomicBoolean(true);
@ -53,17 +54,14 @@ public class DeviceState {
private AtomicInteger trayStatus = new AtomicInteger(0);
@Schema(description = "溶液容器状态")
private CopyOnWriteArrayList<LiquidBucket> solutionBucket = new CopyOnWriteArrayList<>();
private List<LiquidBucket> solutionBucket = new ArrayList<>();
@Schema(description = "加液泵状态")
private CopyOnWriteArrayList<Pump> pump = new CopyOnWriteArrayList<>();
@Schema(description = "是否正在加液,true正在加液,false未运行")
private AtomicBoolean isPumping = new AtomicBoolean(false);
}
/**
* 加热操作区属性
*/
@Data
private static class HeatArea {
public static class HeatArea {
@Schema(description = "加热器设备id")
private String hardwareId;
@ -77,23 +75,11 @@ public class DeviceState {
private AtomicBoolean capStatus = new AtomicBoolean(false);
@Schema(description = "加热器当前温度")
private AtomicReference<Double> temperature = new AtomicReference<>(0.0);
}
/**
* 泵属性
*/
@Data
private static class Pump {
@Schema(description = "加液泵id")
private String pumpId;
@Schema(description = "是否正在加液,true正在加液,false未运行")
private AtomicInteger isPumping = new AtomicInteger(0);
private AtomicInteger temperature = new AtomicInteger(0);
}
@Data
private static class LiquidBucket {
public static class LiquidBucket {
@Schema(description = "容器是否为空,true为空,false不为空")
private AtomicBoolean isEmpty = new AtomicBoolean(false);
@ -111,4 +97,34 @@ public class DeviceState {
private static class DeviceStateHolder {
private static final DeviceState INSTANCE = new DeviceState();
}
/**
* 等待加液区空闲
*/
public void waitLiquidIdle() {
liquidLock.lock();
try {
while (!DeviceState.getInstance().getLiquidArea().get().getIdle().get()) {
liquidIdleCondition.await();
}
} catch (InterruptedException e) {
throw new RuntimeException("等待加液区空闲错误", e);
} finally {
liquidLock.unlock();
}
}
/**
* 释放加液区
*/
public void setLiquidIdleTrue() {
liquidLock.lock();
try {
DeviceState.getInstance().getLiquidArea().get().getIdle().set(true);
liquidIdleCondition.signalAll(); // 唤醒所有等待的线程
} finally {
liquidLock.unlock();
}
}
}

17
src/main/java/com/iflytop/gd/app/model/bo/Point2D.java

@ -0,0 +1,17 @@
package com.iflytop.gd.app.model.bo;
import lombok.Getter;
@Getter
public class Point2D {
private final Double x;
private final Double y;
public Point2D(Double x, Double y) {
this.x = x;
this.y = y;
}
}

14
src/main/java/com/iflytop/gd/app/model/bo/Point3D.java

@ -5,19 +5,15 @@ import lombok.Getter;
@Getter
public class Point3D {
private final Integer x;
private final Integer y;
private final Integer z;
private final Double x;
private final Double y;
private final Double z;
public Point3D(Integer x, Integer y, Integer z) {
public Point3D(Double x, Double y, Double z) {
this.x = x;
this.y = y;
this.z = z;
}
public Point3D(Integer x, Integer y) {
this.x = x;
this.y = y;
this.z = 0;
}
}

6
src/main/java/com/iflytop/gd/app/model/entity/User.java

@ -2,9 +2,9 @@ package com.iflytop.gd.app.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iflytop.gd.common.base.BaseEntity;
import com.iflytop.gd.common.enums.Deleted;
import com.iflytop.gd.common.enums.FixedUser;
import com.iflytop.gd.common.enums.UsrRole;
import com.iflytop.gd.common.enums.data.Deleted;
import com.iflytop.gd.common.enums.data.FixedUser;
import com.iflytop.gd.common.enums.data.UsrRole;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

2
src/main/java/com/iflytop/gd/app/model/vo/CraftStatusVO.java

@ -1,6 +1,6 @@
package com.iflytop.gd.app.model.vo;
import com.iflytop.gd.common.enums.CraftStates;
import com.iflytop.gd.common.enums.automaton.CraftStates;
import com.iflytop.gd.app.model.bo.CraftsStep;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

4
src/main/java/com/iflytop/gd/app/service/CraftsService.java

@ -2,8 +2,8 @@ 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.CraftEvents;
import com.iflytop.gd.common.enums.CraftStates;
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;

144
src/main/java/com/iflytop/gd/app/service/CraftsStepService.java

@ -1,7 +1,13 @@
package com.iflytop.gd.app.service;
import cn.hutool.json.JSONObject;
import com.iflytop.gd.app.core.DeviceState;
import com.iflytop.gd.app.model.bo.CraftsStep;
import com.iflytop.gd.app.model.bo.Point3D;
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.HeatModuleId;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -11,44 +17,58 @@ import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class CraftsStepService {
private final DeviceCommandService deviceCommandService;
private final DeviceCommandUtilService deviceCommandUtilService;
/**
* 执行单个工艺步骤
*
* @param heatId 加热区 ID
* @param step 工艺步骤包括 method params
* @return true 表示执行成功false 表示失败
* @param step 工艺步骤包括 method params
* @return true 表示执行成功false 表示失败
*/
public boolean executeStep(String heatId, CraftsStep step){
public boolean executeStep(String heatId, CraftsStep step) throws Exception {
String method = step.getMethod();
JSONObject params = step.getParams();
delay(3);
return switch (method) {
case "ADD_LIQUID" -> addLiquid(heatId, params);
case "SHAKING" -> shaking(params);
case "HEATING" -> heating(heatId, params);
case "TAKE_PHOTO" -> takePhoto(heatId);
default -> true;
case "ADD_LIQUID" -> addLiquid(heatId, params);
case "SHAKING" -> shaking(params);
case "HEATING" -> heating(heatId, params);
case "TAKE_PHOTO" -> takePhoto(heatId);
default -> true;
};
}
/**
* 添加溶液
*/
private boolean addLiquid(String heatId, JSONObject params) {
//if 判断加液区是否空闲
//等待空闲
//if 判断托盘电机是否升起
//升起托盘
//if 判断托盘是否有拍子
//将机械臂移动至托盘上方
//下降机械臂使夹爪可以夹住拍子
//夹住拍子
//机械臂提升至安全高度
//下降拍子存放区1个位置
//将机械臂移动至拍子存放区上方
//下降机械臂
//松开夹爪
private boolean addLiquid(String heatId, JSONObject params) throws Exception {
//TODO 判断加液区是否空闲
DeviceState.getInstance().waitLiquidIdle();//等待加液区空闲
//TODO 判断托盘电机是否升起
//升起托盘
HeatModuleId heatModuleId = HeatModuleId.valueOf(heatId);
double heaterMotorMoveUpPosition = 0.0; //TODO 加热位抬升托盘位置 从数据库中获取
deviceCommandUtilService.heaterMotorMove(heatModuleId, heaterMotorMoveUpPosition);
//TODO 判断托盘是否有拍子
//将机械臂移动至托盘上方
Point3D aboveTrayPoint3D = new Point3D(0.0, 0.0, 0.0);//TODO 托盘上方点位 从数据库中获取
deviceCommandUtilService.gantryMove(aboveTrayPoint3D);
//下降机械臂使夹爪可以夹住拍子
double aboveTrayCapPosition = 0.0;//TODO 下降机械臂使夹爪可以夹住拍子的位置 从数据库中获取
deviceCommandUtilService.gantryXMove(aboveTrayCapPosition);
//夹住拍子
double clawClampPosition = 0.0;//TODO 夹拍子收紧度 从数据库中获取
deviceCommandUtilService.clawClamp(clawClampPosition);
//机械臂提升至安全高度
double gantryCarryCapUpSafePosition = 0.0;//TODO 机械臂携带拍子的安全高度位置 从数据库中获取
deviceCommandUtilService.gantryZMove(gantryCarryCapUpSafePosition);
//下降拍子存放区1个位置
deviceCommandUtilService.capMotorMove(-1);
//将机械臂移动至拍子存放区上方
//下降机械臂
//松开夹爪
//将机械臂移动至托盘上方
//下降机械臂使夹爪可以夹住托盘
//机械臂提升至安全位置
@ -57,8 +77,8 @@ public class CraftsStepService {
//松开夹爪
//提升机械臂至安全高度
//for 根据工艺配置添加溶液
//加液机械臂移动至第N个试管
//启动x加液泵添加m毫升溶液
//加液机械臂移动至第N个试管
//启动x加液泵添加m毫升溶液
return true;
}
@ -76,24 +96,24 @@ public class CraftsStepService {
*/
private boolean heating(String heatId, JSONObject params) {
//if 判断加液区是否有托盘
//将机械臂移动至加液区托盘上方
//下降机械臂使夹爪可以夹住托盘
//夹住托盘
//将托盘提升至安全高度
//将机械臂移动至加热区上方
//下降机械臂使托盘与试管落入加热区
//将机械臂提升至安全高度
//移动机械臂至拍子存放区上方
//下降机械臂使夹爪可以夹住拍子
//提升机械臂携带拍子至安全高度
//将机械臂移动至加热区托盘上方
//降下机械臂使拍子盖住托盘试管
//松开夹爪
//提升机械臂至安全高度
//降下托盘
//根据配置开始加热
//将机械臂移动至加液区托盘上方
//下降机械臂使夹爪可以夹住托盘
//夹住托盘
//将托盘提升至安全高度
//将机械臂移动至加热区上方
//下降机械臂使托盘与试管落入加热区
//将机械臂提升至安全高度
//移动机械臂至拍子存放区上方
//下降机械臂使夹爪可以夹住拍子
//提升机械臂携带拍子至安全高度
//将机械臂移动至加热区托盘上方
//降下机械臂使拍子盖住托盘试管
//松开夹爪
//提升机械臂至安全高度
//降下托盘
//根据配置开始加热
//else
//根据配置开始加热
//根据配置开始加热
//加热结束提升托盘
return true;
}
@ -103,34 +123,34 @@ public class CraftsStepService {
*/
private boolean takePhoto(String heatId) {
//if 判断加液位是否有托盘
//进行拍照
//进行拍照
//else
//if 判断托盘电机是否升起
//升起托盘
//if 判断托盘是否有拍子
//将机械臂移动至托盘上方
//下降机械臂使夹爪可以夹住拍子
//夹住拍子
//机械臂提升至安全高度
//下降拍子存放区1个位置
//将机械臂移动至拍子存放区上方
//下降机械臂
//松开夹爪
//将机械臂移动至托盘上方
//下降机械臂使夹爪可以夹住托盘
//机械臂提升至安全位置
//移动机械臂至加液区
//下降机械臂将托盘与试管落入加液区
//松开夹爪
//提升机械臂至安全高度
//进行拍照
//if 判断托盘电机是否升起
//升起托盘
//if 判断托盘是否有拍子
//将机械臂移动至托盘上方
//下降机械臂使夹爪可以夹住拍子
//夹住拍子
//机械臂提升至安全高度
//下降拍子存放区1个位置
//将机械臂移动至拍子存放区上方
//下降机械臂
//松开夹爪
//将机械臂移动至托盘上方
//下降机械臂使夹爪可以夹住托盘
//机械臂提升至安全位置
//移动机械臂至加液区
//下降机械臂将托盘与试管落入加液区
//松开夹爪
//提升机械臂至安全高度
//进行拍照
return true;
}
/**
* 延时等待
*/
private boolean delay(int seconds){
private boolean delay(int seconds) {
try {
Thread.sleep(seconds * 1000L);
} catch (InterruptedException e) {

105
src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java

@ -0,0 +1,105 @@
package com.iflytop.gd.app.service;
import com.iflytop.gd.app.model.bo.Point3D;
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.HeatModuleId;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@Component
@RequiredArgsConstructor
public class DeviceCommandUtilService {
private final DeviceCommandService deviceCommandService;
/**
* 龙门架机械臂移动到指定点
*/
public void gantryMove(Point3D point) throws Exception {
DeviceCommandBundle gantryXMoveDeviceCommand = DeviceCommandGenerator.gantryXMove(point.getX());
DeviceCommandBundle gantryYMoveDeviceCommand = DeviceCommandGenerator.gantryYMove(point.getY());
DeviceCommandBundle gantryZMoveDeviceCommand = DeviceCommandGenerator.gantryZMove(point.getZ());
CommandFuture gantryXMoveDeviceCommandFuture = deviceCommandService.sendCommand(gantryXMoveDeviceCommand);
CommandFuture gantryYMoveDeviceCommandFuture = deviceCommandService.sendCommand(gantryYMoveDeviceCommand);
CommandFuture gantryZMoveDeviceCommandFuture = deviceCommandService.sendCommand(gantryZMoveDeviceCommand);
commandWait(gantryXMoveDeviceCommandFuture, gantryYMoveDeviceCommandFuture, gantryZMoveDeviceCommandFuture);
}
/**
* 龙门架机械臂X轴移动到指定点
*/
public void gantryXMove(double position) throws Exception {
DeviceCommandBundle gantryXMoveDeviceCommand = DeviceCommandGenerator.gantryXMove(position);
CommandFuture gantryXMoveDeviceCommandFuture = deviceCommandService.sendCommand(gantryXMoveDeviceCommand);
commandWait(gantryXMoveDeviceCommandFuture);
}
/**
* 龙门架机械臂Y轴移动到指定点
*/
public void gantryYMove(double position) throws Exception {
DeviceCommandBundle gantryXMoveDeviceCommand = DeviceCommandGenerator.gantryYMove(position);
CommandFuture gantryXMoveDeviceCommandFuture = deviceCommandService.sendCommand(gantryXMoveDeviceCommand);
commandWait(gantryXMoveDeviceCommandFuture);
}
/**
* 龙门架机械臂Z轴移动到指定点
*/
public void gantryZMove(double position) throws Exception {
DeviceCommandBundle gantryXMoveDeviceCommand = DeviceCommandGenerator.gantryZMove(position);
CommandFuture gantryXMoveDeviceCommandFuture = deviceCommandService.sendCommand(gantryXMoveDeviceCommand);
commandWait(gantryXMoveDeviceCommandFuture);
}
/**
* 收紧夹爪
*/
public void clawClamp(double position) throws Exception {
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.clawMove(position);
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(deviceCommand);
commandWait(deviceCommandFuture);
}
/**
* 调整拍子升降电机位置
* @param num 1为上升1格-1为下降1格
*/
public void capMotorMove(int num) throws Exception {
double capHeight = 0.0; //TODO 每个拍子的高度 从数据库中获取
//TODO 获取当前拍子升降电机位置
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.trayMotorMove(num * capHeight);
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(deviceCommand);
commandWait(deviceCommandFuture);
}
/**
* 加热模块升降电机移动到指定位置
*/
public void heaterMotorMove(HeatModuleId heatModuleId, double position) throws Exception {
DeviceCommandBundle deviceCommand = switch (heatModuleId) {
case HeatModuleId.MODULE_01 -> DeviceCommandGenerator.heaterMotor1Move(position);
case HeatModuleId.MODULE_02 -> DeviceCommandGenerator.heaterMotor2Move(position);
case HeatModuleId.MODULE_03 -> DeviceCommandGenerator.heaterMotor3Move(position);
case HeatModuleId.MODULE_04 -> DeviceCommandGenerator.heaterMotor4Move(position);
case HeatModuleId.MODULE_05 -> DeviceCommandGenerator.heaterMotor5Move(position);
case HeatModuleId.MODULE_06 -> DeviceCommandGenerator.heaterMotor6Move(position);
};
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(deviceCommand);
commandWait(deviceCommandFuture);
}
public void commandWait(CommandFuture... futures) throws Exception {
CompletableFuture<?>[] responseFutures = Arrays.stream(futures)
.map(CommandFuture::getResponseFuture)
.toArray(CompletableFuture[]::new);
CompletableFuture.allOf(responseFutures)
.get(120, TimeUnit.SECONDS);
}
}

2
src/main/java/com/iflytop/gd/app/service/UserService.java

@ -1,7 +1,7 @@
package com.iflytop.gd.app.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.iflytop.gd.common.enums.FixedUser;
import com.iflytop.gd.common.enums.data.FixedUser;
import com.iflytop.gd.app.mapper.UserMapper;
import com.iflytop.gd.app.model.entity.User;
import lombok.Getter;

19
src/main/java/com/iflytop/gd/common/enums/AcidPumpDevice.java

@ -4,18 +4,19 @@ import lombok.Getter;
/**
* 泵设备id枚举
* 格式为 "acid_pump_01" ~ "acid_pump_08"
*/
@Getter
public enum AcidPumpDevice {
PUMP_01("acid_pump1"),
PUMP_02("acid_pump2"),
PUMP_03("acid_pump3"),
PUMP_04("acid_pump4"),
PUMP_05("acid_pump5"),
PUMP_06("acid_pump6"),
PUMP_07("acid_pump7"),
PUMP_08("acid_pump8");
PUMP_01("acid_pump_01"),
PUMP_02("acid_pump_02"),
PUMP_03("acid_pump_03"),
PUMP_04("acid_pump_04"),
PUMP_05("acid_pump_05"),
PUMP_06("acid_pump_06"),
PUMP_07("acid_pump_07"),
PUMP_08("acid_pump_08");
0
private final String id;
AcidPumpDevice(String id) {

9
src/main/java/com/iflytop/gd/common/enums/TrayLiftStatus.java

@ -1,9 +0,0 @@
package com.iflytop.gd.common.enums;
/**
* 托盘升降状态
*/
public enum TrayLiftStatus {
UP,
DOWN
}

2
src/main/java/com/iflytop/gd/common/enums/CraftEvents.java → src/main/java/com/iflytop/gd/common/enums/automaton/CraftEvents.java

@ -1,4 +1,4 @@
package com.iflytop.gd.common.enums;
package com.iflytop.gd.common.enums.automaton;
/**
* 工艺状态机事件枚举

2
src/main/java/com/iflytop/gd/common/enums/CraftStates.java → src/main/java/com/iflytop/gd/common/enums/automaton/CraftStates.java

@ -1,4 +1,4 @@
package com.iflytop.gd.common.enums;
package com.iflytop.gd.common.enums.automaton;
/**
* 工艺状态机状态枚举

2
src/main/java/com/iflytop/gd/common/enums/Deleted.java → src/main/java/com/iflytop/gd/common/enums/data/Deleted.java

@ -1,4 +1,4 @@
package com.iflytop.gd.common.enums;
package com.iflytop.gd.common.enums.data;
import lombok.Getter;

2
src/main/java/com/iflytop/gd/common/enums/FixedUser.java → src/main/java/com/iflytop/gd/common/enums/data/FixedUser.java

@ -1,4 +1,4 @@
package com.iflytop.gd.common.enums;
package com.iflytop.gd.common.enums.data;
import lombok.Getter;

2
src/main/java/com/iflytop/gd/common/enums/UsrRole.java → src/main/java/com/iflytop/gd/common/enums/data/UsrRole.java

@ -1,4 +1,4 @@
package com.iflytop.gd.common.enums;
package com.iflytop.gd.common.enums.data;
public enum UsrRole {
ADMIN,
Loading…
Cancel
Save