利润率允许计算负数

master
OathK1per 2022-01-10 17:57:21 +08:00
parent c75c4eb49f
commit d7b3dcaf61
3 changed files with 7 additions and 7 deletions

View File

@ -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));

View File

@ -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));

View File

@ -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));