diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java index 5552b2c36..459fc0c6f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java @@ -96,12 +96,14 @@ public class RStatLimitServiceImpl implements RStatLimitService { //监测点总数量 List lineIds = list.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList()); //超标监测点信息 - List limitTargetList = new ArrayList<>(); + List limitTargetList = new ArrayList<>(); List integrityList = new ArrayList<>(); if (CollUtil.isNotEmpty(lineIds)) { - limitTargetList = rStatLimitTargetDMapper.getSumTargetDetails(lineIds, - DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())).toString(), - DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())).toString()); + StatSubstationBizBaseParam baseParam = new StatSubstationBizBaseParam(); + baseParam.setIds(lineIds); + baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())).toString()); + baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())).toString()); + limitTargetList = targetDService.getLinesHarmTarget(baseParam); integrityList = lineIntegrityClient.getIntegrityByLineIds(lineIds, deviceInfoParam.getSearchBeginTime(), deviceInfoParam.getSearchEndTime()).getData(); } //终端在线率 @@ -576,7 +578,7 @@ public class RStatLimitServiceImpl implements RStatLimitService { } - private void onLineAndIntegrity(List lineIds, List onIntegrityByIds, List devIds, List onlineRateByDevIds, List limitTargetList, GridDiagramVO.LineData lineData) { + private void onLineAndIntegrity(List lineIds, List onIntegrityByIds, List devIds, List onlineRateByDevIds, List limitTargetList, GridDiagramVO.LineData lineData) { //监测完整率 List integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(integrityDS)) { @@ -596,9 +598,9 @@ public class RStatLimitServiceImpl implements RStatLimitService { lineData.setOnLineRate(0.0f); } //监测点超标占比 - List limitTarget = limitTargetList.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList()); + List limitTarget = limitTargetList.stream().filter(x -> lineIds.contains(x)).collect(Collectors.toList()); if (CollUtil.isNotEmpty(limitTarget)) { - long count = limitTarget.stream().filter(o -> o.getAllOvertime() > 0 || o.getFlickerAllTime() > 0).count(); + long count = limitTarget.size(); lineData.setOutOfStandardRate(NumberUtil.round(count * 100.0 / lineIds.size(), 2).floatValue()); } else { lineData.setOutOfStandardRate(0.0f);