diff --git a/src/main/java/com/iflytop/sgs/app/cmd/control/DryStartCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/control/DryStartCommand.java index 5daff97..bcce7c0 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/control/DryStartCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/control/DryStartCommand.java @@ -35,11 +35,11 @@ public class DryStartCommand extends BaseCommandHandler { for (int i = 0; i < heatModuleCodeJsonArray.size(); i++) { String heatModuleCodeStr = heatModuleCodeJsonArray.getStr(i); HeatModuleCode heatModuleCode = HeatModuleCode.valueOf(heatModuleCodeStr); - HeatModuleState heatModuleState = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode);//获取设定的退火温度 - double targetTemperature = heatModuleState.getAnnealTemperature(); - heatModuleState.setTargetTemperature(targetTemperature);//将退火温度设定为目标温度 + HeatModuleState heatModuleState = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode);//获取设定的烘干温度 + double targetTemperature = heatModuleState.getDryTemperature(); + heatModuleState.setTargetTemperature(targetTemperature);//将烘干温度设定为目标温度 heatModuleService.heatRodOpen(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatModuleCode, targetTemperature); - deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.drying); //设置加热区状态 正在烘干 + deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.drying); //设置加热区状态 烘干中 } }); } diff --git a/src/main/java/com/iflytop/sgs/app/cmd/control/DryStopCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/control/DryStopCommand.java index 1e7cac2..4cb20e8 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/control/DryStopCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/control/DryStopCommand.java @@ -35,11 +35,8 @@ public class DryStopCommand extends BaseCommandHandler { for (int i = 0; i < heatModuleCodeJsonArray.size(); i++) { String heatModuleCodeStr = heatModuleCodeJsonArray.getStr(i); HeatModuleCode heatModuleCode = HeatModuleCode.valueOf(heatModuleCodeStr); - HeatModuleState heatModuleState = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode);//获取设定的退火温度 - double targetTemperature = heatModuleState.getAnnealTemperature(); - heatModuleState.setTargetTemperature(targetTemperature);//将退火温度设定为目标温度 heatModuleService.heatRodClose(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatModuleCode); - deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.stop); //设置加热区状态 正在烘干 + deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.stop); } }); } diff --git a/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStartCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStartCommand.java index a5cbd2b..887880f 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStartCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStartCommand.java @@ -1,6 +1,5 @@ package com.iflytop.sgs.app.cmd.control; -import cn.hutool.core.lang.Assert; import cn.hutool.json.JSONArray; import com.iflytop.sgs.app.core.BaseCommandHandler; import com.iflytop.sgs.app.model.bo.status.device.HeatModuleState; @@ -29,24 +28,18 @@ public class HeatStartCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) { - JSONArray heatIdJsonArray = cmdDTO.getJSONArrayParam("heatId"); - return runAsync(() -> { - for (int i = 0; i < heatIdJsonArray.size(); i++) { - //获取当前加热区 - String heatId = heatIdJsonArray.getStr(i); - HeatModuleCode heatModuleId = HeatModuleCode.valueOf(heatId); - HeatModuleState heatModuleState = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleId); - //判断是否可以进行退火 - Assert.isTrue(heatModuleState.getTrayStatus() == 1, heatModuleId + "加热区无托盘"); - //设置加热区目标温度 - deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleId).setTargetTemperature(heatModuleState.getHeatTemperature()); - //从系统状态中获取指定加热区设定的烘干温度数值 - double temperature = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleId).getHeatTemperature(); - //开启加热 - heatModuleService.heatRodOpen(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatModuleId, temperature); - //设置加热区状态 正在加热 - deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleId).setHeatingType(HeatingType.heating); + JSONArray heatModuleCodeJsonArray = cmdDTO.getJSONArrayParam("heatModuleCode"); + + return runAsync(() -> { + for (int i = 0; i < heatModuleCodeJsonArray.size(); i++) { + String heatModuleCodeStr = heatModuleCodeJsonArray.getStr(i); + HeatModuleCode heatModuleCode = HeatModuleCode.valueOf(heatModuleCodeStr); + HeatModuleState heatModuleState = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode);//获取设定的加热温度 + double targetTemperature = heatModuleState.getHeatTemperature(); + heatModuleState.setTargetTemperature(targetTemperature);//将加热温度设定为目标温度 + heatModuleService.heatRodOpen(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatModuleCode, targetTemperature); + deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.heating); //设置加热区状态 加热中 } }); } diff --git a/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStopCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStopCommand.java index 1ca9bac..cb5753f 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStopCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/control/HeatStopCommand.java @@ -1,9 +1,7 @@ package com.iflytop.sgs.app.cmd.control; -import cn.hutool.core.lang.Assert; import cn.hutool.json.JSONArray; import com.iflytop.sgs.app.core.BaseCommandHandler; -import com.iflytop.sgs.app.model.bo.status.device.HeatModuleState; import com.iflytop.sgs.app.model.dto.CmdDTO; import com.iflytop.sgs.app.service.device.DeviceStateService; import com.iflytop.sgs.app.service.device.module.HeatModuleService; @@ -29,18 +27,15 @@ public class HeatStopCommand extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) { - JSONArray heatIdJsonArray = cmdDTO.getJSONArrayParam("heatId"); + + JSONArray heatModuleCodeJsonArray = cmdDTO.getJSONArrayParam("heatModuleCode"); + return runAsync(() -> { - for (int i = 0; i < heatIdJsonArray.size(); i++) { - String heatId = heatIdJsonArray.getStr(i); - HeatModuleCode heatModuleId = HeatModuleCode.valueOf(heatId); - //获取当前加热区状态 - HeatModuleState heatModuleState = deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleId); - //判断当前加热区是否处于加热状态 - Assert.isTrue(heatModuleState.getHeatingType().equals(HeatingType.heating), heatModuleId + "加热区目前不在加热状态"); - //关闭加热 - heatModuleService.heatRodClose(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatModuleId); - deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleId).setHeatingType(HeatingType.stop); + for (int i = 0; i < heatModuleCodeJsonArray.size(); i++) { + String heatModuleCodeStr = heatModuleCodeJsonArray.getStr(i); + HeatModuleCode heatModuleCode = HeatModuleCode.valueOf(heatModuleCodeStr); + heatModuleService.heatRodClose(cmdDTO.getCommandId(), cmdDTO.getCommand(), heatModuleCode); + deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.stop); } }); }