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完毕"); }