|
@ -17,6 +17,8 @@ import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.stereotype.Component; |
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.List; |
|
|
import java.util.concurrent.CompletableFuture; |
|
|
import java.util.concurrent.CompletableFuture; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -40,12 +42,14 @@ public class MatrixSprayStop extends BaseCommandHandler { |
|
|
if (!sprayTask.isSpraying()) { |
|
|
if (!sprayTask.isSpraying()) { |
|
|
throw new RuntimeException("设备没有正在喷涂"); |
|
|
throw new RuntimeException("设备没有正在喷涂"); |
|
|
} |
|
|
} |
|
|
|
|
|
if(sprayTask.isClosing()){ |
|
|
|
|
|
throw new RuntimeException("正在结束喷涂,请稍后"); |
|
|
|
|
|
} |
|
|
webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SPRAY_TASK_FINISH, "喷涂任务结束")); |
|
|
webSocketService.pushCMDResponseMsg(FrontResponseGenerator.generateJson(sprayTask.getCmdId(), sprayTask.getCmdCode(), CommandStatus.SPRAY_TASK_FINISH, "喷涂任务结束")); |
|
|
SprayTask.getInstance().clear(); |
|
|
|
|
|
deviceStatus.setSpraying(false); |
|
|
|
|
|
deviceStatus.setPaused(false); |
|
|
|
|
|
deviceStatus.setSuspendable(false); |
|
|
|
|
|
|
|
|
|
|
|
return runAsync(() -> { |
|
|
return runAsync(() -> { |
|
|
|
|
|
sprayTask.setClosing(true); |
|
|
|
|
|
try{ |
|
|
sprayTaskExecutor.stopTask();//终止喷涂任务线程 |
|
|
sprayTaskExecutor.stopTask();//终止喷涂任务线程 |
|
|
|
|
|
|
|
|
DeviceCommand syringePumpStopCommand = DeviceCommandGenerator.syringePumpStop(); //停止推动注射泵 |
|
|
DeviceCommand syringePumpStopCommand = DeviceCommandGenerator.syringePumpStop(); //停止推动注射泵 |
|
@ -72,6 +76,15 @@ public class MatrixSprayStop extends BaseCommandHandler { |
|
|
CommandFuture motorYOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorYOriginCommand); |
|
|
CommandFuture motorYOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorYOriginCommand); |
|
|
CommandFuture motorZOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorZOriginCommand); |
|
|
CommandFuture motorZOriginCommandFuture = deviceCommandService.sendCommand(form.getCmdId(), form.getCmdCode(), motorZOriginCommand); |
|
|
commandWait(motorXOriginCommandFuture, motorYOriginCommandFuture, motorZOriginCommandFuture); |
|
|
commandWait(motorXOriginCommandFuture, motorYOriginCommandFuture, motorZOriginCommandFuture); |
|
|
|
|
|
|
|
|
|
|
|
SprayTask.getInstance().clear(); |
|
|
|
|
|
deviceStatus.setSpraying(false); |
|
|
|
|
|
deviceStatus.setPaused(false); |
|
|
|
|
|
deviceStatus.setSuspendable(false); |
|
|
|
|
|
}finally { |
|
|
|
|
|
sprayTask.setClosing(false); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |