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