7 changed files with 174 additions and 162 deletions
-
4src/main/java/com/qyft/ms/app/controller/SprayTaskController.java
-
3src/main/java/com/qyft/ms/app/device/spray/SprayTaskExecutor.java
-
10src/main/java/com/qyft/ms/app/device/status/SprayTask.java
-
300src/main/java/com/qyft/ms/app/device/status/SprayTask_bak.java
-
2src/main/java/com/qyft/ms/app/front/cmd/business/MatrixSprayStart.java
-
14src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java
-
3src/main/java/com/qyft/ms/app/model/vo/SprayTaskStatusVO.java
@ -1,150 +1,150 @@ |
|||||
package com.qyft.ms.app.device.status; |
|
||||
|
|
||||
import com.qyft.ms.app.model.bo.SprayParams; |
|
||||
import com.qyft.ms.app.model.bo.SprayTaskSprayed; |
|
||||
import com.qyft.ms.app.model.bo.SprayTaskStep; |
|
||||
import lombok.Data; |
|
||||
|
|
||||
import java.util.LinkedHashSet; |
|
||||
import java.util.List; |
|
||||
import java.util.Map; |
|
||||
import java.util.concurrent.CopyOnWriteArrayList; |
|
||||
|
|
||||
@Data |
|
||||
public class SprayTask_bak { |
|
||||
|
|
||||
/** |
|
||||
* 喷涂步骤列表 |
|
||||
*/ |
|
||||
private final List<SprayTaskStep> sprayTaskStepList = new CopyOnWriteArrayList<>(); |
|
||||
/** |
|
||||
* 喷涂参数 |
|
||||
*/ |
|
||||
private final SprayParams sprayParams = new SprayParams(); |
|
||||
/** |
|
||||
* 前端指令id |
|
||||
*/ |
|
||||
private String cmdId; |
|
||||
/** |
|
||||
* 前端指令code |
|
||||
*/ |
|
||||
private String cmdCode; |
|
||||
/** |
|
||||
* 喷涂任务暂停状态 |
|
||||
*/ |
|
||||
private volatile boolean paused = false; |
|
||||
/** |
|
||||
* 当前状态是否可以暂停 |
|
||||
*/ |
|
||||
private volatile boolean suspendable = false; |
|
||||
/** |
|
||||
* 是否正在结束 |
|
||||
*/ |
|
||||
private volatile boolean closing = false; |
|
||||
/** |
|
||||
* 设备是否正在进行的喷涂 |
|
||||
*/ |
|
||||
private volatile boolean spraying = false; |
|
||||
/** |
|
||||
* 当前正在执行的步骤序号 |
|
||||
*/ |
|
||||
private volatile int currentStep = 0; |
|
||||
|
|
||||
private volatile boolean firstImmobility = false; |
|
||||
|
|
||||
/** |
|
||||
* 缓存前端的参数 |
|
||||
*/ |
|
||||
private Map<String, Object> cacheParams = null; |
|
||||
|
|
||||
/** |
|
||||
* 已喷涂点位 |
|
||||
*/ |
|
||||
private volatile List<SprayTaskSprayed> sprayTaskSprayedList = new CopyOnWriteArrayList<>(); |
|
||||
|
|
||||
private SprayTask_bak() { |
|
||||
} |
|
||||
|
|
||||
public static SprayTask_bak getInstance() { |
|
||||
return Holder.INSTANCE; |
|
||||
} |
|
||||
|
|
||||
public void setChangeSprayParam(Double motorZHeight, |
|
||||
Double gasPressure, |
|
||||
Double volume, |
|
||||
Boolean highVoltage, |
|
||||
Double highVoltageValue, |
|
||||
Double movingSpeed) { |
|
||||
if (motorZHeight != null) { |
|
||||
sprayParams.setMotorZHeight(motorZHeight); |
|
||||
} |
|
||||
if (gasPressure != null) { |
|
||||
sprayParams.setGasPressure(gasPressure); |
|
||||
} |
|
||||
if (volume != null) { |
|
||||
sprayParams.setVolume(volume); |
|
||||
} |
|
||||
if (highVoltage != null) { |
|
||||
sprayParams.setHighVoltage(highVoltage); |
|
||||
} |
|
||||
if (highVoltageValue != null) { |
|
||||
sprayParams.setHighVoltageValue(highVoltageValue); |
|
||||
} |
|
||||
if (movingSpeed != null) { |
|
||||
sprayParams.setMovingSpeed(movingSpeed); |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
public void setSprayParam(String matrixPathType, |
|
||||
Double motorZHeight, |
|
||||
Double gasPressure, |
|
||||
Double volume, |
|
||||
Boolean highVoltage, |
|
||||
Double highVoltageValue, |
|
||||
Double spacing, |
|
||||
Double movingSpeed, |
|
||||
Double times, |
|
||||
List<Map<String, Object>> positionList) { |
|
||||
sprayParams.setMatrixPathType(matrixPathType); |
|
||||
sprayParams.setMotorZHeight(motorZHeight); |
|
||||
sprayParams.setGasPressure(gasPressure); |
|
||||
sprayParams.setVolume(volume); |
|
||||
sprayParams.setHighVoltage(highVoltage); |
|
||||
sprayParams.setHighVoltageValue(highVoltageValue); |
|
||||
sprayParams.setSpacing(spacing); |
|
||||
sprayParams.setMovingSpeed(movingSpeed); |
|
||||
sprayParams.setTimes(times); |
|
||||
sprayParams.setPositionList(positionList); |
|
||||
} |
|
||||
|
|
||||
public synchronized void addSprayTaskSprayed(SprayTaskSprayed task) { |
|
||||
LinkedHashSet<Integer> distinctNumbers = new LinkedHashSet<>(); |
|
||||
for (SprayTaskSprayed item : sprayTaskSprayedList) { |
|
||||
distinctNumbers.add(item.getSprayCount()); |
|
||||
} |
|
||||
if (!distinctNumbers.contains(task.getSprayCount()) && distinctNumbers.size() >= 120) { |
|
||||
Integer oldestNumber = distinctNumbers.iterator().next(); |
|
||||
sprayTaskSprayedList.removeIf(item -> item.getSprayCount().equals(oldestNumber)); |
|
||||
} |
|
||||
sprayTaskSprayedList.add(task); |
|
||||
} |
|
||||
|
|
||||
public void clear() { |
|
||||
cmdId = null; |
|
||||
cmdCode = null; |
|
||||
paused = false; |
|
||||
suspendable = false; |
|
||||
spraying = false; |
|
||||
sprayTaskStepList.clear(); |
|
||||
currentStep = 0; |
|
||||
firstImmobility = false; |
|
||||
sprayTaskSprayedList.clear(); |
|
||||
cacheParams = null; |
|
||||
} |
|
||||
|
|
||||
private static class Holder { |
|
||||
private static final SprayTask_bak INSTANCE = new SprayTask_bak(); |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
//package com.qyft.ms.app.device.status; |
||||
|
// |
||||
|
//import com.qyft.ms.app.model.bo.SprayParams; |
||||
|
//import com.qyft.ms.app.model.bo.SprayTaskSprayed; |
||||
|
//import com.qyft.ms.app.model.bo.SprayTaskStep; |
||||
|
//import lombok.Data; |
||||
|
// |
||||
|
//import java.util.LinkedHashSet; |
||||
|
//import java.util.List; |
||||
|
//import java.util.Map; |
||||
|
//import java.util.concurrent.CopyOnWriteArrayList; |
||||
|
// |
||||
|
//@Data |
||||
|
//public class SprayTask_bak { |
||||
|
// |
||||
|
// /** |
||||
|
// * 喷涂步骤列表 |
||||
|
// */ |
||||
|
// private final List<SprayTaskStep> sprayTaskStepList = new CopyOnWriteArrayList<>(); |
||||
|
// /** |
||||
|
// * 喷涂参数 |
||||
|
// */ |
||||
|
// private final SprayParams sprayParams = new SprayParams(); |
||||
|
// /** |
||||
|
// * 前端指令id |
||||
|
// */ |
||||
|
// private String cmdId; |
||||
|
// /** |
||||
|
// * 前端指令code |
||||
|
// */ |
||||
|
// private String cmdCode; |
||||
|
// /** |
||||
|
// * 喷涂任务暂停状态 |
||||
|
// */ |
||||
|
// private volatile boolean paused = false; |
||||
|
// /** |
||||
|
// * 当前状态是否可以暂停 |
||||
|
// */ |
||||
|
// private volatile boolean suspendable = false; |
||||
|
// /** |
||||
|
// * 是否正在结束 |
||||
|
// */ |
||||
|
// private volatile boolean closing = false; |
||||
|
// /** |
||||
|
// * 设备是否正在进行的喷涂 |
||||
|
// */ |
||||
|
// private volatile boolean spraying = false; |
||||
|
// /** |
||||
|
// * 当前正在执行的步骤序号 |
||||
|
// */ |
||||
|
// private volatile int currentStep = 0; |
||||
|
// |
||||
|
// private volatile boolean firstImmobility = false; |
||||
|
// |
||||
|
// /** |
||||
|
// * 缓存前端的参数 |
||||
|
// */ |
||||
|
// private Map<String, Object> cacheParams = null; |
||||
|
// |
||||
|
// /** |
||||
|
// * 已喷涂点位 |
||||
|
// */ |
||||
|
// private volatile List<SprayTaskSprayed> sprayTaskSprayedList = new CopyOnWriteArrayList<>(); |
||||
|
// |
||||
|
// private SprayTask_bak() { |
||||
|
// } |
||||
|
// |
||||
|
// public static SprayTask_bak getInstance() { |
||||
|
// return Holder.INSTANCE; |
||||
|
// } |
||||
|
// |
||||
|
// public void setChangeSprayParam(Double motorZHeight, |
||||
|
// Double gasPressure, |
||||
|
// Double volume, |
||||
|
// Boolean highVoltage, |
||||
|
// Double highVoltageValue, |
||||
|
// Double movingSpeed) { |
||||
|
// if (motorZHeight != null) { |
||||
|
// sprayParams.setMotorZHeight(motorZHeight); |
||||
|
// } |
||||
|
// if (gasPressure != null) { |
||||
|
// sprayParams.setGasPressure(gasPressure); |
||||
|
// } |
||||
|
// if (volume != null) { |
||||
|
// sprayParams.setVolume(volume); |
||||
|
// } |
||||
|
// if (highVoltage != null) { |
||||
|
// sprayParams.setHighVoltage(highVoltage); |
||||
|
// } |
||||
|
// if (highVoltageValue != null) { |
||||
|
// sprayParams.setHighVoltageValue(highVoltageValue); |
||||
|
// } |
||||
|
// if (movingSpeed != null) { |
||||
|
// sprayParams.setMovingSpeed(movingSpeed); |
||||
|
// } |
||||
|
// |
||||
|
// } |
||||
|
// |
||||
|
// public void setSprayParam(String matrixPathType, |
||||
|
// Double motorZHeight, |
||||
|
// Double gasPressure, |
||||
|
// Double volume, |
||||
|
// Boolean highVoltage, |
||||
|
// Double highVoltageValue, |
||||
|
// Double spacing, |
||||
|
// Double movingSpeed, |
||||
|
// Double times, |
||||
|
// List<Map<String, Object>> positionList) { |
||||
|
// sprayParams.setMatrixPathType(matrixPathType); |
||||
|
// sprayParams.setMotorZHeight(motorZHeight); |
||||
|
// sprayParams.setGasPressure(gasPressure); |
||||
|
// sprayParams.setVolume(volume); |
||||
|
// sprayParams.setHighVoltage(highVoltage); |
||||
|
// sprayParams.setHighVoltageValue(highVoltageValue); |
||||
|
// sprayParams.setSpacing(spacing); |
||||
|
// sprayParams.setMovingSpeed(movingSpeed); |
||||
|
// sprayParams.setTimes(times); |
||||
|
// sprayParams.setPositionList(positionList); |
||||
|
// } |
||||
|
// |
||||
|
// public synchronized void addSprayTaskSprayed(SprayTaskSprayed task) { |
||||
|
// LinkedHashSet<Integer> distinctNumbers = new LinkedHashSet<>(); |
||||
|
// for (SprayTaskSprayed item : sprayTaskSprayedList) { |
||||
|
// distinctNumbers.add(item.getSprayCount()); |
||||
|
// } |
||||
|
// if (!distinctNumbers.contains(task.getSprayCount()) && distinctNumbers.size() >= 120) { |
||||
|
// Integer oldestNumber = distinctNumbers.iterator().next(); |
||||
|
// sprayTaskSprayedList.removeIf(item -> item.getSprayCount().equals(oldestNumber)); |
||||
|
// } |
||||
|
// sprayTaskSprayedList.add(task); |
||||
|
// } |
||||
|
// |
||||
|
// public void clear() { |
||||
|
// cmdId = null; |
||||
|
// cmdCode = null; |
||||
|
// paused = false; |
||||
|
// suspendable = false; |
||||
|
// spraying = false; |
||||
|
// sprayTaskStepList.clear(); |
||||
|
// currentStep = 0; |
||||
|
// firstImmobility = false; |
||||
|
// sprayTaskSprayedList.clear(); |
||||
|
// cacheParams = null; |
||||
|
// } |
||||
|
// |
||||
|
// private static class Holder { |
||||
|
// private static final SprayTask_bak INSTANCE = new SprayTask_bak(); |
||||
|
// } |
||||
|
// |
||||
|
//} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue