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); CommandFuture motorZOriginCommandFuture = deviceCommandService.sendCommandSprayTask(sprayTask.getCmdId(), sprayTask.getCmdCode(), motorZOriginCommand);
commandWait(motorXOriginCommandFuture, motorYOriginCommandFuture, motorZOriginCommandFuture); commandWait(motorXOriginCommandFuture, motorYOriginCommandFuture, motorZOriginCommandFuture);
sprayTask.clear();
deviceStatus.setSpraying(false);//是否正在进行喷涂
deviceStatus.setPaused(false);//是否暂停
OperationLog operationLog = operationLogService.getById(sprayTask.getOperationLogId()); OperationLog operationLog = operationLogService.getById(sprayTask.getOperationLogId());
operationLog.setStatus(1); operationLog.setStatus(1);
operationLogService.updateById(operationLog); operationLogService.updateById(operationLog);
@ -208,11 +204,13 @@ public class SprayTaskExecutor {
log.info("喷涂任务失败", e); log.info("喷涂任务失败", e);
webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.FAIL, "喷涂任务执行失败")); webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.FAIL, "喷涂任务执行失败"));
webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SPRAY_TASK_FINISH, "喷涂任务结束")); 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(); sprayTask.clear();
deviceStatus.setSpraying(false);//是否正在进行喷涂 deviceStatus.setSpraying(false);//是否正在进行喷涂
deviceStatus.setPaused(false);//是否暂停 deviceStatus.setPaused(false);//是否暂停
} finally {
webSocketService.pushDebugMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SEND, "喷涂任务线程退出"));
}
// 在线程结束后将 taskThread 设置为 null保证状态一致和资源释放 // 在线程结束后将 taskThread 设置为 null保证状态一致和资源释放
synchronized (this) { synchronized (this) {
taskThread = null; taskThread = null;

Loading…
Cancel
Save