修改装置最新时间逻辑
This commit is contained in:
@@ -23,6 +23,7 @@ public class DataVDTO {
|
||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||
private LocalDateTime timeid;
|
||||
private String devId;
|
||||
private String lineid;
|
||||
private String phasicType;
|
||||
private Double rms;
|
||||
|
||||
@@ -19,6 +19,7 @@ import org.springframework.util.CollectionUtils;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -84,16 +85,18 @@ public class LnDataDealServiceImpl implements LnDataDealService {
|
||||
//更新mysqldevice表最新数据时间
|
||||
|
||||
if(!CollectionUtils.isEmpty(lnDataDTO.getDataVList())){
|
||||
DataVDTO dataVDTO =lnDataDTO.getDataVList().stream().max(Comparator.comparing(DataVDTO::getTimeid)).get();
|
||||
|
||||
List<String> lineIdList = lnDataDTO.getDataVList().stream().map(DataVDTO::getLineid).distinct().collect(Collectors.toList());
|
||||
List<LineDeviceStateVO> data = lineFeignClient.getAllLine(lineIdList).getData();
|
||||
//获取所有设备id并去重
|
||||
List<String> devIds = data.stream().map(temp -> {
|
||||
return temp.getPids().split(",")[4];
|
||||
}).distinct().collect(Collectors.toList());
|
||||
|
||||
devIds.forEach(temp->{
|
||||
Map<String, String> map = data.stream().collect(Collectors.toMap(LineDeviceStateVO::getId, temp -> temp.getPids().split(",")[4]));
|
||||
lnDataDTO.getDataVList().forEach(temp->{
|
||||
temp.setDevId(map.get(temp.getLineid()));
|
||||
});
|
||||
Map<String, List<DataVDTO>> collect = lnDataDTO.getDataVList().stream().collect(Collectors.groupingBy(DataVDTO::getDevId));
|
||||
collect.forEach((temp,dataVDTOList)->{
|
||||
PqsCommunicateDto pqsCommunicateDto = new PqsCommunicateDto();
|
||||
DataVDTO dataVDTO =dataVDTOList.stream().max(Comparator.comparing(DataVDTO::getTimeid)).get();
|
||||
|
||||
pqsCommunicateDto.setTime(LocalDateTimeUtil.format(dataVDTO.getTimeid(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
pqsCommunicateDto.setDevId(temp);
|
||||
pqsCommunicateDto.setType(1);
|
||||
|
||||
Reference in New Issue
Block a user