河北超高压算法测试

This commit is contained in:
2024-01-18 19:33:54 +08:00
parent cf019d49d1
commit c19f65f5c1

View File

@@ -145,14 +145,21 @@ public class DayDataServiceImpl implements DayDataService {
List<String> lineIds = calculatedParam.getIdList();
//河北数据量较大以尺寸20分片
List<List<String>> pendingIds = ListUtils.partition(lineIds,20);
List<List<String>> pendingIds = ListUtils.partition(lineIds,5);
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);
for (List<String> pendingId : pendingIds) {
lineIds.forEach(item->{
//获取dataV数据
List<DataV> vList = getDataV(pendingId,beginDay,endDay);
List<DataV> vList = getDataV(item,beginDay,endDay);
log.info("mysql入库数据" + vList);
list1.addAll(vList);
});
// 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);
@@ -198,7 +205,7 @@ public class DayDataServiceImpl implements DayDataService {
//获取data_plt数据
//List<DataPlt> dataPltList = getDataPlt(pendingId,beginDay,endDay);
//list16.addAll(dataPltList);
}
// }
//dataV数据入库
if (!CollectionUtils.isEmpty(list1)) {
for (DataV item : list1) {
@@ -444,12 +451,12 @@ public class DayDataServiceImpl implements DayDataService {
* @param endTime 结束时间
* @return
*/
public List<DataV> getDataV(List<String> lineIndex, String startTime, String endTime) {
public List<DataV> getDataV(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)
influxQueryWrapper.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MIN)
.min(DataV::getFreq)
.min(DataV::getFreqDev)
@@ -470,7 +477,7 @@ public class DayDataServiceImpl implements DayDataService {
//最大值
InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper2.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
influxQueryWrapper2.regular(DataV::getLineId, lineIndex)
influxQueryWrapper2.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
.max(DataV::getFreq)
.max(DataV::getFreqDev)
@@ -491,7 +498,7 @@ public class DayDataServiceImpl implements DayDataService {
//平均值
InfluxQueryWrapper influxQueryWrapper3 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper3.meanSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1));
influxQueryWrapper3.regular(DataV::getLineId, lineIndex)
influxQueryWrapper3.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB)
.mean(DataV::getFreq)
.mean(DataV::getFreqDev)
@@ -512,7 +519,7 @@ public class DayDataServiceImpl implements DayDataService {
//CP95(取平均值的CP95值)
InfluxQueryWrapper influxQueryWrapper4 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper4.percentileSamePrefixAndSuffix(InfluxDbSqlConstant.V,"", HarmonicTimesUtil.harmonicTimesList(1,50,1),95);
influxQueryWrapper4.regular(DataV::getLineId, lineIndex)
influxQueryWrapper4.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.AVG_WEB)
.percentile(DataV::getFreq,95)
.percentile(DataV::getFreqDev,95)
@@ -535,6 +542,97 @@ public class DayDataServiceImpl implements DayDataService {
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数据