Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40b0951756 | ||
| d83f0746ac | |||
| f8e88b87d0 |
@@ -1838,11 +1838,11 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
|
|
||||||
private String dealVoltageLevel(String voltage) {
|
private String dealVoltageLevel(String voltage) {
|
||||||
float scale = Float.parseFloat(voltage.substring(0, voltage.indexOf("kV")));
|
float scale = Float.parseFloat(voltage.substring(0, voltage.indexOf("kV")));
|
||||||
if (scale < 500) {
|
//if (scale < 500) {
|
||||||
return "交流" + voltage;
|
return "交流" + voltage;
|
||||||
} else {
|
//} else {
|
||||||
return "直流" + voltage;
|
// return "直流" + voltage;
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
@@ -26,7 +27,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
@@ -1851,10 +1855,15 @@ public class DayDataServiceImpl implements DayDataService {
|
|||||||
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
||||||
.between(DataPlt::getTime, startTime, endTime);
|
.between(DataPlt::getTime, startTime, endTime);
|
||||||
List<DataPlt> result1 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper);
|
List<DataPlt> result1 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper);
|
||||||
result1.forEach(item -> {
|
if(CollUtil.isNotEmpty(result1)){
|
||||||
item.setValueType(InfluxDbSqlConstant.MIN);
|
Map<String, List<DataPlt>> collect = result1.stream().collect(Collectors.groupingBy(DataPlt::getPhaseType));
|
||||||
|
collect.forEach((key, value) -> {
|
||||||
|
value.sort(Comparator.comparing(DataPlt::getPlt));
|
||||||
|
DataPlt dataPlt = value.get(0);
|
||||||
|
dataPlt.setValueType(InfluxDbSqlConstant.MIN);
|
||||||
|
result.add(dataPlt);
|
||||||
});
|
});
|
||||||
result.addAll(result1);
|
}
|
||||||
//最大值
|
//最大值
|
||||||
InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataPlt.class);
|
InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataPlt.class);
|
||||||
influxQueryWrapper2.regular(DataPlt::getLineId, lineIndex)
|
influxQueryWrapper2.regular(DataPlt::getLineId, lineIndex)
|
||||||
@@ -1862,10 +1871,15 @@ public class DayDataServiceImpl implements DayDataService {
|
|||||||
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
||||||
.between(DataPlt::getTime, startTime, endTime);
|
.between(DataPlt::getTime, startTime, endTime);
|
||||||
List<DataPlt> result2 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper2);
|
List<DataPlt> result2 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper2);
|
||||||
result2.forEach(item -> {
|
if(CollUtil.isNotEmpty(result2)){
|
||||||
item.setValueType(InfluxDbSqlConstant.MAX);
|
Map<String, List<DataPlt>> collect = result2.stream().collect(Collectors.groupingBy(DataPlt::getPhaseType));
|
||||||
|
collect.forEach((key, value) -> {
|
||||||
|
value.sort(Comparator.comparing(DataPlt::getPlt).reversed());
|
||||||
|
DataPlt dataPlt = value.get(0);
|
||||||
|
dataPlt.setValueType(InfluxDbSqlConstant.MAX);
|
||||||
|
result.add(dataPlt);
|
||||||
});
|
});
|
||||||
result.addAll(result2);
|
}
|
||||||
//平均值
|
//平均值
|
||||||
InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataPlt.class);
|
InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataPlt.class);
|
||||||
influxQueryWrapper3.regular(DataPlt::getLineId, lineIndex)
|
influxQueryWrapper3.regular(DataPlt::getLineId, lineIndex)
|
||||||
@@ -1873,10 +1887,16 @@ public class DayDataServiceImpl implements DayDataService {
|
|||||||
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
||||||
.between(DataPlt::getTime, startTime, endTime);
|
.between(DataPlt::getTime, startTime, endTime);
|
||||||
List<DataPlt> result3 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper3);
|
List<DataPlt> result3 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper3);
|
||||||
result3.forEach(item -> {
|
if(CollUtil.isNotEmpty(result3)){
|
||||||
item.setValueType(InfluxDbSqlConstant.AVG_WEB);
|
Map<String, List<DataPlt>> collect = result3.stream().collect(Collectors.groupingBy(DataPlt::getPhaseType));
|
||||||
|
collect.forEach((key, value) -> {
|
||||||
|
double asDouble = value.stream().mapToDouble(DataPlt::getPlt).average().getAsDouble();
|
||||||
|
DataPlt dataPlt = value.get(0);
|
||||||
|
dataPlt.setValueType(InfluxDbSqlConstant.AVG_WEB);
|
||||||
|
dataPlt.setPlt(asDouble);
|
||||||
|
result.add(dataPlt);
|
||||||
});
|
});
|
||||||
result.addAll(result3);
|
}
|
||||||
//CP95(取平均值的CP95值)
|
//CP95(取平均值的CP95值)
|
||||||
InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataPlt.class);
|
InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataPlt.class);
|
||||||
influxQueryWrapper4.regular(DataPlt::getLineId, lineIndex)
|
influxQueryWrapper4.regular(DataPlt::getLineId, lineIndex)
|
||||||
@@ -1884,10 +1904,15 @@ public class DayDataServiceImpl implements DayDataService {
|
|||||||
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
.groupBy(DataPlt::getLineId, DataPlt::getPhaseType, DataPlt::getQualityFlag, DataPlt::getValueType)
|
||||||
.between(DataPlt::getTime, startTime, endTime);
|
.between(DataPlt::getTime, startTime, endTime);
|
||||||
List<DataPlt> result4 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper4);
|
List<DataPlt> result4 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper4);
|
||||||
result4.forEach(item -> {
|
if(CollUtil.isNotEmpty(result4)){
|
||||||
item.setValueType(InfluxDbSqlConstant.CP95);
|
Map<String, List<DataPlt>> collect = result4.stream().collect(Collectors.groupingBy(DataPlt::getPhaseType));
|
||||||
|
collect.forEach((key, value) -> {
|
||||||
|
value.sort(Comparator.comparing(DataPlt::getPlt).reversed());
|
||||||
|
DataPlt dataPlt = value.get(0);
|
||||||
|
dataPlt.setValueType(InfluxDbSqlConstant.CP95);
|
||||||
|
result.add(dataPlt);
|
||||||
});
|
});
|
||||||
result.addAll(result4);
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -594,8 +594,19 @@ public class PollutionServiceImpl implements PollutionService {
|
|||||||
for (RStatDataVDPO dayV : list) {
|
for (RStatDataVDPO dayV : list) {
|
||||||
for (Overlimit overlimit : overLimitList) {
|
for (Overlimit overlimit : overLimitList) {
|
||||||
if (Objects.equals(dayV.getLineId(),overlimit.getId())){
|
if (Objects.equals(dayV.getLineId(),overlimit.getId())){
|
||||||
double vlDev = Math.abs(dayV.getVlDev()/overlimit.getUvoltageDev());
|
double vlDev;
|
||||||
double vuDev = Math.abs(dayV.getVuDev()/overlimit.getVoltageDev());
|
double vuDev;
|
||||||
|
if(overlimit.getVoltageDev() == 0){
|
||||||
|
vlDev = 0;
|
||||||
|
}else {
|
||||||
|
vlDev = Math.abs(dayV.getVlDev()/overlimit.getVoltageDev());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(overlimit.getUvoltageDev() == 0){
|
||||||
|
vuDev = 0;
|
||||||
|
}else {
|
||||||
|
vuDev = Math.abs(dayV.getVuDev()/overlimit.getUvoltageDev());
|
||||||
|
}
|
||||||
data = Stream.of(vuDev,vlDev).collect(Collectors.toList());
|
data = Stream.of(vuDev,vlDev).collect(Collectors.toList());
|
||||||
double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get();
|
double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get();
|
||||||
publicDTO = new PublicDTO();
|
publicDTO = new PublicDTO();
|
||||||
|
|||||||
Reference in New Issue
Block a user