算法调整
This commit is contained in:
@@ -556,6 +556,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public void dataPltHardler(CalculatedParam calculatedParam) {
|
||||
log.info(LocalDateTime.now() + "data_plt转r_stat_data_plt_d开始=====》");
|
||||
List<DataPlt> list16 = new ArrayList<>();
|
||||
@@ -1820,34 +1821,39 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
//最小值
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataPlt.class);
|
||||
influxQueryWrapper.regular(DataInHarmRateV::getLineId, lineIndex)
|
||||
.eq(DataPlt::getValueType, InfluxDbSqlConstant.MIN)
|
||||
.min(DataPlt::getPlt)
|
||||
.groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType)
|
||||
.between(DataPlt::getTime, startTime, endTime);
|
||||
List<DataPlt> result1 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper);
|
||||
result1.forEach(item->{
|
||||
item.setValueType(InfluxDbSqlConstant.MIN);
|
||||
});
|
||||
result.addAll(result1);
|
||||
//最大值
|
||||
InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataPlt.class);
|
||||
influxQueryWrapper2.regular(DataPlt::getLineId, lineIndex)
|
||||
.eq(DataPlt::getValueType, InfluxDbSqlConstant.MAX)
|
||||
.max(DataPlt::getPlt)
|
||||
.groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType)
|
||||
.between(DataPlt::getTime, startTime, endTime);
|
||||
List<DataPlt> result2 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper2);
|
||||
result2.forEach(item->{
|
||||
item.setValueType(InfluxDbSqlConstant.MAX);
|
||||
});
|
||||
result.addAll(result2);
|
||||
//平均值
|
||||
InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataPlt.class);
|
||||
influxQueryWrapper3.regular(DataPlt::getLineId, lineIndex)
|
||||
.eq(DataPlt::getValueType, InfluxDbSqlConstant.AVG_WEB)
|
||||
.mean(DataPlt::getPlt)
|
||||
.groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType)
|
||||
.between(DataPlt::getTime, startTime, endTime);
|
||||
List<DataPlt> result3 = dataPltMapper.getStatisticsByWraper(influxQueryWrapper3);
|
||||
result3.forEach(item->{
|
||||
item.setValueType(InfluxDbSqlConstant.AVG_WEB);
|
||||
});
|
||||
result.addAll(result3);
|
||||
//CP95(取平均值的CP95值)
|
||||
InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataPlt.class);
|
||||
influxQueryWrapper4.regular(DataPlt::getLineId, lineIndex)
|
||||
.eq(DataPlt::getValueType, InfluxDbSqlConstant.AVG_WEB)
|
||||
.percentile(DataPlt::getPlt,95)
|
||||
.groupBy(DataPlt::getLineId,DataPlt::getPhaseType,DataPlt::getQualityFlag,DataPlt::getValueType)
|
||||
.between(DataPlt::getTime, startTime, endTime);
|
||||
|
||||
@@ -219,7 +219,7 @@ public class LimitRateServiceImpl extends MppServiceImpl<LimitRatePOMapper, Limi
|
||||
List<RStatLimitRateDPO> list = list1.stream().map(m -> {
|
||||
list2.stream().filter(m2-> Objects.equals(m.getLineId(),m2.getLineId()) && Objects.equals(m.getPhasicType(),m2.getPhasicType())).forEach(m2-> {
|
||||
m.setAllTime(m.getAllTime() + m2.getAllTime());
|
||||
m.setFlickerAllTime(m.getFlickerOvertime() + m2.getFlickerAllTime());
|
||||
m.setFlickerAllTime(m.getFlickerAllTime() + m2.getFlickerAllTime());
|
||||
m.setFreqDevOvertime(m.getFreqDevOvertime() + m2.getFreqDevOvertime());
|
||||
m.setVoltageDevOvertime(m.getVoltageDevOvertime() + m2.getVoltageDevOvertime());
|
||||
m.setUbalanceOvertime(m.getUbalanceOvertime() + m2.getUbalanceOvertime());
|
||||
|
||||
Reference in New Issue
Block a user