From 270eee3c26032ce4901d0990677a14a22187d270 Mon Sep 17 00:00:00 2001 From: guofeihu <3347277866@qq.com> Date: Thu, 12 Sep 2024 19:18:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=89=E5=8A=9F=E5=8A=9F=E7=8E=87=E8=B6=8B?= =?UTF-8?q?=E5=8A=BF=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E7=AE=97=E6=B3=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PowerStatisticsServiceImpl.java | 35 ++++++++++++++++--- .../event/RActivePowerRangeServiceImpl.java | 26 +++++++++----- 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/PowerStatisticsServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/PowerStatisticsServiceImpl.java index c86b02dd5..7e61b4851 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/PowerStatisticsServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/PowerStatisticsServiceImpl.java @@ -146,11 +146,38 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService { //间谐波电压含有率带有谐波次数需要特殊处理 powerStatisticsTargetVO.setInterHarmonicList(initFrequencyPV(value,Param.interHarmonic,value.get(0).getInterHarmonicLimit())); powerStatisticsTargetVO.setSequenceCurrentUnbalanceList(initPV(pvs,Param.sequenceCurrentUnbalance,value.get(0).getSequenceCurrentUnbalanceLimit())); + powerStatisticsTargetVO.setVTimesList(formatFrequency(powerStatisticsTargetVO.getVTimesList())); + powerStatisticsTargetVO.setITimestList(formatFrequency(powerStatisticsTargetVO.getITimestList())); + powerStatisticsTargetVO.setInterHarmonicList(formatFrequency(powerStatisticsTargetVO.getInterHarmonicList())); data.add(powerStatisticsTargetVO); }); + return data.stream().sorted(Comparator.comparing(PowerStatisticsTargetVO::getTime)).collect(Collectors.toList()); } + private List formatFrequency(List thdDataVOS){ + List data = new ArrayList<>(); + for(ThdDataVO thdDataVO : thdDataVOS){ + boolean isOk = false; + if(thdDataVO.getMINPhaseA()!= null && Float.parseFloat(thdDataVO.getMINPhaseA())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getMINPhaseB()!= null && Float.parseFloat(thdDataVO.getMINPhaseB())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getMINPhaseC()!= null && Float.parseFloat(thdDataVO.getMINPhaseC())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getMAXPhaseA()!= null && Float.parseFloat(thdDataVO.getMAXPhaseA())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getMAXPhaseB()!= null && Float.parseFloat(thdDataVO.getMAXPhaseB())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getMAXPhaseC()!= null && Float.parseFloat(thdDataVO.getMAXPhaseC())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getAVGPhaseA()!= null && Float.parseFloat(thdDataVO.getAVGPhaseA())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getAVGPhaseB()!= null && Float.parseFloat(thdDataVO.getAVGPhaseB())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getAVGPhaseC()!= null && Float.parseFloat(thdDataVO.getAVGPhaseC())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getCP95PhaseA()!= null && Float.parseFloat(thdDataVO.getCP95PhaseA())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getCP95PhaseB()!= null && Float.parseFloat(thdDataVO.getCP95PhaseB())>thdDataVO.getLimit()) isOk = true; + if(thdDataVO.getCP95PhaseC()!= null && Float.parseFloat(thdDataVO.getCP95PhaseC())>thdDataVO.getLimit()) isOk = true; + if(isOk){ + data.add(thdDataVO); + } + } + return data; + } + private List initPV(List> pv, String name, Float limit){ List thdDataVOS = new ArrayList<>(); ThdDataVO tdv = new ThdDataVO(); @@ -296,11 +323,11 @@ public class PowerStatisticsServiceImpl implements PowerStatisticsService { tdv.setCP95PhaseB(frequencyPVList(cp94B,i-k)); tdv.setCP95PhaseC(frequencyPVList(cp94C,i-k)); tdv.setMINPhaseA(frequencyPVList(minA,i-k)); - tdv.setMINPhaseA(frequencyPVList(minB,i-k)); - tdv.setMINPhaseA(frequencyPVList(minC,i-k)); + tdv.setMINPhaseB(frequencyPVList(minB,i-k)); + tdv.setMINPhaseC(frequencyPVList(minC,i-k)); tdv.setMAXPhaseA(frequencyPVList(maxA,i-k)); - tdv.setMAXPhaseA(frequencyPVList(maxB,i-k)); - tdv.setMAXPhaseA(frequencyPVList(maxC,i-k)); + tdv.setMAXPhaseB(frequencyPVList(maxB,i-k)); + tdv.setMAXPhaseC(frequencyPVList(maxC,i-k)); } catch (Exception e) { e.printStackTrace(); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/event/RActivePowerRangeServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/event/RActivePowerRangeServiceImpl.java index 1f17a07b3..efe9d5da0 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/event/RActivePowerRangeServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/event/RActivePowerRangeServiceImpl.java @@ -97,11 +97,12 @@ public class RActivePowerRangeServiceImpl extends MppServiceImplparam.getField().equals(finalRActivePowerRangeParam.getField())).collect(Collectors.toList()); - } + //重点说明:powerStatisticsTargetVO结构(维度)为:time可能多组相同,取决于功率表data_harmpower_p中的相别及统计方式,标识每个指标是否越限,总之一句话:每条数据当前时间中八个指标是否越限及他们的相别和统计方式是什么 return powerStatisticsTargetVOS; } return null; @@ -411,6 +420,7 @@ public class RActivePowerRangeServiceImpl extends MppServiceImpl commonQueryParams = new ArrayList<>(); //不管哪种时间是固定的 String time = statisticalDataDTO.getTime().atZone(ZoneId.systemDefault()).format(formatter); + time = "2024-08-10 00:00:00"; CommonQueryParam commonQueryParam = new CommonQueryParam(); //无谐波次数指标查询 if(start == null){