From babfa08a4a5a5ec7c754658af62a6042842ffcc4 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 9 Jul 2021 18:05:00 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PublicPartExtractServiceImpl.java | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java index 9260f204e5..fad1df5588 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java @@ -536,11 +536,18 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { // 总的参与次数较上月增长率 if (l.getJoinTotal() > s.getJoinTotal()) { l.setJoinTotalUpFlag(GovernConstant.INCR); - l.setJoinTotalUpRate(new BigDecimal(((l.getJoinTotal() - s.getJoinTotal()) / s.getJoinTotal()) * NumConstant.ONE_HUNDRED).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + if (!s.getJoinTotal().equals(NumConstant.ONE_HUNDRED_DECIMAL)){ + l.setJoinTotalUpRate(new BigDecimal(((l.getJoinTotal() - s.getJoinTotal()) / s.getJoinTotal()) * NumConstant.ONE_HUNDRED).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + }else { + l.setJoinTotalUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + } } else if (l.getJoinTotal() < s.getJoinTotal()) { l.setJoinTotalUpFlag(GovernConstant.DECR); - l.setJoinTotalUpRate(new BigDecimal(((l.getJoinTotal() - s.getJoinTotal()) / s.getJoinTotal()) * NumConstant.ONE_HUNDRED).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); - } else { + if (!s.getJoinTotal().equals(NumConstant.ONE_HUNDRED_DECIMAL)){ + l.setJoinTotalUpRate(new BigDecimal(((l.getJoinTotal() - s.getJoinTotal()) / s.getJoinTotal()) * NumConstant.ONE_HUNDRED).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + }else { + l.setJoinTotalUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + } } else { l.setJoinTotalUpFlag(GovernConstant.EQ); l.setJoinTotalUpRate(NumConstant.ZERO_DECIMAL); } @@ -548,11 +555,18 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { Integer re = l.getAvgIssue().compareTo(s.getAvgIssue()); if (re.equals(NumConstant.ONE)) { l.setAvgIssueUpFlag(GovernConstant.INCR); - l.setAvgIssueUpRate(l.getAvgIssue().subtract(s.getAvgIssue()).divide(s.getAvgIssue()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + if (!s.getAvgIssue().equals(NumConstant.ZERO_DECIMAL)){ + l.setAvgIssueUpRate(l.getAvgIssue().subtract(s.getAvgIssue()).divide(s.getAvgIssue()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + }else { + l.setAvgIssueUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + } } else if (re.equals(NumConstant.ONE_NEG)) { l.setAvgIssueUpFlag(GovernConstant.DECR); - l.setAvgIssueUpRate(l.getAvgIssue().subtract(s.getAvgIssue()).divide(s.getAvgIssue()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); - } else { + if (!s.getAvgIssue().equals(NumConstant.ZERO_DECIMAL)){ + l.setAvgIssueUpRate(l.getAvgIssue().subtract(s.getAvgIssue()).divide(s.getAvgIssue()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + }else { + l.setAvgIssueUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + } } else { l.setAvgIssueUpFlag(GovernConstant.EQ); l.setAvgIssueUpRate(NumConstant.ZERO_DECIMAL); } @@ -560,11 +574,18 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { Integer avgJoinRe = l.getAvgJoin().compareTo(s.getAvgJoin()); if (avgJoinRe.equals(NumConstant.ONE)) { l.setAgvgJoinUpFlag(GovernConstant.INCR); - l.setAgvgJoinUpRate(l.getAvgJoin().subtract(s.getAvgJoin()).divide(s.getAvgJoin()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + if (!s.getAvgJoin().equals(NumConstant.ZERO_DECIMAL)){ + l.setAgvgJoinUpRate(l.getAvgJoin().subtract(s.getAvgJoin()).divide(s.getAvgJoin()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + }else { + l.setAgvgJoinUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + } } else if (avgJoinRe.equals(NumConstant.ONE_NEG)) { l.setAvgIssueUpFlag(GovernConstant.DECR); - l.setAgvgJoinUpRate(l.getAvgJoin().subtract(s.getAvgJoin()).divide(s.getAvgJoin()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); - } else { + if (!s.getAvgJoin().equals(NumConstant.ZERO_DECIMAL)){ + l.setAgvgJoinUpRate(l.getAvgJoin().subtract(s.getAvgJoin()).divide(s.getAvgJoin()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + }else { + l.setAgvgJoinUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + } } else { l.setAvgIssueUpFlag(GovernConstant.EQ); l.setAgvgJoinUpRate(NumConstant.ZERO_DECIMAL); }