From ce946a0c270f8dfa79c0595d5887a9b2798bbbc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B?= <1063331231@qq.com> Date: Sat, 14 Jun 2025 17:11:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=90=8C=E5=8A=A0=E7=83=AD=E5=8C=BA?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=B7=A5=E8=89=BA=E7=9A=84=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iflytop/sgs/app/service/api/CraftsService.java | 29 +++++++++++++--------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/iflytop/sgs/app/service/api/CraftsService.java b/src/main/java/com/iflytop/sgs/app/service/api/CraftsService.java index 99410b4..cc11b58 100644 --- a/src/main/java/com/iflytop/sgs/app/service/api/CraftsService.java +++ b/src/main/java/com/iflytop/sgs/app/service/api/CraftsService.java @@ -101,11 +101,16 @@ public class CraftsService extends ServiceImpl { heatModuleCode = heatModuleState.getModuleCode(); } } else { - //判断加热区温度是否达标 - if (futureMap.containsKey(heatModuleCode)) {//校验指定加热模块是否正在执行工艺 - log.error("工艺正在执行中,不可重复开始执行。"); + //判断选中的加热区是否存在托盘 存在托盘报错 + TrayState trayState = deviceStateService.getDeviceState().getTrayByHeatModuleCode(heatModuleCode); + if (trayState != null) { + log.error("此加热区工艺正在执行中,不可重复开始执行。"); throw new AppException(ResultCode.CRAFT_RUNNING); } +// if (futureMap.containsKey(heatModuleCode)) {//校验指定加热模块是否正在执行工艺 +// log.error("工艺正在执行中,不可重复开始执行。"); +// throw new AppException(ResultCode.CRAFT_RUNNING); +// } } //判断温度 Double coldTemperature = systemConfigService.getSystemConfigDoubleByCode(SystemConfigCode.fan_stop_temperature);//加热区能能够执行加热的最低温度 @@ -115,17 +120,17 @@ public class CraftsService extends ServiceImpl { throw new AppException(ResultCode.HEAT_MODULE_TEMPERATURE_IS_HEIGHT); } craftMonitor.setHeatId(heatModuleCode); - craftMonitorService.save(craftMonitor); + craftMonitorService.saveMonitor(craftMonitor); log.info("准备开始工艺,加热模块{},工艺{}", heatModuleCode, craft.getName()); // 校验已有上下文状态,仅允许在 READY、STOPPED 或 FINISHED 状态下重置 -// CraftsContext existing = contextMap.get(heatModuleCode); -// if (existing != null) { -// CraftStates state = existing.getSm().getState().getId(); -// if (state == CraftStates.RUNNING || state == CraftStates.PAUSED) { -// throw new AppException(ResultCode.CRAFT_RUNNING); -// } -// clearCraftContext(heatModuleCode); -// } + CraftsContext existing = contextMap.get(heatModuleCode); + if (existing != null) { + CraftStates state = existing.getSm().getState().getId(); + if (state == CraftStates.RUNNING || state == CraftStates.PAUSED) { + throw new AppException(ResultCode.CRAFT_RUNNING); + } + clearCraftContext(heatModuleCode); + } TrayState trayState = deviceStateService.getDeviceState().getTrayInFeedModule(); //配置可操作试管