diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java index 5ca80ab..85fdcbb 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java @@ -42,7 +42,11 @@ public class ProjectFinalController extends BaseController{ public String add(@RequestParam("id") int id, Map model) { Project project = projectService.getProject(id); ProjectSettleIncome projectSettleIncome = projectSettleIncomeRepository.findNewByProjectId(id); - String time = projectSettleIncome.getTime(); + String time = ""; + if(null != projectSettleIncome){ + time = projectSettleIncome.getTime(); + } + List projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project); model.put("project", project); model.put("estimateBean", projectEstimateService.getEstimate(project)); diff --git a/src/main/resources/static/assets/js/project_final.js b/src/main/resources/static/assets/js/project_final.js index 0e29b1a..4efd6d3 100644 --- a/src/main/resources/static/assets/js/project_final.js +++ b/src/main/resources/static/assets/js/project_final.js @@ -34,52 +34,75 @@ function calculateFinal() { $("input[name='costExpropriationFinalTotal']").change(function () { calManageFinalTotal(); calGrossProfitFinalTotal(); + calGrossProfitProfitMargin(); }); $("input[name='costCompanyManageFinalTotal']").change(function () { calManageFinalTotal(); - calContributionMarginFinalTotal() + calContributionMarginFinalTotal(); + calContributionMarginProfitMargin(); }); $("input[name='costIncomeTaxFinalTotal']").change(function () { calManageFinalTotal(); + calNetMarginFinalTotal(); calNetMarginProfitMargin(); }); $("input[name='saleIncomeCash']").change(function () { calCashFluxFinalTotal(); + calNetCashFlow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='taxReturn']").change(function () { calCashFluxFinalTotal(); + calNetCashFlow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='earnestMoneyIncome']").change(function () { calCashFluxFinalTotal(); + calNetCashFlow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='purchaseCost']").change(function () { calCashFluxFinalTotal(); + calNetCashFlow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='taxCost']").change(function () { calCashFluxFinalTotal(); + calNetCashFlow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='earnestMoneyCost']").change(function () { calCashFluxFinalTotal(); + calNetCashFlow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='netCashFlow']").change(function () { calCashFluxFinalTotal(); }); $("input[name='cashInflowFromInvestingActivities']").change(function () { calCashFluxFinalTotal(); - }); + calNetCashFromInvestingActivities(); + calNetIncreaseMonetaryFunds(); + }) $("input[name='cashOutflowFromInvestingActivities']").change(function () { calCashFluxFinalTotal(); + calNetCashFromInvestingActivities(); + calNetIncreaseMonetaryFunds(); }); $("input[name='netCashFromInvestingActivities']").change(function () { calCashFluxFinalTotal(); }); $("input[name='financingCapitalInflow']").change(function () { calCashFluxFinalTotal(); + calFinancingCapitalCashflow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='financingCapitalOutflow']").change(function () { calCashFluxFinalTotal(); + calFinancingCapitalCashflow(); + calNetIncreaseMonetaryFunds(); }); $("input[name='financingCapitalCashflow']").change(function () { calCashFluxFinalTotal(); @@ -88,6 +111,76 @@ function calculateFinal() { calCashFluxFinalTotal(); }); + +} + +/** + * 经营活动产生的现金流量净额 + */ +function calNetCashFlow() { + + var saleIncomeCash = $("input[name='saleIncomeCash']").val(); + var taxReturn = $("input[name='taxReturn']").val(); + var earnestMoneyIncome = $("input[name='earnestMoneyIncome']").val(); + var purchaseCost = $("input[name='purchaseCost']").val(); + var taxCost = $("input[name='taxCost']").val(); + var earnestMoneyCost = $("input[name='earnestMoneyCost']").val(); + + 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 { + netCashFlow.val(""); + } +} + +/** + * 投资活动产生的现金流量净额 + */ +function calNetCashFromInvestingActivities() { + var cashInflowFromInvestingActivities = $("input[name='cashInflowFromInvestingActivities']").val(); + var cashOutflowFromInvestingActivities = $("input[name='cashOutflowFromInvestingActivities']").val(); + + var netCashFromInvestingActivities = $("input[name='netCashFromInvestingActivities']"); + + if(cashInflowFromInvestingActivities && cashOutflowFromInvestingActivities ){ + netCashFromInvestingActivities.val(parseFloat(cashInflowFromInvestingActivities)-parseFloat(cashOutflowFromInvestingActivities)); + }else { + netCashFromInvestingActivities.val(""); + } +} + +/** + * 筹资活动产生的现金流量净额 + */ +function calFinancingCapitalCashflow() { + var financingCapitalInflow = $("input[name='financingCapitalInflow']").val(); + var financingCapitalOutflow = $("input[name='financingCapitalOutflow']").val(); + + var financingCapitalCashflow = $("input[name='financingCapitalCashflow']"); + + if(financingCapitalInflow && financingCapitalOutflow ){ + financingCapitalCashflow.val(parseFloat(financingCapitalInflow)-parseFloat(financingCapitalOutflow)); + }else { + financingCapitalCashflow.val(""); + } +} + +function calNetIncreaseMonetaryFunds() { + var netCashFlow = $("input[name='netCashFlow']").val(); + var netCashFromInvestingActivities = $("input[name='netCashFromInvestingActivities']").val(); + var financingCapitalCashflow = $("input[name='financingCapitalCashflow']").val(); + + var netIncreaseMonetaryFunds = $("input[name='netIncreaseMonetaryFunds']"); + + if(netCashFlow && netCashFromInvestingActivities && financingCapitalCashflow){ + netIncreaseMonetaryFunds.val(parseFloat(netCashFlow)+parseFloat(netCashFromInvestingActivities)+parseFloat(financingCapitalCashflow)); + }else { + netIncreaseMonetaryFunds.val(""); + } } /** @@ -99,11 +192,9 @@ function calIncomeFinalTotal() { var incomeServiceFinalTotal = $("input[name='incomeServiceFinalTotal']").val(); var incomeFinalTotal = $("input[name='incomeFinalTotal']"); - console.log("incomeEngineerFinalTotal" + incomeEngineerFinalTotal); if(incomeDeviceFinalTotal && incomeEngineerFinalTotal && incomeServiceFinalTotal){ - console.log("incomeServiceFinalTotal" + incomeServiceFinalTotal); - incomeFinalTotal.val(parseFloat(incomeDeviceFinalTotal)+parseFloat(incomeEngineerFinalTotal)); + incomeFinalTotal.val(parseFloat(incomeDeviceFinalTotal)+parseFloat(incomeEngineerFinalTotal)+parseFloat(incomeServiceFinalTotal)); }else { incomeFinalTotal.val(""); } @@ -202,6 +293,22 @@ function calGrossProfitFinalTotal() { } } +/** + * 项目毛利利润率 + */ +function calGrossProfitProfitMargin() { + var grossProfitFinalTotal = $("input[name='grossProfitFinalTotal']").val(); + var incomeFinalTotal = $("input[name='incomeFinalTotal']").val(); + + var grossProfitProfitMargin = $("input[name='grossProfitProfitMargin']"); + if(grossProfitFinalTotal && incomeFinalTotal){ + grossProfitProfitMargin.val(f2(grossProfitFinalTotal) / f2(incomeFinalTotal)); + }else { + grossProfitProfitMargin.val(""); + } +} + + /** * 项目贡献利润决算总额 */ @@ -218,10 +325,25 @@ function calContributionMarginFinalTotal() { } } +/** + * 项目贡献利润利润率 + */ +function calContributionMarginProfitMargin() { + var contributionMarginFinalTotal = $("input[name='contributionMarginFinalTotal']").val(); + var incomeFinalTotal = $("input[name='incomeFinalTotal']").val(); + + var contributionMarginProfitMargin = $("input[name='contributionMarginProfitMargin']"); + if(contributionMarginFinalTotal && incomeFinalTotal){ + contributionMarginProfitMargin.val(f2(contributionMarginFinalTotal) / f2(incomeFinalTotal)); + }else { + contributionMarginProfitMargin.val(""); + } +} + /** * 项目净利润决算总额 */ -function calNetMarginProfitMargin() { +function calNetMarginFinalTotal() { var contributionMarginFinalTotal = $("input[name='contributionMarginFinalTotal']").val(); var costIncomeTaxFinalTotal = $("input[name='costIncomeTaxFinalTotal']").val(); @@ -235,6 +357,24 @@ function calNetMarginProfitMargin() { } } +/** + * 项目净利润利润率 + */ +function calNetMarginProfitMargin() { + var netMarginFinalTotal = $("input[name='netMarginFinalTotal']").val(); + var incomeFinalTotal = $("input[name='incomeFinalTotal']").val(); + + var netMarginProfitMargin = $("input[name='netMarginProfitMargin']"); + if(netMarginFinalTotal && incomeFinalTotal){ + netMarginProfitMargin.val(f2(netMarginFinalTotal) / f2(incomeFinalTotal)); + }else { + netMarginProfitMargin.val(""); + } +} + + + + diff --git a/src/main/resources/templates/admin/project_final_add.ftl b/src/main/resources/templates/admin/project_final_add.ftl index 3cab83d..5bceb38 100644 --- a/src/main/resources/templates/admin/project_final_add.ftl +++ b/src/main/resources/templates/admin/project_final_add.ftl @@ -289,7 +289,7 @@ 经营活动产生的现金流量净额 - + 投资活动现金流入 @@ -307,7 +307,7 @@ 投资活动产生的现金流量净额 / - + 融资资金流入 @@ -325,13 +325,13 @@ 筹资活动产生的现金流量净额 - + 货币资金净增加额 - + 合计 diff --git a/src/main/resources/templates/admin/project_final_edit.ftl b/src/main/resources/templates/admin/project_final_edit.ftl index 796991a..823972c 100644 --- a/src/main/resources/templates/admin/project_final_edit.ftl +++ b/src/main/resources/templates/admin/project_final_edit.ftl @@ -218,7 +218,7 @@ - + @@ -226,7 +226,7 @@ - + @@ -234,7 +234,7 @@ / - + @@ -289,7 +289,7 @@ 经营活动产生的现金流量净额 - + 投资活动现金流入 @@ -307,7 +307,7 @@ 投资活动产生的现金流量净额 / - + 融资资金流入 @@ -325,13 +325,13 @@ 筹资活动产生的现金流量净额 - + 货币资金净增加额 - + 合计