Browse Source

fix:sprayTaskSprayedList 只保留4次喷涂记录

tags/1.0
白凤吉 4 months ago
parent
commit
572cc9be96
  1. 11
      src/main/java/com/qyft/ms/app/device/status/SprayTask.java
  2. 2
      src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java

11
src/main/java/com/qyft/ms/app/device/status/SprayTask.java

@ -5,6 +5,7 @@ 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;
@ -111,9 +112,13 @@ public class SprayTask {
}
public synchronized void addSprayTaskSprayed(SprayTaskSprayed task) {
if (sprayTaskSprayedList.size() >= 200) {
// 删除最旧的元素
sprayTaskSprayedList.remove(0);
LinkedHashSet<Integer> distinctNumbers = new LinkedHashSet<>();
for (SprayTaskSprayed item : sprayTaskSprayedList) {
distinctNumbers.add(item.getNumber());
}
if (!distinctNumbers.contains(task.getNumber()) && distinctNumbers.size() >= 4) {
Integer oldestNumber = distinctNumbers.iterator().next();
sprayTaskSprayedList.removeIf(item -> item.getNumber().equals(oldestNumber));
}
sprayTaskSprayedList.add(task);
}

2
src/main/java/com/qyft/ms/app/model/bo/SprayTaskSprayed.java

@ -3,8 +3,6 @@ package com.qyft.ms.app.model.bo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Data
@Schema(description = "喷涂任务已喷涂记录")
public class SprayTaskSprayed {

Loading…
Cancel
Save