diff --git a/src/main/java/cn/palmte/work/bean/FinalBean.java b/src/main/java/cn/palmte/work/bean/FinalBean.java index dd2da66..afe8d7f 100644 --- a/src/main/java/cn/palmte/work/bean/FinalBean.java +++ b/src/main/java/cn/palmte/work/bean/FinalBean.java @@ -161,7 +161,7 @@ public class FinalBean { if(null == grossProfitFinalTotal || null == incomeTotal){ return null; } - if (incomeTotal.compareTo(BigDecimal.valueOf(0.01)) < 0) { + if (incomeTotal.compareTo(BigDecimal.valueOf(0.01)) < 0 && incomeTotal.compareTo(BigDecimal.valueOf(-0.01)) > 0) { incomeTotal = BigDecimal.ONE; } return grossProfitFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); @@ -202,7 +202,7 @@ public class FinalBean { if(null == contributionMarginFinalTotal || null == incomeTotal){ return null; } - if (incomeTotal.compareTo(BigDecimal.valueOf(0.01)) < 0) { + if (incomeTotal.compareTo(BigDecimal.valueOf(0.01)) < 0 && incomeTotal.compareTo(BigDecimal.valueOf(-0.01)) > 0) { incomeTotal = BigDecimal.ONE; } return contributionMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); @@ -242,7 +242,7 @@ public class FinalBean { if(null == netMarginFinalTotal || null == incomeTotal){ return null; } - if (incomeTotal.compareTo(BigDecimal.valueOf(0.01)) < 0) { + if (incomeTotal.compareTo(BigDecimal.valueOf(0.01)) < 0 && incomeTotal.compareTo(BigDecimal.valueOf(-0.01)) > 0) { incomeTotal = BigDecimal.ONE; } return netMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); diff --git a/src/main/java/cn/palmte/work/service/ProjectSummaryService.java b/src/main/java/cn/palmte/work/service/ProjectSummaryService.java index 646ae03..24f0a96 100644 --- a/src/main/java/cn/palmte/work/service/ProjectSummaryService.java +++ b/src/main/java/cn/palmte/work/service/ProjectSummaryService.java @@ -190,8 +190,8 @@ public class ProjectSummaryService { private void setProfitMargin(SettleBean monthSettle) { BigDecimal divide2 = monthSettle.getIncomeTotal(); BigDecimal min = BigDecimal.valueOf(0.01); - if (divide2.compareTo(min) < 0) { - divide2 = BigDecimal.valueOf(1); + if (divide2.compareTo(min) < 0 && divide2.compareTo(BigDecimal.valueOf(-0.01)) > 0) { + divide2 = BigDecimal.ONE; } monthSettle.setGrossProfitProfitMargin(monthSettle.getGrossProfit().multiply(new BigDecimal(100)).divide(divide2, 4, BigDecimal.ROUND_HALF_UP)); monthSettle.setContributionProfitProfitMargin(monthSettle.getContributionProfit().multiply(new BigDecimal(100)).divide(divide2, 4, BigDecimal.ROUND_HALF_UP)); diff --git a/src/main/java/cn/palmte/work/service/StatisticsService.java b/src/main/java/cn/palmte/work/service/StatisticsService.java index dda3cfc..0a49b32 100644 --- a/src/main/java/cn/palmte/work/service/StatisticsService.java +++ b/src/main/java/cn/palmte/work/service/StatisticsService.java @@ -313,8 +313,8 @@ public class StatisticsService { BigDecimal divide2 = profitAndLossBean.getIncome(); BigDecimal min = BigDecimal.valueOf(0.01); - if (divide2.compareTo(min) < 0) { - divide2 = BigDecimal.valueOf(1); + if (divide2.compareTo(min) < 0 && divide2.compareTo(BigDecimal.valueOf(-0.01)) > 0) { + divide2 = BigDecimal.ONE; } profitAndLossBean.setGrossProfit(typeGrossProfit); profitAndLossBean.setGrossProfitProfit(profitAndLossBean.getGrossProfit().multiply(new BigDecimal(100)).divide(divide2, 4, BigDecimal.ROUND_HALF_UP));