diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java index a048bf2c3e..36458c44c2 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java @@ -147,6 +147,7 @@ public class GrassRootsGovernServiceImpl implements GrassRootsGovernService { UserJoinIndicatorGrowthRateResultDTO beforeTwoMonth = screenUserJoinDao.selectUserJoinDataByAreaCode(param.getAreaCode(), dateUtils.getPreviousMonthId(NumConstant.TWO)); if (null == beforeTwoMonth) { log.warn(String.format("平阴县查询screen_user_join表为空,monthId:%s",dateUtils.getPreviousMonthId(NumConstant.TWO))); + return new PublicPartiProfileResultDTO(); }else{ //举例,today is 20210707 , latest是06月份的数据,beforeTwoMonth是05月份的数据 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 fad1df5588..f4dea785d1 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,18 +536,19 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { // 总的参与次数较上月增长率 if (l.getJoinTotal() > s.getJoinTotal()) { l.setJoinTotalUpFlag(GovernConstant.INCR); - 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 { + if (s.getJoinTotal().compareTo(NumConstant.ZERO) == 0){ l.setJoinTotalUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + }else { + l.setJoinTotalUpRate(new BigDecimal(((l.getJoinTotal() - s.getJoinTotal()) / s.getJoinTotal()) * NumConstant.ONE_HUNDRED).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); } } else if (l.getJoinTotal() < s.getJoinTotal()) { l.setJoinTotalUpFlag(GovernConstant.DECR); - 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 { + if (s.getJoinTotal().compareTo(NumConstant.ZERO) == 0){ l.setJoinTotalUpRate(NumConstant.ONE_HUNDRED_DECIMAL); - } } else { + }else { + l.setJoinTotalUpRate(new BigDecimal(((l.getJoinTotal() - s.getJoinTotal()) / s.getJoinTotal()) * NumConstant.ONE_HUNDRED).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + } + } else { l.setJoinTotalUpFlag(GovernConstant.EQ); l.setJoinTotalUpRate(NumConstant.ZERO_DECIMAL); } @@ -555,18 +556,19 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { Integer re = l.getAvgIssue().compareTo(s.getAvgIssue()); if (re.equals(NumConstant.ONE)) { l.setAvgIssueUpFlag(GovernConstant.INCR); - 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 { + if (s.getAvgIssue().compareTo(NumConstant.ZERO_DECIMAL) == 0){ l.setAvgIssueUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + }else { + l.setAvgIssueUpRate(l.getAvgIssue().subtract(s.getAvgIssue()).divide(s.getAvgIssue()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); } } else if (re.equals(NumConstant.ONE_NEG)) { l.setAvgIssueUpFlag(GovernConstant.DECR); - 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 { + if (s.getAvgIssue().compareTo(NumConstant.ZERO_DECIMAL) == 0){ l.setAvgIssueUpRate(NumConstant.ONE_HUNDRED_DECIMAL); - } } else { + }else { + l.setAvgIssueUpRate(l.getAvgIssue().subtract(s.getAvgIssue()).divide(s.getAvgIssue()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + } + } else { l.setAvgIssueUpFlag(GovernConstant.EQ); l.setAvgIssueUpRate(NumConstant.ZERO_DECIMAL); } @@ -574,18 +576,19 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { Integer avgJoinRe = l.getAvgJoin().compareTo(s.getAvgJoin()); if (avgJoinRe.equals(NumConstant.ONE)) { l.setAgvgJoinUpFlag(GovernConstant.INCR); - 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 { + if (s.getAvgJoin().compareTo(NumConstant.ZERO_DECIMAL) == 0){ l.setAgvgJoinUpRate(NumConstant.ONE_HUNDRED_DECIMAL); + }else { + l.setAgvgJoinUpRate(l.getAvgJoin().subtract(s.getAvgJoin()).divide(s.getAvgJoin()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); } } else if (avgJoinRe.equals(NumConstant.ONE_NEG)) { l.setAvgIssueUpFlag(GovernConstant.DECR); - 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 { + if (s.getAvgJoin().compareTo(NumConstant.ZERO_DECIMAL) == 0){ l.setAgvgJoinUpRate(NumConstant.ONE_HUNDRED_DECIMAL); - } } else { + }else { + l.setAgvgJoinUpRate(l.getAvgJoin().subtract(s.getAvgJoin()).divide(s.getAvgJoin()).multiply(NumConstant.ONE_HUNDRED_DECIMAL).setScale(NumConstant.FOUR, BigDecimal.ROUND_HALF_UP)); + } + } else { l.setAvgIssueUpFlag(GovernConstant.EQ); l.setAgvgJoinUpRate(NumConstant.ZERO_DECIMAL); }