1.解决监测点超标问题

This commit is contained in:
wr
2024-11-01 11:45:00 +08:00
parent 89e38abc00
commit 84321ff192
5 changed files with 19 additions and 9 deletions

View File

@@ -423,7 +423,14 @@
THEN 1
ELSE 0
END
) allOvertime
) allOvertime,
SUM(
CASE
WHEN A.flickerAllTime > 0
THEN 1
ELSE 0
END
) flickerAllTime
FROM
(SELECT
time_id,
@@ -434,6 +441,7 @@
SUM(ubalance_overtime) AS ubalanceOvertime,
SUM(uaberrance_overtime) AS uaberranceOvertime,
SUM(i_neg_overtime) AS iNegOvertime,
SUM(flicker_all_time) AS flickerAllTime,
SUM(
IF(
(

View File

@@ -527,7 +527,7 @@ public class GridServiceImpl implements IGridService {
detail9.setTargetName(DicDataEnum.INTERHARMONIC_VOLTAGE.getName());
if (CollUtil.isNotEmpty(list2)) {
//筛选出9项指标(电压偏差、频率偏差、电压总谐波畸变率、电压闪变、三相电压不平衡度、负序电流、谐波电流、间谐波电压、谐波电压)超标监测点
long allNum = list2.stream().filter(o->o.getAllOvertime() > 0).count();
long allNum = list2.stream().filter(o->o.getAllOvertime() > 0|| o.getFlickerAllTime()>0).count();
detail.setOverNum((int) allNum);
detail.setOverRatio(PubUtils.doubleRound(2,detail.getOverNum()*100.0/detail.getOnlineNum()));
//筛选出电压偏差超标监测点

View File

@@ -699,9 +699,8 @@ public class RStatLimitServiceImpl implements RStatLimitService {
if (CollUtil.isNotEmpty(limitTarget)) {
long count = limitTarget.stream()
.filter(x -> x.getAllTime() > 0 || x.getFlickerAllTime() > 0)
.distinct()
.map(RStatLimitTargetDPO::getLineId).count();
lineData.setOutOfStandardRate(NumberUtil.round(count * 100.0 / limitTarget.size(), 2).floatValue());
.map(RStatLimitTargetDPO::getLineId).distinct().count();
lineData.setOutOfStandardRate(NumberUtil.round(count * 100.0 / lineIds.size(), 2).floatValue());
} else {
lineData.setOutOfStandardRate(0.0f);
}