河北超高压算法调整

This commit is contained in:
2024-01-18 20:38:58 +08:00
parent a7efd08a93
commit 61df7a2ca6

View File

@@ -145,67 +145,59 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList();
//河北数据量较大以尺寸20分片
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
List<List<String>> pendingIds = ListUtils.partition(lineIds,1);
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
lineIds.forEach(item->{
for (List<String> pendingId : pendingIds) {
//获取dataV数据
List<DataV> vList = getDataV(item,beginDay,endDay);
List<DataV> vList = getDataV(pendingId,beginDay,endDay);
list1.addAll(vList);
});
log.info("mysql入库数据" + list1);
// for (List<String> pendingId : pendingIds) {
// //获取dataV数据
// List<DataV> vList = getDataV(pendingId,beginDay,endDay);
// log.info("mysql入库数据" + vList);
// list1.addAll(vList);
//获取dataI数据
//List<DataI> iList = getDataI(pendingId,beginDay,endDay);
//list2.addAll(iList);
List<DataI> iList = getDataI(pendingId,beginDay,endDay);
list2.addAll(iList);
//获取dataFlicker数据
//List<DataFlicker> dataFlickerList = getDataFlicker(pendingId,beginDay,endDay);
//list3.addAll(dataFlickerList);
List<DataFlicker> dataFlickerList = getDataFlicker(pendingId,beginDay,endDay);
list3.addAll(dataFlickerList);
//获取dataFluc数据
//List<DataFluc> dataFlucList = getDataFluc(pendingId,beginDay,endDay);
//list4.addAll(dataFlucList);
List<DataFluc> dataFlucList = getDataFluc(pendingId,beginDay,endDay);
list4.addAll(dataFlucList);
//获取DataHarmPhasicI数据
//List<DataHarmPhasicI> dataHarmPhasicIList = getDataHarmphasicI(pendingId,beginDay,endDay);
//list5.addAll(dataHarmPhasicIList);
List<DataHarmPhasicI> dataHarmPhasicIList = getDataHarmphasicI(pendingId,beginDay,endDay);
list5.addAll(dataHarmPhasicIList);
//获取DataHarmPhasicV数据
//List<DataHarmPhasicV> dataHarmPhasicVList = getDataHarmphasicV(pendingId,beginDay,endDay);
//list6.addAll(dataHarmPhasicVList);
List<DataHarmPhasicV> dataHarmPhasicVList = getDataHarmphasicV(pendingId,beginDay,endDay);
list6.addAll(dataHarmPhasicVList);
//获取data_harmpower_p数据
//List<DataHarmPowerP> dataHarmPowerPList = getDataHarmPowerP(pendingId,beginDay,endDay);
//list7.addAll(dataHarmPowerPList);
List<DataHarmPowerP> dataHarmPowerPList = getDataHarmPowerP(pendingId,beginDay,endDay);
list7.addAll(dataHarmPowerPList);
//获取data_harmpower_q数据
//List<DataHarmPowerQ> dataHarmPowerQList = getDataHarmPowerQ(pendingId,beginDay,endDay);
//list8.addAll(dataHarmPowerQList);
List<DataHarmPowerQ> dataHarmPowerQList = getDataHarmPowerQ(pendingId,beginDay,endDay);
list8.addAll(dataHarmPowerQList);
//获取data_harmpower_s数据
//List<DataHarmPowerS> dataHarmPowerSList = getDataHarmPowerS(pendingId,beginDay,endDay);
//list9.addAll(dataHarmPowerSList);
List<DataHarmPowerS> dataHarmPowerSList = getDataHarmPowerS(pendingId,beginDay,endDay);
list9.addAll(dataHarmPowerSList);
//获取data_harmrate_i数据
//List<DataHarmRateI> dataHarmRateIList = getDataHarmRateI(pendingId,beginDay,endDay);
//list10.addAll(dataHarmRateIList);
List<DataHarmRateI> dataHarmRateIList = getDataHarmRateI(pendingId,beginDay,endDay);
list10.addAll(dataHarmRateIList);
//获取data_harmrate_v数据
//List<DataHarmRateV> dataHarmRateVList = getDataHarmRateV(pendingId,beginDay,endDay);
//list11.addAll(dataHarmRateVList);
List<DataHarmRateV> dataHarmRateVList = getDataHarmRateV(pendingId,beginDay,endDay);
list11.addAll(dataHarmRateVList);
//获取data_inharm_i数据
//List<DataInHarmI> dataInHarmIList = getDataInHarmI(pendingId,beginDay,endDay);
//list12.addAll(dataInHarmIList);
List<DataInHarmI> dataInHarmIList = getDataInHarmI(pendingId,beginDay,endDay);
list12.addAll(dataInHarmIList);
//获取data_inharm_v数据
//List<DataInHarmV> dataInHarmVList = getDataInHarmV(pendingId,beginDay,endDay);
//list13.addAll(dataInHarmVList);
List<DataInHarmV> dataInHarmVList = getDataInHarmV(pendingId,beginDay,endDay);
list13.addAll(dataInHarmVList);
//获取data_inharmrate_i数据 influxDB暂无此表数据统计待定
//List<DataInHarmRateI> dataInHarmRateIList = getDataInHarmRateI(pendingId,beginDay,endDay);
//list14.addAll(dataInHarmRateIList);
List<DataInHarmRateI> dataInHarmRateIList = getDataInHarmRateI(pendingId,beginDay,endDay);
list14.addAll(dataInHarmRateIList);
//获取data_inharmrate_v数据 influxDB暂无此表数据统计待定
//List<DataInHarmRateV> dataInHarmRateVList = getDataInHarmRateV(pendingId,beginDay,endDay);
//list15.addAll(dataInHarmRateVList);
List<DataInHarmRateV> dataInHarmRateVList = getDataInHarmRateV(pendingId,beginDay,endDay);
list15.addAll(dataInHarmRateVList);
//获取data_plt数据
//List<DataPlt> dataPltList = getDataPlt(pendingId,beginDay,endDay);
//list16.addAll(dataPltList);
// }
List<DataPlt> dataPltList = getDataPlt(pendingId,beginDay,endDay);
list16.addAll(dataPltList);
}
//dataV数据入库
if (!CollectionUtils.isEmpty(list1)) {
for (DataV item : list1) {
@@ -451,12 +443,12 @@ public class DayDataServiceImpl implements DayDataService {
* @param endTime 结束时间
* @return
*/
public List<DataV> getDataV(String lineIndex, String startTime, String endTime) {
public List<DataV> getDataV(List<String> lineIndex, String startTime, String endTime) {
List<DataV> result = new ArrayList<>();
//最小值
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
influxQueryWrapper.eq(DataV::getLineId, lineIndex)
influxQueryWrapper.regular(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MIN)
.min(DataV::getFreq)
.min(DataV::getFreqDev)
@@ -472,12 +464,11 @@ public class DayDataServiceImpl implements DayDataService {
.groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
.between(DataV::getTime, startTime, endTime);
List<DataV> result1 = dataVMapper.getStatisticsByWraper(influxQueryWrapper);
log.info("最小值数据:" + result1);
result.addAll(result1);
//最大值
InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
influxQueryWrapper2.eq(DataV::getLineId, lineIndex)
influxQueryWrapper2.regular(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
.max(DataV::getFreq)
.max(DataV::getFreqDev)
@@ -493,12 +484,11 @@ public class DayDataServiceImpl implements DayDataService {
.groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
.between(DataV::getTime, startTime, endTime);
List<DataV> result2 = dataVMapper.getStatisticsByWraper(influxQueryWrapper2);
log.info("最大值数据:" + result2);
result.addAll(result2);
//平均值
InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
influxQueryWrapper3.eq(DataV::getLineId, lineIndex)
influxQueryWrapper3.regular(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB)
.mean(DataV::getFreq)
.mean(DataV::getFreqDev)
@@ -514,12 +504,11 @@ public class DayDataServiceImpl implements DayDataService {
.groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
.between(DataV::getTime, startTime, endTime);
List<DataV> result3 = dataVMapper.getStatisticsByWraper(influxQueryWrapper3);
log.info("平均值数据:" + result3);
result.addAll(result3);
//CP95(取平均值的CP95值)
InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95);
influxQueryWrapper4.eq(DataV::getLineId, lineIndex)
influxQueryWrapper4.regular(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB)
.percentile(DataV::getFreq,95)
.percentile(DataV::getFreqDev,95)
@@ -535,104 +524,12 @@ public class DayDataServiceImpl implements DayDataService {
.groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
.between(DataV::getTime, startTime, endTime);
List<DataV> result4 = dataVMapper.getStatisticsByWraper(influxQueryWrapper4);
log.info("CP95值数据" + result4);
result4.forEach(item->{
item.setValueType(InfluxDbSqlConstant.CP95);
});
result.addAll(result4);
return result;
}
// public List<DataV> getDataV(List<String> lineIndex, String startTime, String endTime) {
// List<DataV> result = new ArrayList<>();
// //最小值
// InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
// influxQueryWrapper.minSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
// influxQueryWrapper.regular(DataV::getLineId, lineIndex)
// .eq(DataV::getValueType, InfluxDbSqlConstant.MIN)
// .min(DataV::getFreq)
// .min(DataV::getFreqDev)
// .min(DataV::getRms)
// .min(DataV::getRmsLvr)
// .min(DataV::getVNeg)
// .min(DataV::getVPos)
// .min(DataV::getVThd)
// .min(DataV::getVUnbalance)
// .min(DataV::getVZero)
// .min(DataV::getVlDev)
// .min(DataV::getVuDev)
// .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
// .between(DataV::getTime, startTime, endTime);
// List<DataV> result1 = dataVMapper.getStatisticsByWraper(influxQueryWrapper);
// log.info("最小值数据:" + result1);
// result.addAll(result1);
// //最大值
// InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class);
// influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
// influxQueryWrapper2.regular(DataV::getLineId, lineIndex)
// .eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
// .max(DataV::getFreq)
// .max(DataV::getFreqDev)
// .max(DataV::getRms)
// .max(DataV::getRmsLvr)
// .max(DataV::getVNeg)
// .max(DataV::getVPos)
// .max(DataV::getVThd)
// .max(DataV::getVUnbalance)
// .max(DataV::getVZero)
// .max(DataV::getVlDev)
// .max(DataV::getVuDev)
// .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
// .between(DataV::getTime, startTime, endTime);
// List<DataV> result2 = dataVMapper.getStatisticsByWraper(influxQueryWrapper2);
// log.info("最大值数据:" + result2);
// result.addAll(result2);
// //平均值
// InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataV.class);
// influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
// influxQueryWrapper3.regular(DataV::getLineId, lineIndex)
// .eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB)
// .mean(DataV::getFreq)
// .mean(DataV::getFreqDev)
// .mean(DataV::getRms)
// .mean(DataV::getRmsLvr)
// .mean(DataV::getVNeg)
// .mean(DataV::getVPos)
// .mean(DataV::getVThd)
// .mean(DataV::getVUnbalance)
// .mean(DataV::getVZero)
// .mean(DataV::getVlDev)
// .mean(DataV::getVuDev)
// .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
// .between(DataV::getTime, startTime, endTime);
// List<DataV> result3 = dataVMapper.getStatisticsByWraper(influxQueryWrapper3);
// log.info("平均值数据:" + result3);
// result.addAll(result3);
// //CP95(取平均值的CP95值)
// InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataV.class);
// influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95);
// influxQueryWrapper4.regular(DataV::getLineId, lineIndex)
// .eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB)
// .percentile(DataV::getFreq,95)
// .percentile(DataV::getFreqDev,95)
// .percentile(DataV::getRms,95)
// .percentile(DataV::getRmsLvr,95)
// .percentile(DataV::getVNeg,95)
// .percentile(DataV::getVPos,95)
// .percentile(DataV::getVThd,95)
// .percentile(DataV::getVUnbalance,95)
// .percentile(DataV::getVZero,95)
// .percentile(DataV::getVlDev,95)
// .percentile(DataV::getVuDev,95)
// .groupBy(DataV::getLineId,DataV::getPhasicType,DataV::getQualityFlag,DataV::getValueType)
// .between(DataV::getTime, startTime, endTime);
// List<DataV> result4 = dataVMapper.getStatisticsByWraper(influxQueryWrapper4);
// log.info("CP95值数据" + result4);
// result4.forEach(item->{
// item.setValueType(InfluxDbSqlConstant.CP95);
// });
// result.addAll(result4);
// return result;
// }
/**
* 功能描述:获取dataI数据