From 4600884a28b0aeab5d5ca00b93eec4e2bed825b0 Mon Sep 17 00:00:00 2001 From: huangzj <826100833@qq.com> Date: Fri, 28 Jul 2023 09:55:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mysql/Impl/area/RStatOrgServiceImpl.java | 4 +- .../line/RMpMonitorEvaluateDServiceImpl.java | 101 ++++++++++-------- .../line/ROperatingMonitorDServiceImpl.java | 2 +- .../Impl/line/RStatAbnormalDServiceImpl.java | 13 ++- 4 files changed, 68 insertions(+), 52 deletions(-) diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatOrgServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatOrgServiceImpl.java index 02272aef4..914a18e76 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatOrgServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RStatOrgServiceImpl.java @@ -729,11 +729,11 @@ public class RStatOrgServiceImpl implements RStatOrgService { eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring(0, 7)); RMpPassRateMPO rMpPassRateMPO = rMpPassRateMMapper.selectOne(rMpPassRateMPOQueryWrapper); //todo 这边有点问题,每日监测点信息从公共接口获取,当日监测点应该都一样,不存在表数据不一致的情况 - if (!Objects.isNull(rMpPassRateMPO)){ +// if (!Objects.isNull(rMpPassRateMPO)){ rStatOrgMPO.setFreqPassRate(rMpPassRateMPO.getFreqPassRate()); rStatOrgMPO.setFlickerPassRate(rMpPassRateMPO.getFlickerPassRate()); rStatOrgMPO.setVDevPassRate(rMpPassRateMPO.getvDevPassRate()); - } +// } /*11、日均监测到暂态指标的监测点数*/ rMpEventDetailDPOQueryWrapper.clear(); diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/RMpMonitorEvaluateDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/RMpMonitorEvaluateDServiceImpl.java index 850978651..1f023fc9b 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/RMpMonitorEvaluateDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/RMpMonitorEvaluateDServiceImpl.java @@ -74,23 +74,26 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl fiveItems = dataVInfluxdbService.getFiveItems (temp, dataDate, statisticalInterval); - if(CollectionUtils.isEmpty (fiveItems)){ - return; - } - RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO (fiveItems, pmsAbnormalRules, voltage); + RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO(); + + + rMpMonitorEvaluateDPO = calculateRMpMonitorEvaluateDPO (rMpMonitorEvaluateDPO,fiveItems, pmsAbnormalRules, voltage,data.getPtType()); Date date = DateUtil.parse(dataDate); DataFlicker twoFlickerData = dataIntegrityRateInfluxService.getTwoFlickerData (temp, date, 5); if(Objects.isNull (twoFlickerData)){ - return; + rMpMonitorEvaluateDPO.setPltCount (0); + rMpMonitorEvaluateDPO.setPstCount (0); + }else { + rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ()); + rMpMonitorEvaluateDPO.setPstCount (twoFlickerData.getPstCount ()); } rMpMonitorEvaluateDPO.setAllMinuteCount (fiveItems.size ()); rMpMonitorEvaluateDPO.setDeviceId(devid); rMpMonitorEvaluateDPO.setDataDate (date); rMpMonitorEvaluateDPO.setMeasurementPointId (temp); - rMpMonitorEvaluateDPO.setPltCount (twoFlickerData.getPltCount ()); - rMpMonitorEvaluateDPO.setPstCount (twoFlickerData.getPstCount ()); + rMpMonitorEvaluateDPOS.add (rMpMonitorEvaluateDPO); }); @@ -109,8 +112,7 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl fiveItems, List pmsAbnormalRules, Double voltage) { - RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO = new RMpMonitorEvaluateDPO(); + private RMpMonitorEvaluateDPO calculateRMpMonitorEvaluateDPO(RMpMonitorEvaluateDPO rMpMonitorEvaluateDPO,List fiveItems, List pmsAbnormalRules, Double voltage,String ptType) { Integer freqCount = 0; Integer unbalanceCount = 0; @@ -124,48 +126,59 @@ public class RMpMonitorEvaluateDServiceImpl extends MppServiceImpl Objects.equals (temp.getTarget ( ), Param.TARGET_RMS_LVR)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules v_thdLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_THD)).collect (Collectors.toList ( )).get (0); PmsAbnormalRules v_unbalanceLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_UNBALANCE)).collect (Collectors.toList ( )).get (0); - for (DataVFiveItemDTO fiveItem : fiveItems) { - Double freqMax = fiveItem.getFreqMax (); - Double freqMin = fiveItem.getFreqMin (); + if(!CollectionUtils.isEmpty (fiveItems)){ + for (DataVFiveItemDTO fiveItem : fiveItems) { + Double freqMax = fiveItem.getFreqMax (); + Double freqMin = fiveItem.getFreqMin (); - Double rmsMax = fiveItem.getRmsMax (); - Double rmsMin = fiveItem.getRmsMin (); - Double vThdMax = fiveItem.getVThdMax (); - Double vThdMin = fiveItem.getVThdMin (); + Double rmsMax = fiveItem.getRmsMax (); + Double rmsMin = fiveItem.getRmsMin (); + Double vThdMax = fiveItem.getVThdMax (); + Double vThdMin = fiveItem.getVThdMin (); - Double vUnbalanceMax = fiveItem.getVUnbalanceMax (); - Double vUnbalanceMin = fiveItem.getVUnbalanceMin (); - Double rmsLvrMax = fiveItem.getRmsLvrMax (); - Double rmsLvrMin = fiveItem.getRmsLvrMin (); + Double vUnbalanceMax = fiveItem.getVUnbalanceMax (); + Double vUnbalanceMin = fiveItem.getVUnbalanceMin (); + Double rmsLvrMax = fiveItem.getRmsLvrMax (); + Double rmsLvrMin = fiveItem.getRmsLvrMin (); + Boolean rmsflag=false; + if(freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( )){ + freqCount++; + } + /*,监测点的接线方式,如果是星形接线这个指标要判断,角形界面则不判断,默认它是正常的*/ + if(Objects.equals("0",ptType)){ + if(rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) ){ + phaseVoltageCount++; + rmsflag =true; + } + }else { + rmsflag =true; + phaseVoltageCount++; + } - if(freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( )){ - freqCount++; - } - if(rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) ){ - phaseVoltageCount++; - } - if(rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage){ - lineVoltageCount++; - } - if(v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( )){ - vThdCount++; - } - if( v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )){ - unbalanceCount++; - } + if(rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage){ + lineVoltageCount++; + } + if(v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( )){ + vThdCount++; + } + if( v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )){ + unbalanceCount++; + } - if (freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( ) && - rmsLimit.getLowerLimit ( ) * (voltage / 1.732) <= rmsMin&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) && - rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage && - v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) && - v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( ) + if (freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( ) && + rmsflag && + rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage && + v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) && + v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( ) + + ) { + effectiveMinuteCount++; + } + } + } - ) { - effectiveMinuteCount++; - } - } rMpMonitorEvaluateDPO.setEffectiveMinuteCount (effectiveMinuteCount); rMpMonitorEvaluateDPO.setFreqCount (freqCount); rMpMonitorEvaluateDPO.setPhaseVoltageCount (phaseVoltageCount); diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ROperatingMonitorDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ROperatingMonitorDServiceImpl.java index ed64b4453..979b9df65 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ROperatingMonitorDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ROperatingMonitorDServiceImpl.java @@ -64,6 +64,7 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl rOperatingMonitorDPOList = new ArrayList<> (); indexLists.forEach (temp -> { + ROperatingMonitorDPO rOperatingMonitorDPO = new ROperatingMonitorDPO(); LineDetailDataVO data = lineFeignClient.getLineDetailData (temp).getData ( ); /*todo 统计间隔,电压等级取值方式,devid后期提供融合版本接口获取不然pms,pqs系统取值方式不一样*/ @@ -85,7 +86,6 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl