1.冀北合格率接口调整
2.综合评估接口调整 3.算法调整
This commit is contained in:
@@ -24,13 +24,11 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import sun.security.krb5.internal.Ticket;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -59,6 +57,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
public void limitRate(CalculatedParam calculatedParam,Integer step) {
|
||||
List<RStatLimitRateDPO> list = new ArrayList<>();
|
||||
|
||||
//数据集合
|
||||
List<DataV> list1 = new ArrayList<>();
|
||||
List<DataPlt> list2 = new ArrayList<>();
|
||||
List<DataHarmRateV> list3 = new ArrayList<>();
|
||||
@@ -71,27 +70,16 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
List<DataV> list10 = new ArrayList<>();
|
||||
List<DataPlt> list11 = new ArrayList<>();
|
||||
|
||||
Map<String,List<DataV>> map1 = new HashMap<>();
|
||||
Map<String,List<DataPlt>> map2 = new HashMap<>();
|
||||
Map<String,List<DataHarmRateV>> map3 = new HashMap<>();
|
||||
Map<String,List<DataI>> map4 = new HashMap<>();
|
||||
Map<String,List<DataInHarmV>> map5 = new HashMap<>();
|
||||
Map<String,List<DataV>> map6 = new HashMap<>();
|
||||
Map<String,List<DataV>> map7 = new HashMap<>();
|
||||
Map<String,List<DataI>> map8 = new HashMap<>();
|
||||
Map<String,List<DataV>> map9 = new HashMap<>();
|
||||
Map<String,List<DataV>> map10 = new HashMap<>();
|
||||
Map<String,List<DataPlt>> map11 = new HashMap<>();
|
||||
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//获取时间
|
||||
String startTime = this.getTime(calculatedParam.getDataDate(),step,true);
|
||||
String endTime = this.getTime(calculatedParam.getDataDate(),step,false);
|
||||
|
||||
//获取所有监测点的限值
|
||||
List<Overlimit> overLimitList = commTerminalGeneralClient.getAllLineOverLimit().getData();
|
||||
Map<String,List<Overlimit>> overLimitMap = overLimitList.stream().collect(Collectors.groupingBy(Overlimit::getId));
|
||||
Map<String,Overlimit> overLimitMap = overLimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity()));
|
||||
//监测点集合
|
||||
List<String> lineIds = calculatedParam.getIdList();
|
||||
//以尺寸100分片,查询数据
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,50);
|
||||
List<List<String>> pendingIds = ListUtils.partition(lineIds,100);
|
||||
for (List<String> pendingId : pendingIds) {
|
||||
list1.addAll(getAllTime(pendingId, startTime, endTime));
|
||||
list2.addAll(getFlickerAllTime(pendingId, startTime, endTime));
|
||||
@@ -104,30 +92,30 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
list9.addAll(getDataVFreq(pendingId, startTime, endTime));
|
||||
list10.addAll(getDataVDev(pendingId, startTime, endTime));
|
||||
list11.addAll(getDataPlt(pendingId, startTime, endTime));
|
||||
}
|
||||
|
||||
//数据处理,按监测点分组
|
||||
map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
|
||||
map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
|
||||
map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
//数据处理,按监测点分组
|
||||
Map<String,List<DataV>> map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataPlt>> map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
Map<String,List<DataHarmRateV>> map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId));
|
||||
Map<String,List<DataI>> map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
Map<String,List<DataInHarmV>> map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId));
|
||||
Map<String,List<DataV>> map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataV>> map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataI>> map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId));
|
||||
Map<String,List<DataV>> map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataV>> map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId));
|
||||
Map<String,List<DataPlt>> map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId));
|
||||
|
||||
for (String item : pendingId) {
|
||||
List<LimitRate> result = getData(overLimitMap.get(item).get(0), map1.get(item), map2.get(item), map3.get(item), map4.get(item), map5.get(item), map6.get(item), map7.get(item), map8.get(item), map9.get(item), map10.get(item), map11.get(item));
|
||||
List<RStatLimitRateDPO> collect = result.stream().map(t -> {
|
||||
RStatLimitRateDPO po = new RStatLimitRateDPO();
|
||||
NjcnBeanUtil.copyPropertiesIgnoreCase(t, po);
|
||||
po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
return po;
|
||||
}).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
for (String item : lineIds) {
|
||||
List<LimitRate> result = getData(overLimitMap.get(item), map1.get(item), map2.get(item), map3.get(item), map4.get(item), map5.get(item), map6.get(item), map7.get(item), map8.get(item), map9.get(item), map10.get(item), map11.get(item));
|
||||
List<RStatLimitRateDPO> collect = result.stream().map(t -> {
|
||||
RStatLimitRateDPO po = new RStatLimitRateDPO();
|
||||
NjcnBeanUtil.copyPropertiesIgnoreCase(t, po);
|
||||
po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
return po;
|
||||
}).collect(Collectors.toList());
|
||||
list.addAll(collect);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
//判断是否要做合并处理
|
||||
|
||||
Reference in New Issue
Block a user