|
@ -5,6 +5,7 @@ import com.qyft.ms.app.model.bo.SprayTaskSprayed; |
|
|
import com.qyft.ms.app.model.bo.SprayTaskStep; |
|
|
import com.qyft.ms.app.model.bo.SprayTaskStep; |
|
|
import lombok.Data; |
|
|
import lombok.Data; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.LinkedHashSet; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
|
import java.util.concurrent.CopyOnWriteArrayList; |
|
|
import java.util.concurrent.CopyOnWriteArrayList; |
|
@ -111,9 +112,13 @@ public class SprayTask { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void addSprayTaskSprayed(SprayTaskSprayed task) { |
|
|
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); |
|
|
sprayTaskSprayedList.add(task); |
|
|
} |
|
|
} |
|
|