From f854969652aebd3c701384f3445b5c80485b3746 Mon Sep 17 00:00:00 2001 From: OathK1per Date: Mon, 13 Dec 2021 16:06:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E6=9C=88=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=BB=9F=E8=AE=A1=E4=B8=AD=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/palmte/work/service/StatisticsService.java | 8 ++++++++ src/main/resources/templates/admin/month_statistics.ftl | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/cn/palmte/work/service/StatisticsService.java b/src/main/java/cn/palmte/work/service/StatisticsService.java index 31471fd..8ae696b 100644 --- a/src/main/java/cn/palmte/work/service/StatisticsService.java +++ b/src/main/java/cn/palmte/work/service/StatisticsService.java @@ -278,9 +278,17 @@ public class StatisticsService { BigDecimal typeContributionProfit = profitMargins.stream().filter(d -> d.getTime().equals(time) && d.getType() == ProjectSettleProfitMargin.TYPE_CONTRIBUTION_PROFIT).map(ProjectSettleProfitMargin::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal typeNetProfit = profitMargins.stream().filter(d -> d.getTime().equals(time) && d.getType() == ProjectSettleProfitMargin.TYPE_NET_PROFIT).map(ProjectSettleProfitMargin::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal divide2 = profitAndLossBean.getIncome(); + BigDecimal min = BigDecimal.valueOf(0.01); + if (divide2.compareTo(min) < 0) { + divide2 = BigDecimal.valueOf(1); + } profitAndLossBean.setGrossProfit(typeGrossProfit); + profitAndLossBean.setGrossProfitProfit(profitAndLossBean.getGrossProfit().multiply(new BigDecimal(100)).divide(divide2, 4, BigDecimal.ROUND_HALF_UP)); profitAndLossBean.setContributionMargin(typeContributionProfit); + profitAndLossBean.setContributionMarginProfit(profitAndLossBean.getContributionMargin().multiply(new BigDecimal(100)).divide(divide2, 4, BigDecimal.ROUND_HALF_UP)); profitAndLossBean.setNetMargin(typeNetProfit); + profitAndLossBean.setNetMarginProfit(profitAndLossBean.getNetMargin().multiply(new BigDecimal(100)).divide(divide2, 4, BigDecimal.ROUND_HALF_UP)); list.add(primaryIndicatorBean); profitAndLossList.add(profitAndLossBean); diff --git a/src/main/resources/templates/admin/month_statistics.ftl b/src/main/resources/templates/admin/month_statistics.ftl index 413f31c..d76560b 100644 --- a/src/main/resources/templates/admin/month_statistics.ftl +++ b/src/main/resources/templates/admin/month_statistics.ftl @@ -88,8 +88,8 @@ <#list profitAndLossList as list> ${list.title!} - ${(list.cost!0)?string("0.##")} ${(list.income!0)?string("0.##")} + ${(list.cost!0)?string("0.##")} ${(list.manageCost!0)?string("0.##")} ${(list.other!0)?string("0.##")} ${(list.expropriation!0)?string("0.##")}