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;