From cf0324bff5cb114d3e451c619943575c95b00b2d Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Wed, 6 Mar 2024 18:47:17 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=B8=93=E9=A1=B9=E5=88=86=E6=9E=90-?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E6=80=BB=E8=A7=88=E7=AE=97=E6=B3=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmonic/pojo/po/RStatHarmonicOrgM.java | 5 +++ .../harmonic/pojo/po/RStatHarmonicOrgQ.java | 3 ++ .../harmonic/pojo/po/RStatHarmonicOrgY.java | 3 ++ .../pojo/po/WindFarmIndexOverviewPO.java | 2 +- .../WindFarmIndexOverviewServiceImpl.java | 4 +- ...ecialAnalysisIndexOverviewServiceImpl.java | 44 +++++++++---------- 6 files changed, 36 insertions(+), 25 deletions(-) diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgM.java index c879a1f24..f0657671e 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgM.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgM.java @@ -53,6 +53,11 @@ public class RStatHarmonicOrgM implements Serializable { * 数据类型,字典表(01:主网测点 02:配网测点) */ private String dataType; + + public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) { + this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage*100,2).floatValue();; + } + public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) { this.overLimitMeasurementRatioAverage = NumberUtil.round(overLimitMeasurementRatioAverage*100,2).floatValue(); } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgQ.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgQ.java index 06708b591..db556f586 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgQ.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgQ.java @@ -53,6 +53,9 @@ public class RStatHarmonicOrgQ implements Serializable { * 数据类型,字典表(01:主网测点 02:配网测点) */ private String dataType; + public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) { + this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage*100,2).floatValue();; + } public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) { this.overLimitMeasurementRatioAverage = NumberUtil.round(overLimitMeasurementRatioAverage*100,2).floatValue(); } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgY.java index 9e9cf80ca..e40ae188a 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgY.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatHarmonicOrgY.java @@ -54,6 +54,9 @@ public class RStatHarmonicOrgY implements Serializable { */ private String dataType; + public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) { + this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage*100,2).floatValue();; + } public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) { this.overLimitMeasurementRatioAverage = NumberUtil.round(overLimitMeasurementRatioAverage*100,2).floatValue(); } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/WindFarmIndexOverviewPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/WindFarmIndexOverviewPO.java index ef7792ec6..a8e9e9806 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/WindFarmIndexOverviewPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/WindFarmIndexOverviewPO.java @@ -43,6 +43,6 @@ public class WindFarmIndexOverviewPO implements Serializable { /** * 平均超标天数 */ - private Integer avgExcessiveDays; + private Double avgExcessiveDays; } \ No newline at end of file diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java index 33f45b2d9..eee1e804b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java @@ -114,8 +114,8 @@ public class WindFarmIndexOverviewServiceImpl implements WindFarmIndexOverview { RStatOrgWfIndexOverviewVO vo = new RStatOrgWfIndexOverviewVO(); vo.setMonitorNum(po.getMonitorNum()); vo.setType(dataMap.get(po.getOrgNo())); - vo.setHistograms(po.getAvgExcessiveDays().toString()); - vo.setLineCharts(po.getMonitorNum().toString()); + vo.setHistograms(po.getProportionOfExcessPoints().toString()); + vo.setLineCharts(po.getAvgExcessiveDays().toString()); vo.setMonitorTag(po.getMonitorTag()); return vo; }).collect(Collectors.toList()); diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/SpecialAnalysisIndexOverviewServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/SpecialAnalysisIndexOverviewServiceImpl.java index 03cd90ce7..e493abec1 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/SpecialAnalysisIndexOverviewServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/SpecialAnalysisIndexOverviewServiceImpl.java @@ -62,7 +62,6 @@ public class SpecialAnalysisIndexOverviewServiceImpl implements SpecialAnalysisI Date date = DateUtil.parse(jobParam.getDataDate()); for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : data1) { - Map> lineBaseMap = new HashMap<>(); List lineBaseList = new ArrayList<>(); if(CollUtil.isNotEmpty(deptGetChildrenMoreDTO.getLineBaseList())){ @@ -92,10 +91,11 @@ public class SpecialAnalysisIndexOverviewServiceImpl implements SpecialAnalysisI List collect1 = v.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList()); - List rStatLimitRateMS = rStatLimitRateDMapper.selectList(new LambdaQueryWrapper(). - in(RStatLimitRateDPO::getLineId, collect1). - ge(StrUtil.isNotBlank(jobParam.getBeginTime()), RStatLimitRateDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(jobParam.getBeginTime()))). - le(StrUtil.isNotBlank(jobParam.getEndTime()), RStatLimitRateDPO::getTime, DateUtil.endOfDay(DateUtil.parse(jobParam.getEndTime())))); + List rStatLimitRateMS = rStatLimitRateDMapper.selectList(new LambdaQueryWrapper() + .eq(RStatLimitRateDPO::getPhasicType, "T") + .in(RStatLimitRateDPO::getLineId, collect1) + .ge(StrUtil.isNotBlank(jobParam.getBeginTime()), RStatLimitRateDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(jobParam.getBeginTime()))) + .le(StrUtil.isNotBlank(jobParam.getEndTime()), RStatLimitRateDPO::getTime, DateUtil.endOfDay(DateUtil.parse(jobParam.getEndTime())))); if (CollectionUtils.isEmpty(rStatLimitRateMS)){ //单位下没数据不补0,0,0的数据 return; @@ -144,17 +144,17 @@ public class SpecialAnalysisIndexOverviewServiceImpl implements SpecialAnalysisI vIndexCount.getAndIncrement(); } collect3.forEach((day, temp) -> { - if(isOverLimit(rStatLimitRateDPOList,1)){ + if(isOverLimit(temp,1)){ iDayCount.getAndIncrement(); } - if(isOverLimit(rStatLimitRateDPOList,2)){ - iDayCount.getAndIncrement(); + if(isOverLimit(temp,2)){ + vDayCount.getAndIncrement(); } - if(isOverLimit(rStatLimitRateDPOList,3)){ - iDayCount.getAndIncrement(); + if(isOverLimit(temp,3)){ + iDayIndexCount.getAndIncrement(); } - if(isOverLimit(rStatLimitRateDPOList,4)){ - iDayCount.getAndIncrement(); + if(isOverLimit(temp,4)){ + vDayIndexCount.getAndIncrement(); } }); @@ -167,29 +167,29 @@ public class SpecialAnalysisIndexOverviewServiceImpl implements SpecialAnalysisI specialAnalysisIndexOverviewPO.setVoltageIndexExceedsNum(vIndexCount.get()); specialAnalysisIndexOverviewDetailedPO.setMonitorHarmonicElectricExceedsProportion( - this.divideAndKeepTwoDecimalPlaces(iCount.get(),collect2.size()) + this.divideAndKeepTwoDecimalPlaces(iCount.get()*100.0,rStatLimitRateMS.size()) ); specialAnalysisIndexOverviewDetailedPO.setMonitorHarmonicElectricExceedsAvgDays( - this.divideAndKeepTwoDecimalPlaces(iDayCount.get(),iCount.get()) + this.divideAndKeepTwoDecimalPlaces(iDayCount.get()*1.0,iCount.get()) ); specialAnalysisIndexOverviewDetailedPO.setMonitorHarmonicVoltageContentExceedsProportion( - this.divideAndKeepTwoDecimalPlaces(vCount.get(),collect2.size()) + this.divideAndKeepTwoDecimalPlaces(vCount.get()*100.0,rStatLimitRateMS.size()) ); specialAnalysisIndexOverviewDetailedPO.setMonitorHarmonicVoltageContentExceedsAvgDays( - this.divideAndKeepTwoDecimalPlaces(vDayCount.get(),vCount.get()) + this.divideAndKeepTwoDecimalPlaces(vDayCount.get()*1.0,vCount.get()) ); specialAnalysisIndexOverviewDetailedPO.setElectricIndexExceedsProportion( - this.divideAndKeepTwoDecimalPlaces(iIndexCount.get(),collect2.size()) + this.divideAndKeepTwoDecimalPlaces(iIndexCount.get()*100.0,rStatLimitRateMS.size()) ); specialAnalysisIndexOverviewDetailedPO.setElectricIndexExceedsAvgDays( - this.divideAndKeepTwoDecimalPlaces(iCount.get(),iIndexCount.get()) + this.divideAndKeepTwoDecimalPlaces(iDayIndexCount.get()*1.0,iIndexCount.get()) ); specialAnalysisIndexOverviewDetailedPO.setVoltageIndexExceedsProportion( - this.divideAndKeepTwoDecimalPlaces(iDayIndexCount.get(),collect2.size()) + this.divideAndKeepTwoDecimalPlaces(vDayIndexCount.get()*100.0,rStatLimitRateMS.size()) ); specialAnalysisIndexOverviewDetailedPO.setVoltageIndexExceedsAvgDays( - this.divideAndKeepTwoDecimalPlaces(vDayIndexCount.get(),vIndexCount.get()) + this.divideAndKeepTwoDecimalPlaces(vDayIndexCount.get()*1.0,vIndexCount.get()) ); specialAnalysisIndexOverviewPOList.add(specialAnalysisIndexOverviewPO); @@ -381,11 +381,11 @@ public class SpecialAnalysisIndexOverviewServiceImpl implements SpecialAnalysisI * @Author: clam * @Date: 2023/11/2 */ - public double divideAndKeepTwoDecimalPlaces(int a, int b) { + public double divideAndKeepTwoDecimalPlaces(double a, int b) { if (b == 0) { return 0.00; } - double result = (double) a / b; + double result = a / b; DecimalFormat df = new DecimalFormat("#.00"); return Double.parseDouble(df.format(result)); }