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