From 5b77791c2274ee3061b8ce75f7f9d8fb4a1cf74e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Tue, 15 Jul 2025 14:48:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=96=B7=E6=B6=82?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=8E=A8=E9=80=81=E7=BC=BA=E5=B0=91cmdId?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java b/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java index a2f43fd..d538188 100644 --- a/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java +++ b/src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java @@ -192,10 +192,6 @@ public class SprayTaskExecutor { CommandFuture motorZOriginCommandFuture = deviceCommandService.sendCommandSprayTask(sprayTask.getCmdId(), sprayTask.getCmdCode(), motorZOriginCommand); commandWait(motorXOriginCommandFuture, motorYOriginCommandFuture, motorZOriginCommandFuture); - sprayTask.clear(); - deviceStatus.setSpraying(false);//是否正在进行喷涂 - deviceStatus.setPaused(false);//是否暂停 - OperationLog operationLog = operationLogService.getById(sprayTask.getOperationLogId()); operationLog.setStatus(1); operationLogService.updateById(operationLog); @@ -208,11 +204,13 @@ public class SprayTaskExecutor { log.info("喷涂任务失败", e); webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.FAIL, "喷涂任务执行失败")); webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SPRAY_TASK_FINISH, "喷涂任务结束")); - sprayTask.clear(); - deviceStatus.setSpraying(false);//是否正在进行喷涂 - deviceStatus.setPaused(false);//是否暂停 } finally { webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SEND, "喷涂任务线程退出")); + if(sprayTask.isPaused()){//如果不是暂停状态的话则清空数据 + sprayTask.clear(); + deviceStatus.setSpraying(false);//是否正在进行喷涂 + deviceStatus.setPaused(false);//是否暂停 + } // 在线程结束后将 taskThread 设置为 null,保证状态一致和资源释放 synchronized (this) { taskThread = null;