diff --git a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java index d5cb149..170e62d 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/debug/DebugDoorOpenCommand.java @@ -31,7 +31,7 @@ public class DebugDoorOpenCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) { Double speed = cmdDTO.getDoubleParam("speed"); - DevicePosition devicePosition = devicePositionService.getPosition(DevicePositionCode.doorOpen); + DevicePosition devicePosition = devicePositionService.getPosition(DevicePositionCode.doorOpenPosition); return runAsync(() -> { if (speed != null) { DeviceCommandBundle doorSetDeviceCommandBundle = DeviceCommandGenerator.doorSet(speed); diff --git a/src/main/java/com/iflytop/sgs/app/controller/AuthController.java b/src/main/java/com/iflytop/sgs/app/controller/AuthController.java index 49afa84..e0d6525 100644 --- a/src/main/java/com/iflytop/sgs/app/controller/AuthController.java +++ b/src/main/java/com/iflytop/sgs/app/controller/AuthController.java @@ -35,7 +35,7 @@ public class AuthController { public Result login(@Valid @RequestBody LoginDTO loginDTO) { User user = userService.getOne(new LambdaQueryWrapper<>(User.class).eq(User::getUsername, loginDTO.getUsername())); if (user != null && !Objects.equals(user.getDeleted(), Deleted.ENABLE) && user.getPassword().equals(loginDTO.getPassword())) { - deviceStateService.setCurrentUser(user); + deviceStateService.getDeviceState().setCurrentUser(user); user.setPassword(null); return Result.success(user); } @@ -45,7 +45,7 @@ public class AuthController { @Operation(summary = "用户登出") @PostMapping("/logout") public Result logout() { - deviceStateService.setCurrentUser(null); + deviceStateService.getDeviceState().setCurrentUser(null); return Result.success(); } diff --git a/src/main/java/com/iflytop/sgs/app/controller/SelfTestController.java b/src/main/java/com/iflytop/sgs/app/controller/SelfTestController.java index db44e8d..8a0bf9d 100644 --- a/src/main/java/com/iflytop/sgs/app/controller/SelfTestController.java +++ b/src/main/java/com/iflytop/sgs/app/controller/SelfTestController.java @@ -31,7 +31,7 @@ public class SelfTestController { @Operation(summary = "自检完毕") @PostMapping("/finish") public Result selfTestFinish() throws Exception { - deviceStateService.setSelfTest(true); + deviceStateService.getDeviceState().setSelfTest(true); new Thread(() -> { try { //deviceCommandUtilService.capMotorMove(21); @@ -44,7 +44,7 @@ public class SelfTestController { @Operation(summary = "改变自检状态") @PostMapping("/isFinish") public Result selfTestFinish(boolean isFinish) throws Exception { - deviceStateService.setSelfTest(isFinish); + deviceStateService.getDeviceState().setSelfTest(isFinish); new Thread(() -> { try { //deviceCommandUtilService.capMotorMove(21); diff --git a/src/main/java/com/iflytop/sgs/app/model/bo/status/device/DeviceState.java b/src/main/java/com/iflytop/sgs/app/model/bo/status/device/DeviceState.java index 7a773dc..5baf9d5 100644 --- a/src/main/java/com/iflytop/sgs/app/model/bo/status/device/DeviceState.java +++ b/src/main/java/com/iflytop/sgs/app/model/bo/status/device/DeviceState.java @@ -70,5 +70,13 @@ public class DeviceState { } return null; } + public synchronized TrayState getTrayState(String trayUUID) { + for (TrayState t : trays) { + if (t.getUuid().equals(trayUUID)) { + return t; + } + } + return null; + } } diff --git a/src/main/java/com/iflytop/sgs/app/service/api/HeatService.java b/src/main/java/com/iflytop/sgs/app/service/api/HeatService.java index 4c6d8e5..9a76994 100644 --- a/src/main/java/com/iflytop/sgs/app/service/api/HeatService.java +++ b/src/main/java/com/iflytop/sgs/app/service/api/HeatService.java @@ -1,5 +1,6 @@ package com.iflytop.sgs.app.service.api; +import com.iflytop.sgs.app.model.bo.status.device.HeatModuleState; import com.iflytop.sgs.app.model.vo.SetHeatModuleEnableVO; import com.iflytop.sgs.app.model.vo.SetTargetTemperatureVO; import com.iflytop.sgs.app.service.device.DeviceStateService; @@ -15,7 +16,11 @@ public class HeatService { private final DeviceStateService deviceStateService; public void setTargetTemperature(SetTargetTemperatureVO setTargetTemperatureVO) { - deviceStateService.setHeatModuleStatePreSetTemperature(setTargetTemperatureVO.getModuleCode(), setTargetTemperatureVO); + HeatModuleState heatModuleState=deviceStateService.getDeviceState().getHeatModuleByCode(setTargetTemperatureVO.getModuleCode()); + heatModuleState.setAnnealTemperature(setTargetTemperatureVO.getAnnealTemperature()); + heatModuleState.setDryTemperature(setTargetTemperatureVO.getDryTemperature()); + heatModuleState.setHeatTemperature(setTargetTemperatureVO.getHeatTemperature()); + } public void setEnable(SetHeatModuleEnableVO setHeatModuleEnableVO){ diff --git a/src/main/java/com/iflytop/sgs/app/service/api/SystemConfigService.java b/src/main/java/com/iflytop/sgs/app/service/api/SystemConfigService.java index e7c83fb..707e3d2 100644 --- a/src/main/java/com/iflytop/sgs/app/service/api/SystemConfigService.java +++ b/src/main/java/com/iflytop/sgs/app/service/api/SystemConfigService.java @@ -21,8 +21,6 @@ import java.io.InputStreamReader; @RequiredArgsConstructor public class SystemConfigService extends ServiceImpl { - private final SystemConfigMapper systemConfigMapper; - private final DeviceStateService deviceStateService; /** * 设置系统日期和时间。 diff --git a/src/main/java/com/iflytop/sgs/app/service/api/TasksService.java b/src/main/java/com/iflytop/sgs/app/service/api/TasksService.java index ec03e33..295c975 100644 --- a/src/main/java/com/iflytop/sgs/app/service/api/TasksService.java +++ b/src/main/java/com/iflytop/sgs/app/service/api/TasksService.java @@ -66,7 +66,7 @@ public class TasksService extends ServiceImpl { taskSteps.setTaskId(tasks.getId()); taskSteps.setStepDescription("开始实验"); taskStepsService.save(taskSteps); - deviceStateService.setCurrentTasks(tasks); + deviceStateService.getDeviceState().setCurrentTasks(tasks); return tasks; } @@ -92,7 +92,7 @@ public class TasksService extends ServiceImpl { tasks.setStatus(2); tasks.setEndTime(LocalDateTime.now()); this.updateById(tasks); - deviceStateService.setCurrentTasks(null); + deviceStateService.getDeviceState().setCurrentTasks(null); } } diff --git a/src/main/java/com/iflytop/sgs/app/service/api/TrayService.java b/src/main/java/com/iflytop/sgs/app/service/api/TrayService.java index 3f22b2d..183898c 100644 --- a/src/main/java/com/iflytop/sgs/app/service/api/TrayService.java +++ b/src/main/java/com/iflytop/sgs/app/service/api/TrayService.java @@ -21,9 +21,9 @@ public class TrayService { */ public synchronized TrayState trayIn() { TrayState trayState = new TrayState(); - trayState.setInFeed(true); + trayState.setInFeedArea(true); deviceStateService.getDeviceState().getTrays().add(trayState); - deviceStateService.setSolutionModuleStateTrayStatus(1); + deviceStateService.getDeviceState().getSolutionModule().setFeedAreaTrayStatus(true); return trayState; } @@ -32,15 +32,15 @@ public class TrayService { */ public synchronized void trayOut() { List trayList = deviceStateService.getDeviceState().getTrays(); - trayList.removeIf(TrayState::isInSolutionModule); - deviceStateService.setSolutionModuleStateTrayStatus(0); + trayList.removeIf(TrayState::isInSolutionPositon); + deviceStateService.getDeviceState().getSolutionModule().setFeedAreaTrayStatus(false); } /** * 设置托盘试管 */ public synchronized void setTrayTube(SetTrayTubeVO setTrayTubeVO) { - TrayState trayState = deviceStateService.getTrayState(setTrayTubeVO.getTrayUuid()); + TrayState trayState = deviceStateService.getDeviceState().getTrayState(setTrayTubeVO.getTrayUuid()); trayState.setTubes(setTrayTubeVO.getTubes()); } diff --git a/src/main/java/com/iflytop/sgs/app/service/device/DeviceInitService.java b/src/main/java/com/iflytop/sgs/app/service/device/DeviceInitService.java index fc91587..2fb5ed3 100644 --- a/src/main/java/com/iflytop/sgs/app/service/device/DeviceInitService.java +++ b/src/main/java/com/iflytop/sgs/app/service/device/DeviceInitService.java @@ -23,7 +23,7 @@ public class DeviceInitService { Thread.sleep(2000); initDeviceState(); initDeviceSetData(); - deviceStateService.setInitComplete(true); + deviceStateService.getDeviceState().setInitComplete(true); } catch (Exception e) { log.error("设备初始化失败", e); } diff --git a/src/main/java/com/iflytop/sgs/app/ws/client/DeviceEmergencyStopConfig.java b/src/main/java/com/iflytop/sgs/app/ws/client/DeviceEmergencyStopConfig.java index 7501193..649c0ce 100644 --- a/src/main/java/com/iflytop/sgs/app/ws/client/DeviceEmergencyStopConfig.java +++ b/src/main/java/com/iflytop/sgs/app/ws/client/DeviceEmergencyStopConfig.java @@ -34,13 +34,13 @@ public class DeviceEmergencyStopConfig { try { commandPoolManager.forceShutdownAll();//强制终止现在运行的所有指令 //stepCommandService.stopAll(); - deviceStateService.setEmergencyStop(true); + deviceStateService.getDeviceState().setEmergencyStop(true); } catch (Exception e) { log.error("设备急停失败:{}", e.getMessage()); throw new RuntimeException(e); } } else if (s.get("event").equals("release")) { - deviceStateService.setEmergencyStop(false); + deviceStateService.getDeviceState().setEmergencyStop(false); log.info("解除急停{}", s); } }); diff --git a/src/main/resources/sql/init.sql b/src/main/resources/sql/init.sql index 2a32909..63e4879 100644 --- a/src/main/resources/sql/init.sql +++ b/src/main/resources/sql/init.sql @@ -29,7 +29,7 @@ CREATE TABLE IF NOT EXISTS device_position ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, - code TEXT, NOT NULL UNIQUE, + code TEXT NOT NULL UNIQUE, type TEXT, position TEXT, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, @@ -40,7 +40,7 @@ CREATE TABLE IF NOT EXISTS device_position CREATE TABLE IF NOT EXISTS system_config ( id INTEGER PRIMARY KEY AUTOINCREMENT, - name TEXT + name TEXT, code TEXT NOT NULL UNIQUE, value TEXT, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,