From d00274f27b979aac3ce08ba229414d76b796d356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Fri, 25 Jul 2025 16:18:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=AE=BE=E5=A4=87=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=96=B9=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../colortitration/app/core/state/HeatModuleState.java | 4 ++++ .../app/core/state/TitrationModuleState.java | 3 +++ .../colortitration/app/service/DeviceInitService.java | 16 ++++++++++------ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/iflytop/colortitration/app/core/state/HeatModuleState.java b/src/main/java/com/iflytop/colortitration/app/core/state/HeatModuleState.java index eb2c7ee..e0a251c 100644 --- a/src/main/java/com/iflytop/colortitration/app/core/state/HeatModuleState.java +++ b/src/main/java/com/iflytop/colortitration/app/core/state/HeatModuleState.java @@ -37,4 +37,8 @@ public class HeatModuleState { @Schema(description = "开始加热的时间") private LocalDateTime startHeatTime = null; + + public HeatModuleState(MultipleModuleCode moduleCode) { + this.moduleCode = moduleCode; + } } diff --git a/src/main/java/com/iflytop/colortitration/app/core/state/TitrationModuleState.java b/src/main/java/com/iflytop/colortitration/app/core/state/TitrationModuleState.java index 34a0de5..cbb279b 100644 --- a/src/main/java/com/iflytop/colortitration/app/core/state/TitrationModuleState.java +++ b/src/main/java/com/iflytop/colortitration/app/core/state/TitrationModuleState.java @@ -21,4 +21,7 @@ public class TitrationModuleState { @Schema(description = "是否存在试管,true 存在 false不存在") private boolean bubeExist = false; + public TitrationModuleState(MultipleModuleCode moduleCode) { + this.moduleCode = moduleCode; + } } diff --git a/src/main/java/com/iflytop/colortitration/app/service/DeviceInitService.java b/src/main/java/com/iflytop/colortitration/app/service/DeviceInitService.java index 67707a8..c15d769 100644 --- a/src/main/java/com/iflytop/colortitration/app/service/DeviceInitService.java +++ b/src/main/java/com/iflytop/colortitration/app/service/DeviceInitService.java @@ -2,6 +2,7 @@ package com.iflytop.colortitration.app.service; import com.iflytop.colortitration.app.common.enums.MultipleModuleCode; import com.iflytop.colortitration.app.core.state.DeviceState; +import com.iflytop.colortitration.app.core.state.HeatModuleState; import com.iflytop.colortitration.app.core.state.TitrationModuleState; import com.iflytop.colortitration.hardware.service.AppEventBusService; import com.iflytop.colortitration.hardware.type.appevent.A8kCanBusOnConnectEvent; @@ -20,6 +21,7 @@ public class DeviceInitService { private boolean isLink = false; private final DeviceState deviceState; private final ObjectProvider titrationModuleObjectProvider; + private final ObjectProvider heatModuleObjectProvider; @PostConstruct public void init() { @@ -47,12 +49,14 @@ public class DeviceInitService { public void initDeviceState() { log.info("初始化 initDeviceState"); - TitrationModuleState trayModule1 = titrationModuleObjectProvider.getObject(); - trayModule1.setModuleCode(MultipleModuleCode.MODULE_1); - deviceState.getTitrationModuleStateMap().put(MultipleModuleCode.MODULE_1, trayModule1); - TitrationModuleState trayModule2 = titrationModuleObjectProvider.getObject(); - trayModule2.setModuleCode(MultipleModuleCode.MODULE_2); - deviceState.getTitrationModuleStateMap().put(MultipleModuleCode.MODULE_2, trayModule2); + for (MultipleModuleCode code : MultipleModuleCode.values()) { + //初始化滴定模块 + TitrationModuleState titrationmoduleState = titrationModuleObjectProvider.getObject(code); + deviceState.getTitrationModuleStateMap().put(code, titrationmoduleState); + //初始化加热模块 + HeatModuleState heatModuleState = heatModuleObjectProvider.getObject(code); + deviceState.getHeatModuleStateMap().put(code, heatModuleState); + } log.info("初始化 initDeviceState完毕"); }