package com.zy.acs.manager.core.domain;
|
|
import com.zy.acs.common.utils.GsonUtils;
|
import com.zy.acs.framework.common.Cools;
|
import lombok.Data;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.stream.Collectors;
|
|
/**
|
* Created by vincent on 11/5/2024
|
*/
|
@Data
|
public class BlockVehicleDto {
|
|
private String vehicle;
|
|
private boolean avoidable;
|
|
public BlockVehicleDto() {
|
}
|
|
public BlockVehicleDto(String vehicle, boolean avoidable) {
|
this.vehicle = vehicle;
|
this.avoidable = avoidable;
|
}
|
|
@Override
|
public boolean equals(Object o) {
|
if (this == o) return true;
|
if (o == null || getClass() != o.getClass()) return false;
|
BlockVehicleDto that = (BlockVehicleDto) o;
|
return Objects.equals(vehicle, that.vehicle);
|
}
|
|
@Override
|
public int hashCode() {
|
return Objects.hash(vehicle);
|
}
|
|
public static boolean customContain(List<BlockVehicleDto> list, String vehicle) {
|
if (Cools.isEmpty(list, vehicle)) {
|
return false;
|
}
|
for (BlockVehicleDto dto : list) {
|
if (dto.getVehicle().equals(vehicle)) {
|
return true;
|
}
|
}
|
return false;
|
}
|
|
public static void main(String[] args) {
|
List<BlockVehicleDto> blockVehicleList = new ArrayList<>();
|
blockVehicleList.add(new BlockVehicleDto("1", true));
|
blockVehicleList.add(new BlockVehicleDto("2", true));
|
// blockVehicleList.add(new BlockVehicleDto("3", false));
|
// blockVehicleList.add(new BlockVehicleDto("4", false));
|
// blockVehicleList.add(new BlockVehicleDto("5", false));
|
// blockVehicleList.add(new BlockVehicleDto("5", true));
|
// blockVehicleList.add(new BlockVehicleDto("4", true));
|
|
System.out.println(GsonUtils.toJson(blockVehicleList));
|
System.out.println(GsonUtils.toJson(blockVehicleList.stream().distinct().collect(Collectors.toList())));
|
|
System.out.println(blockVehicleList.stream().anyMatch(blockVehicleDto -> !blockVehicleDto.isAvoidable()));
|
|
String blockAgvNo = blockVehicleList.stream()
|
.filter(BlockVehicleDto::isAvoidable)
|
.map(BlockVehicleDto::getVehicle)
|
.findFirst().orElse(null);
|
System.out.println(blockAgvNo);
|
}
|
|
}
|