diff --git a/src/main/java/com/iflytop/sgs/app/cmd/control/OutTrayCommand.java b/src/main/java/com/iflytop/sgs/app/cmd/control/OutTrayCommand.java index ba417bb..ac2fd7e 100644 --- a/src/main/java/com/iflytop/sgs/app/cmd/control/OutTrayCommand.java +++ b/src/main/java/com/iflytop/sgs/app/cmd/control/OutTrayCommand.java @@ -59,10 +59,14 @@ public class OutTrayCommand extends BaseCommandHandler { if (targetHeatModuleCode == HeatModuleCode.heat_module_04) { throw new AppException(ResultCode.NOT_ALLOWED_HEAT_MODULE);//不允许的加热模块 } + boolean heatTrayExist = deviceSensorService.getTrayStateByHeatModuleCode(targetHeatModuleCode);//获取传感器状态 + if(!heatTrayExist) { + List trayList = deviceStateService.getDeviceState().getTrays(); + trayList.removeIf((tray) -> tray.getHeatModuleCode() != null && tray.getHeatModuleCode().equals(targetHeatModuleCode)); + Assert.isTrue(heatTrayExist, () -> new AppException(ResultCode.TARGET_HEAT_MODULE_NO_TRAY));//加热区无托盘 + } boolean feedTrayExist = deviceSensorService.getSensorStatus(DeviceSensorCode.LIQUID_TRAY_EXIST);//获取上料区托盘状态 Assert.isTrue(!feedTrayExist, () -> new AppException(ResultCode.FEED_AREA_EXIST_TRAY));//上料区不能存在托盘 - boolean heatTrayExist = deviceSensorService.getTrayStateByHeatModuleCode(targetHeatModuleCode);//获取传感器状态 - Assert.isTrue(heatTrayExist, () -> new AppException(ResultCode.TARGET_HEAT_MODULE_NO_TRAY));//加热区无托盘 boolean moduleIdle = deviceStateService.getDeviceState().getTransferModule().isIdle(); if (!moduleIdle) { throw new AppException(ResultCode.CMD_BUSY);//设备忙