Browse Source

fix:优化暂停功能

master
白凤吉 3 weeks ago
parent
commit
b795bb07c4
  1. 9
      src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayContinue.java
  2. 2
      src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayPause.java

9
src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayContinue.java

@ -39,10 +39,13 @@ public class MatrixSprayContinue extends BaseCommandHandler {
if (!sprayTask.isSpraying()) {
throw new RuntimeException("设备没有正在喷涂");
}
if(!sprayTask.isPaused()){
throw new RuntimeException("解除暂停中");
}
sprayTask.setPaused(false);//解除暂停
deviceStatus.setPaused(false);
SprayTimes sprayTimes = sprayTask.getSprayTimes();
return runAsync(() -> {
try{
OperationLog operationLog = operationLogService.getById(sprayTask.getOperationLogId());
operationLog.setStatus(0);
operationLogService.updateById(operationLog);
@ -64,8 +67,10 @@ public class MatrixSprayContinue extends BaseCommandHandler {
DeviceCommand syringePumpForwardCommand = DeviceCommandGenerator.syringePumpForward(sprayTimes.getVolume()); //推动注射泵
CommandFuture syringePumpForwardCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), syringePumpForwardCommand);
commandWait(syringePumpForwardCommandFuture);
sprayTaskExecutor.startTask();
} finally {
deviceStatus.setPaused(false);
}
});
}

2
src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayPause.java

@ -61,7 +61,7 @@ public class MatrixSprayPause extends BaseCommandHandler {
CommandFuture motorZStopCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorZStopCommand);
commandWait(motorXStopCommandFuture, motorYStopCommandFuture, motorZStopCommandFuture);
if(sprayTask.getCurrentStep() > 0){
if(sprayTask.getCurrentStep() > 0 && sprayTask.getCurrentPausedPoint() == null){//只有在喷涂过程中才需要记录并且记录点不可被覆盖
//记录当前位置
DeviceCommand motorXyzPositionGetCommand = DeviceCommandGenerator.motorXyzPositionGet(); // 生成获得电机XYZ相对原点坐标指令
CommandFuture motorXyzPositionGetCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorXyzPositionGetCommand);

Loading…
Cancel
Save