From ec4501e656410ed79a29395a6c1bfa1fb5c443ae Mon Sep 17 00:00:00 2001 From: hanbo <2608504783@qq.com> Date: Tue, 30 Nov 2021 11:58:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A1=B5=E9=9D=A2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/palmte/work/bean/FormerBean.java | 21 ++- .../static/assets/js/project_final.js | 130 ++++++++++-------- .../templates/admin/project_approve.ftl | 17 ++- .../resources/templates/admin/role_input.ftl | 14 +- .../resources/templates/admin/role_list.ftl | 16 ++- 5 files changed, 110 insertions(+), 88 deletions(-) diff --git a/src/main/java/cn/palmte/work/bean/FormerBean.java b/src/main/java/cn/palmte/work/bean/FormerBean.java index e405c65..c6235bd 100644 --- a/src/main/java/cn/palmte/work/bean/FormerBean.java +++ b/src/main/java/cn/palmte/work/bean/FormerBean.java @@ -1,12 +1,13 @@ package cn.palmte.work.bean; import java.math.BigDecimal; +import java.math.RoundingMode; /** * @author Yuanping Zhang * @date 2021/11/15 */ -public class FormerBean extends IncomeCostBean{ +public class FormerBean extends IncomeCostBean { /** * 所得税 @@ -42,11 +43,11 @@ public class FormerBean extends IncomeCostBean{ private BigDecimal netProfitMargin; /** * a销售商品、提供劳务收到的现金 - * */ + */ private BigDecimal saleIncomeCash; /** * b收到的税费返还 - * */ + */ private BigDecimal taxReturn; /** * c其他与经营活动有关的现金【保证金收入】 @@ -61,7 +62,7 @@ public class FormerBean extends IncomeCostBean{ */ private BigDecimal taxCost; /** - *f支付其他与经营活动有关的现金 + * f支付其他与经营活动有关的现金 */ private BigDecimal earnestMoneyCost; /** @@ -89,7 +90,7 @@ public class FormerBean extends IncomeCostBean{ */ private BigDecimal financingCapitalOutflow; /** - *m筹资活动产生的现金流量净额 + * m筹资活动产生的现金流量净额 */ private BigDecimal financingCapitalCashflow; /** @@ -114,11 +115,10 @@ public class FormerBean extends IncomeCostBean{ if (null == grossProfit || null == incomeTotalTaxExclude) { return handleSpecial(null); } - if (incomeTotalTaxExclude.compareTo(BigDecimal.ZERO) == 0) { return BigDecimal.ZERO; } - return grossProfit.divide(incomeTotalTaxExclude, 4).multiply(new BigDecimal(100)); + return grossProfit.divide(incomeTotalTaxExclude,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); } public void setGrossProfitProfitMargin(BigDecimal grossProfitProfitMargin) { @@ -126,7 +126,7 @@ public class FormerBean extends IncomeCostBean{ } /** - *项目贡献利润利润率 + * 项目贡献利润利润率 */ private BigDecimal contributionProfitProfitMargin; @@ -141,8 +141,7 @@ public class FormerBean extends IncomeCostBean{ if (incomeTotalTaxExclude.compareTo(BigDecimal.ZERO) == 0) { return BigDecimal.ZERO; } - return contributionProfit.divide(incomeTotalTaxExclude, 4).multiply(new BigDecimal(100)); - + return contributionProfit.divide(incomeTotalTaxExclude,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); } public void setContributionProfitProfitMargin(BigDecimal contributionProfitProfitMargin) { @@ -165,7 +164,7 @@ public class FormerBean extends IncomeCostBean{ if (incomeTotalTaxExclude.compareTo(BigDecimal.ZERO) == 0) { return BigDecimal.ZERO; } - return netProfit.divide(incomeTotalTaxExclude, 4).multiply(new BigDecimal(100)); + return netProfit.divide(incomeTotalTaxExclude,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); } public void setNetProfitProfitMargin(BigDecimal netProfitProfitMargin) { diff --git a/src/main/resources/static/assets/js/project_final.js b/src/main/resources/static/assets/js/project_final.js index d4fb114..5b8ad68 100644 --- a/src/main/resources/static/assets/js/project_final.js +++ b/src/main/resources/static/assets/js/project_final.js @@ -2,32 +2,50 @@ function calculateFinal() { $("input[name='incomeDeviceFinalTotal']").change(function () { calIncomeFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='incomeEngineerFinalTotal']").change(function () { calIncomeFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='incomeServiceFinalTotal']").change(function () { calIncomeFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='costPurchaseDeviceFinalTotal']").change(function () { calCostFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='costPurchaseBuildFinalTotal']").change(function () { calCostFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='costPurchaseServiceFinalTotal']").change(function () { calCostFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='costPurchaseOtherFinalTotal']").change(function () { calCostFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='costProjectManageFinalTotal']").change(function () { calCostFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); $("input[name='costOtherFinalTotal']").change(function () { calCostFinalTotal(); + calNetMarginFinalTotal(); + calNetMarginProfitMargin(); }); @@ -69,7 +87,7 @@ function calculateFinal() { calNetIncreaseMonetaryFunds(); }); $("input[name='taxCost']").change(function () { - // calCashFluxFinalTotal(); + // calCashFluxFinalTotal(); calNetCashFlow(); calNetIncreaseMonetaryFunds(); }); @@ -79,10 +97,10 @@ function calculateFinal() { calNetIncreaseMonetaryFunds(); }); $("input[name='netCashFlow']").change(function () { - // calCashFluxFinalTotal(); + // calCashFluxFinalTotal(); }); $("input[name='cashInflowFromInvestingActivities']").change(function () { - // calCashFluxFinalTotal(); + // calCashFluxFinalTotal(); calNetCashFromInvestingActivities(); calNetIncreaseMonetaryFunds(); }) @@ -92,7 +110,7 @@ function calculateFinal() { calNetIncreaseMonetaryFunds(); }); $("input[name='netCashFromInvestingActivities']").change(function () { - // calCashFluxFinalTotal(); + // calCashFluxFinalTotal(); }); $("input[name='financingCapitalInflow']").change(function () { //calCashFluxFinalTotal(); @@ -128,11 +146,11 @@ function calNetCashFlow() { var netCashFlow = $("input[name='netCashFlow']"); - if(saleIncomeCash && taxReturn && earnestMoneyIncome - && purchaseCost && taxCost && earnestMoneyCost){ - netCashFlow.val(parseFloat(saleIncomeCash)+parseFloat(taxReturn)+parseFloat(earnestMoneyIncome) - -parseFloat(purchaseCost)-parseFloat(taxCost)-parseFloat(earnestMoneyCost)); - }else { + if (saleIncomeCash && taxReturn && earnestMoneyIncome + && purchaseCost && taxCost && earnestMoneyCost) { + netCashFlow.val(parseFloat(saleIncomeCash) + parseFloat(taxReturn) + parseFloat(earnestMoneyIncome) + - parseFloat(purchaseCost) - parseFloat(taxCost) - parseFloat(earnestMoneyCost)); + } else { netCashFlow.val(""); } } @@ -146,9 +164,9 @@ function calNetCashFromInvestingActivities() { var netCashFromInvestingActivities = $("input[name='netCashFromInvestingActivities']"); - if(cashInflowFromInvestingActivities && cashOutflowFromInvestingActivities ){ - netCashFromInvestingActivities.val(parseFloat(cashInflowFromInvestingActivities)-parseFloat(cashOutflowFromInvestingActivities)); - }else { + if (cashInflowFromInvestingActivities && cashOutflowFromInvestingActivities) { + netCashFromInvestingActivities.val(parseFloat(cashInflowFromInvestingActivities) - parseFloat(cashOutflowFromInvestingActivities)); + } else { netCashFromInvestingActivities.val(""); } } @@ -162,9 +180,9 @@ function calFinancingCapitalCashflow() { var financingCapitalCashflow = $("input[name='financingCapitalCashflow']"); - if(financingCapitalInflow && financingCapitalOutflow ){ - financingCapitalCashflow.val(parseFloat(financingCapitalInflow)-parseFloat(financingCapitalOutflow)); - }else { + if (financingCapitalInflow && financingCapitalOutflow) { + financingCapitalCashflow.val(parseFloat(financingCapitalInflow) - parseFloat(financingCapitalOutflow)); + } else { financingCapitalCashflow.val(""); } } @@ -176,9 +194,9 @@ function calNetIncreaseMonetaryFunds() { var netIncreaseMonetaryFunds = $("input[name='netIncreaseMonetaryFunds']"); - if(netCashFlow && netCashFromInvestingActivities && financingCapitalCashflow){ - netIncreaseMonetaryFunds.val(parseFloat(netCashFlow)+parseFloat(netCashFromInvestingActivities)+parseFloat(financingCapitalCashflow)); - }else { + if (netCashFlow && netCashFromInvestingActivities && financingCapitalCashflow) { + netIncreaseMonetaryFunds.val(parseFloat(netCashFlow) + parseFloat(netCashFromInvestingActivities) + parseFloat(financingCapitalCashflow)); + } else { netIncreaseMonetaryFunds.val(""); } } @@ -193,9 +211,9 @@ function calIncomeFinalTotal() { var incomeFinalTotal = $("input[name='incomeFinalTotal']"); - if(incomeDeviceFinalTotal && incomeEngineerFinalTotal && incomeServiceFinalTotal){ - incomeFinalTotal.val(parseFloat(incomeDeviceFinalTotal)+parseFloat(incomeEngineerFinalTotal)+parseFloat(incomeServiceFinalTotal)); - }else { + if (incomeDeviceFinalTotal && incomeEngineerFinalTotal && incomeServiceFinalTotal) { + incomeFinalTotal.val(parseFloat(incomeDeviceFinalTotal) + parseFloat(incomeEngineerFinalTotal) + parseFloat(incomeServiceFinalTotal)); + } else { incomeFinalTotal.val(""); } } @@ -213,11 +231,11 @@ function calCostFinalTotal() { var costFinalTotal = $("input[name='costFinalTotal']"); - if(costPurchaseDeviceFinalTotal && costPurchaseBuildFinalTotal && costPurchaseServiceFinalTotal && - costPurchaseOtherFinalTotal && costProjectManageFinalTotal && costOtherFinalTotal){ - costFinalTotal.val(parseFloat(costPurchaseDeviceFinalTotal)+parseFloat(costPurchaseBuildFinalTotal)+parseFloat(costPurchaseServiceFinalTotal)+ - parseFloat(costPurchaseOtherFinalTotal)+parseFloat(costProjectManageFinalTotal)+parseFloat(costOtherFinalTotal)); - }else { + if (costPurchaseDeviceFinalTotal && costPurchaseBuildFinalTotal && costPurchaseServiceFinalTotal && + costPurchaseOtherFinalTotal && costProjectManageFinalTotal && costOtherFinalTotal) { + costFinalTotal.val(parseFloat(costPurchaseDeviceFinalTotal) + parseFloat(costPurchaseBuildFinalTotal) + parseFloat(costPurchaseServiceFinalTotal) + + parseFloat(costPurchaseOtherFinalTotal) + parseFloat(costProjectManageFinalTotal) + parseFloat(costOtherFinalTotal)); + } else { costFinalTotal.val(""); } } @@ -233,9 +251,9 @@ function calManageFinalTotal() { var manageFinalTotal = $("input[name='manageFinalTotal']"); - if(costExpropriationFinalTotal && costCompanyManageFinalTotal && costIncomeTaxFinalTotal){ - manageFinalTotal.val(parseFloat(costExpropriationFinalTotal)+parseFloat(costCompanyManageFinalTotal)+parseFloat(costIncomeTaxFinalTotal)); - }else { + if (costExpropriationFinalTotal && costCompanyManageFinalTotal && costIncomeTaxFinalTotal) { + manageFinalTotal.val(parseFloat(costExpropriationFinalTotal) + parseFloat(costCompanyManageFinalTotal) + parseFloat(costIncomeTaxFinalTotal)); + } else { manageFinalTotal.val(""); } } @@ -261,17 +279,17 @@ function calCashFluxFinalTotal() { var cashFluxFinalTotal = $("input[name='cashFluxFinalTotal']"); - if(saleIncomeCash && taxReturn && earnestMoneyIncome && - purchaseCost && taxCost && earnestMoneyCost&& + if (saleIncomeCash && taxReturn && earnestMoneyIncome && + purchaseCost && taxCost && earnestMoneyCost && netCashFlow && cashInflowFromInvestingActivities && cashOutflowFromInvestingActivities && netCashFromInvestingActivities && financingCapitalInflow && financingCapitalOutflow - && financingCapitalCashflow && netIncreaseMonetaryFunds){ - cashFluxFinalTotal.val(parseFloat(saleIncomeCash)+parseFloat(taxReturn)+parseFloat(earnestMoneyIncome)+ - parseFloat(purchaseCost)+parseFloat(taxCost)+parseFloat(earnestMoneyCost)+ - parseFloat(netCashFlow)+parseFloat(cashInflowFromInvestingActivities)+parseFloat(cashOutflowFromInvestingActivities)+ - parseFloat(netCashFromInvestingActivities)+parseFloat(financingCapitalInflow)+parseFloat(financingCapitalOutflow)+ - parseFloat(financingCapitalCashflow)+parseFloat(netIncreaseMonetaryFunds)); - }else { + && financingCapitalCashflow && netIncreaseMonetaryFunds) { + cashFluxFinalTotal.val(parseFloat(saleIncomeCash) + parseFloat(taxReturn) + parseFloat(earnestMoneyIncome) + + parseFloat(purchaseCost) + parseFloat(taxCost) + parseFloat(earnestMoneyCost) + + parseFloat(netCashFlow) + parseFloat(cashInflowFromInvestingActivities) + parseFloat(cashOutflowFromInvestingActivities) + + parseFloat(netCashFromInvestingActivities) + parseFloat(financingCapitalInflow) + parseFloat(financingCapitalOutflow) + + parseFloat(financingCapitalCashflow) + parseFloat(netIncreaseMonetaryFunds)); + } else { cashFluxFinalTotal.val(""); } } @@ -286,9 +304,9 @@ function calGrossProfitFinalTotal() { var grossProfitFinalTotal = $("input[name='grossProfitFinalTotal']"); - if(incomeFinalTotal && costFinalTotal && costExpropriationFinalTotal){ - grossProfitFinalTotal.val(parseFloat(incomeFinalTotal)-parseFloat(costFinalTotal)-parseFloat(costExpropriationFinalTotal)); - }else { + if (incomeFinalTotal && costFinalTotal && costExpropriationFinalTotal) { + grossProfitFinalTotal.val(parseFloat(incomeFinalTotal) - parseFloat(costFinalTotal) - parseFloat(costExpropriationFinalTotal)); + } else { grossProfitFinalTotal.val(""); } } @@ -301,9 +319,9 @@ function calGrossProfitProfitMargin() { var incomeFinalTotal = $("input[name='incomeFinalTotal']").val(); var grossProfitProfitMargin = $("input[name='grossProfitProfitMargin']"); - if(grossProfitFinalTotal && incomeFinalTotal){ - grossProfitProfitMargin.val(f2(grossProfitFinalTotal) / f2(incomeFinalTotal)); - }else { + if (grossProfitFinalTotal && incomeFinalTotal) { + grossProfitProfitMargin.val(100 * grossProfitFinalTotal / incomeFinalTotal); + } else { grossProfitProfitMargin.val(""); } } @@ -318,9 +336,9 @@ function calContributionMarginFinalTotal() { var contributionMarginFinalTotal = $("input[name='contributionMarginFinalTotal']"); - if(grossProfitFinalTotal && costCompanyManageFinalTotal ){ - contributionMarginFinalTotal.val(parseFloat(grossProfitFinalTotal)-parseFloat(costCompanyManageFinalTotal)); - }else { + if (grossProfitFinalTotal && costCompanyManageFinalTotal) { + contributionMarginFinalTotal.val(parseFloat(grossProfitFinalTotal) - parseFloat(costCompanyManageFinalTotal)); + } else { contributionMarginFinalTotal.val(""); } } @@ -333,9 +351,9 @@ function calContributionMarginProfitMargin() { var incomeFinalTotal = $("input[name='incomeFinalTotal']").val(); var contributionMarginProfitMargin = $("input[name='contributionMarginProfitMargin']"); - if(contributionMarginFinalTotal && incomeFinalTotal){ - contributionMarginProfitMargin.val(f2(contributionMarginFinalTotal) / f2(incomeFinalTotal)); - }else { + if (contributionMarginFinalTotal && incomeFinalTotal) { + contributionMarginProfitMargin.val(100 * contributionMarginFinalTotal / incomeFinalTotal); + } else { contributionMarginProfitMargin.val(""); } } @@ -350,9 +368,9 @@ function calNetMarginFinalTotal() { var netMarginFinalTotal = $("input[name='netMarginFinalTotal']"); - if(contributionMarginFinalTotal && costIncomeTaxFinalTotal ){ - netMarginFinalTotal.val(parseFloat(contributionMarginFinalTotal)-parseFloat(costIncomeTaxFinalTotal)); - }else { + if (contributionMarginFinalTotal && costIncomeTaxFinalTotal) { + netMarginFinalTotal.val(parseFloat(contributionMarginFinalTotal) - parseFloat(costIncomeTaxFinalTotal)); + } else { netMarginFinalTotal.val(""); } } @@ -365,9 +383,9 @@ function calNetMarginProfitMargin() { var incomeFinalTotal = $("input[name='incomeFinalTotal']").val(); var netMarginProfitMargin = $("input[name='netMarginProfitMargin']"); - if(netMarginFinalTotal && incomeFinalTotal){ - netMarginProfitMargin.val(f2(netMarginFinalTotal) / f2(incomeFinalTotal)); - }else { + if (netMarginFinalTotal && incomeFinalTotal) { + netMarginProfitMargin.val(100 * netMarginFinalTotal / incomeFinalTotal); + } else { netMarginProfitMargin.val(""); } } diff --git a/src/main/resources/templates/admin/project_approve.ftl b/src/main/resources/templates/admin/project_approve.ftl index 8612d96..febf457 100644 --- a/src/main/resources/templates/admin/project_approve.ftl +++ b/src/main/resources/templates/admin/project_approve.ftl @@ -201,21 +201,21 @@