From 03ed66fe8f5d92651d95a12f1963421765ce6b90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Sat, 31 May 2025 14:18:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=80=A5=E5=81=9C=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E6=97=B6=E5=BA=94=E5=BD=93=E9=87=8D=E6=96=B0init?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gd/app/ws/client/DeviceEmergencyStopConfig.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/iflytop/gd/app/ws/client/DeviceEmergencyStopConfig.java b/src/main/java/com/iflytop/gd/app/ws/client/DeviceEmergencyStopConfig.java index 9eba5f6..bc8850e 100644 --- a/src/main/java/com/iflytop/gd/app/ws/client/DeviceEmergencyStopConfig.java +++ b/src/main/java/com/iflytop/gd/app/ws/client/DeviceEmergencyStopConfig.java @@ -1,6 +1,8 @@ package com.iflytop.gd.app.ws.client; -import com.iflytop.gd.app.service.device.DeviceEmergencyStopService; +import com.iflytop.gd.app.core.CommandPoolManager; +import com.iflytop.gd.app.service.device.DeviceStateService; +import com.iflytop.gd.app.service.device.DeviceStepCommandService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -13,8 +15,9 @@ import java.net.URI; @Configuration @RequiredArgsConstructor public class DeviceEmergencyStopConfig { - private final DeviceEmergencyStopService deviceEmergencyStopService; - + private final DeviceStepCommandService stepCommandService; + private final DeviceStateService deviceStateService; + private final CommandPoolManager commandPoolManager; @Value("${iflytophald.ip}") String ip; @@ -29,13 +32,16 @@ public class DeviceEmergencyStopConfig { if (s.get("event").equals("press")) { log.info("触发急停{}", s); try { - deviceEmergencyStopService.press(); + commandPoolManager.forceShutdownAll();//强制终止现在运行的所有指令 + stepCommandService.stopAll(); + deviceStateService.getDeviceState().setEmergencyStop(true); } catch (Exception e) { log.error("设备急停失败:{}", e.getMessage()); throw new RuntimeException(e); } } else if (s.get("event").equals("release")) { - deviceEmergencyStopService.release(); + commandPoolManager.restartExecutor(); + deviceStateService.getDeviceState().setEmergencyStop(false); log.info("解除急停{}", s); } });