决算页面利润率和现金流量表计算

master
hanbo 2021-11-19 18:12:34 +08:00
parent 62b95fb29f
commit 7cec6cfdd0
4 changed files with 162 additions and 18 deletions

View File

@ -42,7 +42,11 @@ public class ProjectFinalController extends BaseController{
public String add(@RequestParam("id") int id, Map<String, Object> model) {
Project project = projectService.getProject(id);
ProjectSettleIncome projectSettleIncome = projectSettleIncomeRepository.findNewByProjectId(id);
String time = projectSettleIncome.getTime();
String time = "";
if(null != projectSettleIncome){
time = projectSettleIncome.getTime();
}
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
model.put("project", project);
model.put("estimateBean", projectEstimateService.getEstimate(project));

View File

@ -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("");
}
}

View File

@ -289,7 +289,7 @@
<td>经营活动产生的现金流量净额</td>
<td><input name="budgetNetCashFlow" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
<td><input type="number" value="${Utils.format(settleBean.netCashFlow,'0')}" readonly required title="结算总额"></td>
<td><input name="netCashFlow" type="number" required title="决算总额"></td>
<td><input name="netCashFlow" type="number" readonly required title="决算总额"></td>
</tr>
<tr>
<td>投资活动现金流入</td>
@ -307,7 +307,7 @@
<td>投资活动产生的现金流量净额</td>
<td>/</td>
<td><input type="number" value="${Utils.format(settleBean.netCashFromInvestingActivities,'0')}" readonly required title="结算总额"></td>
<td><input name="netCashFromInvestingActivities" type="number" required title="决算总额"></td>
<td><input name="netCashFromInvestingActivities" type="number" required readonly title="决算总额"></td>
</tr>
<tr>
<td>融资资金流入</td>
@ -325,13 +325,13 @@
<td>筹资活动产生的现金流量净额</td>
<td><input name="budgetFinancingCapitalCashflow" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
<td><input type="number" value="${Utils.format(settleBean.financingCapitalCashflow,'0')}" readonly required title="结算总额"></td>
<td><input name="financingCapitalCashflow" type="number" required title="决算总额"></td>
<td><input name="financingCapitalCashflow" type="number" required readonly title="决算总额"></td>
</tr>
<tr>
<td>货币资金净增加额</td>
<td><input name="budgetNetIncreaseMonetaryFunds" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
<td><input name="type14SettleTotal" type="number" value="${Utils.format(settleBean.netIncreaseMonetaryFunds,'0')}" readonly required title="结算总额"></td>
<td><input name="netIncreaseMonetaryFunds" type="number" required title="决算总额"></td>
<td><input name="netIncreaseMonetaryFunds" type="number" readonly required title="决算总额"></td>
</tr>
<tr>
<td>合计</td>

View File

@ -218,7 +218,7 @@
<td><input name="projectGrossProfit" type="number" value="${Utils.format(estimateBean.getProjectGrossProfit(),'0')}" readonly required title="项目毛利概算总额"></td>
<td><input name="projectGrossProfit" type="number" value="${Utils.format(budgetBean.getProjectGrossProfit(),'0')}" readonly required title="项目毛利预算总额"></td>
<td><input name="grossProfitSettleTotal" type="number" value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly required title="项目毛利结算总额"></td>
<td><input name="grossProfitFinalTotal" type="number" value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required title="项目毛利决算总额"></td>
<td><input name="grossProfitFinalTotal" type="number" value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" readonly required title="项目毛利决算总额"></td>
<td><input name="grossProfitProfitMargin" type="number" value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required readonly title="项目毛利利润率"></td>
</tr>
<tr>
@ -226,7 +226,7 @@
<td><input name="projectContributionProfit" type="number" value="${Utils.format(estimateBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润概算总额"></td>
<td><input name="projectContributionProfit" type="number" value="${Utils.format(budgetBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润预算总额"></td>
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(settleBean.contributionProfit,'0')}" readonly required title="项目贡献利润结算总额"></td>
<td><input name="contributionMarginFinalTotal" type="number" value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" required title="项目贡献利润决算总额"></td>
<td><input name="contributionMarginFinalTotal" type="number" value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" readonly required title="项目贡献利润决算总额"></td>
<td><input name="contributionMarginProfitMargin" type="number" value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}" required readonly title="项目贡献利润利润率"></td>
</tr>
<tr>
@ -234,7 +234,7 @@
<td>/</td>
<td><input name="netMarginBudgetTotal" type="number" value="${Utils.format(finalBean.netMarginBudgetTotal,'0')}" readonly required title="项目净利润预算总额"></td>
<td><input name="netMarginSettleTotal" type="number" value="${Utils.format(settleBean.netProfit,'0')}" readonly required title="项目净利润结算总额"></td>
<td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required title="项目净利润决算总额"></td>
<td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" readonly required title="项目净利润决算总额"></td>
<td><input name="netMarginProfitMargin" type="number" value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required readonly title="项目净利润利润率"></td>
</tr>
</tbody>
@ -289,7 +289,7 @@
<td>经营活动产生的现金流量净额</td>
<td><input name="budgetNetCashFlow" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
<td><input type="number" value="${Utils.format(settleBean.netCashFlow,'0')}" readonly required title="结算总额"></td>
<td><input name="netCashFlow" type="number" value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额"></td>
<td><input name="netCashFlow" type="number" value="${Utils.format(finalBean.netCashFlow,'0')}" readonly required title="决算总额"></td>
</tr>
<tr>
<td>投资活动现金流入</td>
@ -307,7 +307,7 @@
<td>投资活动产生的现金流量净额</td>
<td>/</td>
<td><input type="number" value="${Utils.format(settleBean.netCashFromInvestingActivities,'0')}" readonly required title="结算总额"></td>
<td><input name="netCashFromInvestingActivities" type="number" value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" required title="决算总额"></td>
<td><input name="netCashFromInvestingActivities" type="number" value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" readonly required title="决算总额"></td>
</tr>
<tr>
<td>融资资金流入</td>
@ -325,13 +325,13 @@
<td>筹资活动产生的现金流量净额</td>
<td><input name="budgetFinancingCapitalCashflow" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
<td><input type="number" value="${Utils.format(settleBean.financingCapitalCashflow,'0')}" readonly required title="结算总额"></td>
<td><input name="financingCapitalCashflow" type="number" value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required title="决算总额"></td>
<td><input name="financingCapitalCashflow" type="number" value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" readonly required title="决算总额"></td>
</tr>
<tr>
<td>货币资金净增加额</td>
<td><input name="budgetNetIncreaseMonetaryFunds" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
<td><input name="type14SettleTotal" type="number" value="${Utils.format(settleBean.netIncreaseMonetaryFunds,'0')}" readonly required title="结算总额"></td>
<td><input name="netIncreaseMonetaryFunds" type="number" value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required title="决算总额"></td>
<td><input name="netIncreaseMonetaryFunds" type="number" value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" readonly required title="决算总额"></td>
</tr>
<tr>
<td>合计</td>