联调有功功率,解决部分bug
This commit is contained in:
@@ -104,17 +104,17 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService {
|
||||
List<PowerStatisticsTargetVO> record = new ArrayList<>();
|
||||
RActivePowerRangeVO rActivePowerRangePO = rActivePowerRangeService.getDataByLineId(powerStatisticsParam.getLineId(),
|
||||
powerStatisticsParam.getSearchBeginTime(), powerStatisticsParam.getSearchEndTime());
|
||||
//获取电压数据
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setLineId(Collections.singletonList(rActivePowerRangePO.getLineId()));
|
||||
LineCountEvaluateParam lineCountEvaluateParam = new LineCountEvaluateParam();
|
||||
lineCountEvaluateParam.setLineId(Collections.singletonList(rActivePowerRangePO.getLineId()));
|
||||
lineCountEvaluateParam.setStartTime(powerStatisticsParam.getSearchBeginTime());
|
||||
lineCountEvaluateParam.setEndTime(powerStatisticsParam.getSearchBeginTime());
|
||||
//获取超标数据
|
||||
List<DataLimitRateDetailTimeDto> dtoList = dataLimitRateDetailFeignClient.getLimitRateDetailTimeList(lineCountEvaluateParam).getData();
|
||||
Map<String, DataLimitRateDetailTimeDto> timeDateMap = dtoList.stream().collect(Collectors.toMap(x -> x.getTime(), Function.identity()));
|
||||
if (ObjectUtil.isNotNull(rActivePowerRangePO)) {
|
||||
//获取电压数据
|
||||
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
|
||||
lineParam.setLineId(Collections.singletonList(rActivePowerRangePO.getLineId()));
|
||||
LineCountEvaluateParam lineCountEvaluateParam = new LineCountEvaluateParam();
|
||||
lineCountEvaluateParam.setLineId(Collections.singletonList(rActivePowerRangePO.getLineId()));
|
||||
lineCountEvaluateParam.setStartTime(powerStatisticsParam.getSearchBeginTime());
|
||||
lineCountEvaluateParam.setEndTime(powerStatisticsParam.getSearchBeginTime());
|
||||
//获取超标数据
|
||||
List<DataLimitRateDetailTimeDto> dtoList = dataLimitRateDetailFeignClient.getLimitRateDetailTimeList(lineCountEvaluateParam).getData();
|
||||
Map<String, DataLimitRateDetailTimeDto> timeDateMap = dtoList.stream().collect(Collectors.toMap(x -> x.getTime(), Function.identity()));
|
||||
List<String> timeId = rActivePowerRangePO.getTimeId();
|
||||
String times = reflexObjValue(rActivePowerRangePO, "minsTime" + powerStatisticsParam.getField()).toString().replace("null", "");
|
||||
List<String> timeList = JSONArray.parseArray(times, String.class);
|
||||
@@ -156,6 +156,7 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService {
|
||||
evaluateParam.setLineId(Collections.singletonList(param.getLineId()));
|
||||
evaluateParam.setStartTime(param.getSearchBeginTime());
|
||||
evaluateParam.setEndTime(param.getSearchEndTime());
|
||||
String time = param.getSearchBeginTime();
|
||||
if ("1".equals(param.getStatisticalId())) {
|
||||
//电压数据
|
||||
List<DataVDto> dataVAllTime = dataVFeignClient.getRawData(evaluateParam).getData();
|
||||
@@ -165,42 +166,50 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService {
|
||||
List<DataIDto> dataIList = dataIFeignClient.getRawData(evaluateParam).getData();
|
||||
//电压偏差
|
||||
if ("Dev".equals(param.getCode()) || StrUtil.isBlank(param.getCode())) {
|
||||
addThdData(info, overlimit.getVoltageDev(), "vuDev", dataVAllTime, "电压上偏差");
|
||||
addThdData(info, overlimit.getUvoltageDev(), "vlDev", dataVAllTime, "电压下偏差");
|
||||
addThdData(info, overlimit.getVoltageDev(), "vuDev", dataVAllTime, "电压上偏差","%",time);
|
||||
addThdData(info, overlimit.getUvoltageDev(), "vlDev", dataVAllTime, "电压下偏差","%",time);
|
||||
}
|
||||
//电压不平横度
|
||||
if ("Unbalance".equals(param.getCode()) || StrUtil.isBlank(param.getCode())) {
|
||||
addThdData(info, overlimit.getUbalance(), "vUnbalance", dataVAllTime, "三相电压不平横度");
|
||||
addThdData(info, overlimit.getUbalance(), "vUnbalance", dataVAllTime, "三相电压不平横度","%",time);
|
||||
}
|
||||
//闪变
|
||||
if ("plt".equals(param.getCode()) || StrUtil.isBlank(param.getCode())) {
|
||||
addThdData(info, overlimit.getFlicker(), "plt", dataFlickerAllTime, "长时闪变");
|
||||
addThdData(info, overlimit.getFlicker(), "plt", dataFlickerAllTime, "长时闪变","",time);
|
||||
}
|
||||
//电流不平衡度
|
||||
//负序电流不平衡度
|
||||
if ("iNeg".equals(param.getCode()) || StrUtil.isBlank(param.getCode())) {
|
||||
addThdData(info, overlimit.getINeg(), "iNeg", dataIList, "电流不平衡度");
|
||||
addThdData(info, overlimit.getINeg(), "iNeg", dataIList, "电流不平衡度","",time);
|
||||
}
|
||||
//频率偏差越限
|
||||
if ("freq".equals(param.getCode()) || StrUtil.isBlank(param.getCode())) {
|
||||
addThdData(info, overlimit.getINeg(), "freqDev", dataVAllTime, "频率偏差","Hz",time);
|
||||
}
|
||||
//电压谐波畸变率
|
||||
if ("freq".equals(param.getCode()) || StrUtil.isBlank(param.getCode())) {
|
||||
addThdData(info, overlimit.getINeg(), "vThd", dataVAllTime, "电压谐波畸变率","%",time);
|
||||
}
|
||||
|
||||
}
|
||||
if ("2".equals(param.getStatisticalId())) {
|
||||
//谐波数据
|
||||
List<DataHarmDto> dataVHarmList = dataHarmRateVFeignClient.getRawData(evaluateParam).getData();
|
||||
addThdData(info, overlimit, "getUharm", "v", 2, 26, dataVHarmList, "谐波电压");
|
||||
addThdData(info, overlimit, "getUharm", "v", 2, 26, dataVHarmList, "谐波电压","%",time);
|
||||
}
|
||||
if ("3".equals(param.getStatisticalId())) {
|
||||
//电流数据
|
||||
List<DataIDto> dataIList = dataIFeignClient.getRawData(evaluateParam).getData();
|
||||
addThdData(info, overlimit, "getUharm", "i", 2, 26, dataIList, "谐波电流");
|
||||
|
||||
addThdData(info, overlimit, "getUharm", "i", 2, 26, dataIList, "谐波电流","A",time);
|
||||
}
|
||||
if ("4".equals(param.getStatisticalId())) {
|
||||
//间谐波数据
|
||||
List<DataHarmDto> dataVInHarmList = dataInharmVFeignClient.getRawData(evaluateParam).getData();
|
||||
addThdData(info, overlimit, "getInuharm", "v", 1, 17, dataVInHarmList, "间谐波电压");
|
||||
addThdData(info, overlimit, "getInuharm", "v", 1, 17, dataVInHarmList, "间谐波电压","%",time);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
private void addThdData(List<ThdDataVO> info, Overlimit overlimit, String limitField, String fieldName, Integer start, Integer end, List<?> dataAllTime, String anotherName) {
|
||||
private void addThdData(List<ThdDataVO> info, Overlimit overlimit, String limitField, String fieldName, Integer start, Integer end, List<?> dataAllTime, String anotherName,String unit,String time) {
|
||||
if (CollUtil.isNotEmpty(dataAllTime)) {
|
||||
for (int i = start; i < end; i++) {
|
||||
int finalI = i;
|
||||
@@ -215,6 +224,8 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
vo.setAnotherName(anotherName);
|
||||
vo.setUnit(unit);
|
||||
vo.setTime(time);
|
||||
if ("getInuharm".equals(limitField)) {
|
||||
vo.setAnotherName(i - 0.5 + "次");
|
||||
} else {
|
||||
@@ -230,13 +241,15 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService {
|
||||
}
|
||||
}
|
||||
|
||||
private void addThdData(List<ThdDataVO> info, Float limit, String fieldName, List<?> dataAllTime, String anotherName) {
|
||||
private void addThdData(List<ThdDataVO> info, Float limit, String fieldName, List<?> dataAllTime, String anotherName,String unit,String time) {
|
||||
if (CollUtil.isNotEmpty(dataAllTime)) {
|
||||
List<String> collect = dataAllTime.stream().map(x -> data(x, fieldName)).filter(x -> ObjectUtil.isNotNull(x)).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(collect)) {
|
||||
ThdDataVO vo = new ThdDataVO();
|
||||
vo.setLimit(limit);
|
||||
vo.setAnotherName(anotherName);
|
||||
vo.setUnit(unit);
|
||||
vo.setTime(time);
|
||||
for (String s : collect) {
|
||||
setDataV(vo, s);
|
||||
}
|
||||
@@ -285,7 +298,7 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService {
|
||||
if (timeCross.contains(time)) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -74,7 +74,6 @@ public class RActivePowerRangeServiceImpl extends MppServiceImpl<RActivePowerRan
|
||||
rActivePowerRangePO.setLineId(lineId);
|
||||
rActivePowerRangePO.setTimeId(rActivePowerRangePOS.stream().map(RActivePowerRangePO::getTimeId).collect(Collectors.toList()));
|
||||
|
||||
|
||||
//多条记录则次数累加,是否越限只要有一个区间越限则统一视为该区间越限
|
||||
rActivePowerRangePO.setMinsNum0(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum0).sum());
|
||||
rActivePowerRangePO.setMinsNum1(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum1).sum());
|
||||
@@ -86,16 +85,16 @@ public class RActivePowerRangeServiceImpl extends MppServiceImpl<RActivePowerRan
|
||||
rActivePowerRangePO.setMinsNum7(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum7).sum());
|
||||
rActivePowerRangePO.setMinsNum8(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum8).sum());
|
||||
rActivePowerRangePO.setMinsNum9(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum9).sum());
|
||||
rActivePowerRangePO.setIsOrNot0(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum0).sum());
|
||||
rActivePowerRangePO.setIsOrNot1(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum1).sum());
|
||||
rActivePowerRangePO.setIsOrNot2(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum2).sum());
|
||||
rActivePowerRangePO.setIsOrNot3(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum3).sum());
|
||||
rActivePowerRangePO.setIsOrNot4(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum4).sum());
|
||||
rActivePowerRangePO.setIsOrNot5(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum5).sum());
|
||||
rActivePowerRangePO.setIsOrNot6(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum6).sum());
|
||||
rActivePowerRangePO.setIsOrNot7(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum7).sum());
|
||||
rActivePowerRangePO.setIsOrNot8(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum8).sum());
|
||||
rActivePowerRangePO.setIsOrNot9(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getMinsNum9).sum());
|
||||
rActivePowerRangePO.setIsOrNot0(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot0).sum());
|
||||
rActivePowerRangePO.setIsOrNot1(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot1).sum());
|
||||
rActivePowerRangePO.setIsOrNot2(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot2).sum());
|
||||
rActivePowerRangePO.setIsOrNot3(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot3).sum());
|
||||
rActivePowerRangePO.setIsOrNot4(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot4).sum());
|
||||
rActivePowerRangePO.setIsOrNot5(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot5).sum());
|
||||
rActivePowerRangePO.setIsOrNot6(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot6).sum());
|
||||
rActivePowerRangePO.setIsOrNot7(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot7).sum());
|
||||
rActivePowerRangePO.setIsOrNot8(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot8).sum());
|
||||
rActivePowerRangePO.setIsOrNot9(rActivePowerRangePOS.stream().mapToInt(RActivePowerRangePO::getIsOrNot9).sum());
|
||||
|
||||
|
||||
rActivePowerRangePO.setMinsTime0(rActivePowerRangePOS.stream().map(RActivePowerRangePO::getMinsTime0).collect(Collectors.toList()));
|
||||
|
||||
Reference in New Issue
Block a user