|
|
@ -1,11 +1,13 @@ |
|
|
|
package com.qyft.ms.app.front.cmd.business; |
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.qyft.ms.app.common.generator.PathGenerator; |
|
|
|
import com.qyft.ms.app.device.spray.SprayTaskExecutor; |
|
|
|
import com.qyft.ms.app.device.status.SprayTask; |
|
|
|
import com.qyft.ms.app.model.entity.Position; |
|
|
|
import com.qyft.ms.app.service.PositionService; |
|
|
|
import com.qyft.ms.system.common.annotation.CommandMapping; |
|
|
|
import com.qyft.ms.system.common.constant.CommandStatus; |
|
|
|
import com.qyft.ms.system.common.device.command.CommandFuture; |
|
|
|
import com.qyft.ms.system.common.device.command.DeviceCommandGenerator; |
|
|
|
import com.qyft.ms.system.common.device.command.FrontCommand; |
|
|
|
import com.qyft.ms.system.common.utils.CheckedRunnable; |
|
|
@ -13,14 +15,12 @@ import com.qyft.ms.system.common.utils.LambdaUtil; |
|
|
|
import com.qyft.ms.system.core.handler.BaseCommandHandler; |
|
|
|
import com.qyft.ms.system.model.bo.DeviceCommand; |
|
|
|
import com.qyft.ms.system.model.form.FrontCmdControlForm; |
|
|
|
import com.qyft.ms.system.service.device.DeviceCommandService; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.http.MediaType; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter; |
|
|
|
|
|
|
|
import java.awt.*; |
|
|
|
import java.io.IOException; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.LinkedHashMap; |
|
|
@ -41,7 +41,8 @@ public class MatrixSprayStart extends BaseCommandHandler { |
|
|
|
private static final ExecutorService singleExecutor = Executors.newSingleThreadExecutor(); |
|
|
|
|
|
|
|
private final SprayTaskExecutor sprayTaskExecutor; |
|
|
|
private final DeviceCommandService deviceCommandService; |
|
|
|
private final PositionService positionService; |
|
|
|
|
|
|
|
|
|
|
|
private static boolean nonNullCheck(ResponseBodyEmitter emitter, String cmdId, String cmdCode, |
|
|
|
String matrixPathType, |
|
|
@ -132,13 +133,17 @@ public class MatrixSprayStart extends BaseCommandHandler { |
|
|
|
sprayTask.setSprayParam(matrixPathType, motorZHeight, gasPressure, volume, highVoltage, highVoltageValue, spacing, movingSpeed, times, positionList); |
|
|
|
|
|
|
|
// 7.循环喷涂区域 |
|
|
|
Double[][] slideArr = { //TODO 每个玻片的位置,应当从数据库获取 |
|
|
|
{18.08, 0.0}, |
|
|
|
{45.08, 0.0}, |
|
|
|
{72.08, 0.0}, |
|
|
|
{99.08, 0.0} |
|
|
|
}; |
|
|
|
|
|
|
|
Position slidePosition1 = positionService.getOne(new LambdaQueryWrapper<Position>().eq(Position::getPointCode, "slide_position1")); |
|
|
|
Position slidePosition2 = positionService.getOne(new LambdaQueryWrapper<Position>().eq(Position::getPointCode, "slide_position2")); |
|
|
|
Position slidePosition3 = positionService.getOne(new LambdaQueryWrapper<Position>().eq(Position::getPointCode, "slide_position3")); |
|
|
|
Position slidePosition4 = positionService.getOne(new LambdaQueryWrapper<Position>().eq(Position::getPointCode, "slide_position4")); |
|
|
|
Double[][] slideArr = { |
|
|
|
{slidePosition1.getX(), slidePosition1.getY()}, |
|
|
|
{slidePosition2.getX(), slidePosition2.getY()}, |
|
|
|
{slidePosition3.getX(), slidePosition3.getY()}, |
|
|
|
{slidePosition4.getX(), slidePosition4.getY()} |
|
|
|
}; |
|
|
|
for (Map<String, Object> position : positionList) { |
|
|
|
int index = (int) position.get("index"); //index 第几个玻片 |
|
|
|
Double[] upperLeft = {((Number) position.get("x1")).doubleValue(), ((Number) position.get("y1")).doubleValue()}; //范围左上角 x1,y1 |
|
|
|