Browse Source

fix:修复喷涂结束推送缺少cmdId的问题

master
白凤吉 3 weeks ago
parent
commit
5b77791c22
  1. 10
      src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java

10
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, "喷涂任务结束"));
} finally {
webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SEND, "喷涂任务线程退出"));
if(sprayTask.isPaused()){//如果不是暂停状态的话则清空数据
sprayTask.clear();
deviceStatus.setSpraying(false);//是否正在进行喷涂
deviceStatus.setPaused(false);//是否暂停
} finally {
webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SEND, "喷涂任务线程退出"));
}
// 在线程结束后将 taskThread 设置为 null保证状态一致和资源释放
synchronized (this) {
taskThread = null;

Loading…
Cancel
Save