决算页面
parent
2879417e56
commit
508067b155
|
@ -133,31 +133,86 @@ public class FinalBean {
|
|||
*/
|
||||
private BigDecimal grossProfitFinalTotal;
|
||||
|
||||
public BigDecimal getGrossProfitFinalTotal() {
|
||||
BigDecimal incomeTotal = getIncomeTotal();
|
||||
BigDecimal costTotal = getCostTotal();
|
||||
BigDecimal costExpropriationFinalTotal = getCostExpropriationFinalTotal();
|
||||
return incomeTotal.subtract(costTotal).subtract(costExpropriationFinalTotal);
|
||||
}
|
||||
|
||||
public void setGrossProfitFinalTotal(BigDecimal grossProfitFinalTotal) {
|
||||
this.grossProfitFinalTotal = grossProfitFinalTotal;
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目毛利利润率
|
||||
*/
|
||||
private BigDecimal grossProfitProfitMargin;
|
||||
|
||||
public BigDecimal getGrossProfitProfitMargin() {
|
||||
return grossProfitProfitMargin;
|
||||
}
|
||||
|
||||
public void setGrossProfitProfitMargin(BigDecimal grossProfitProfitMargin) {
|
||||
this.grossProfitProfitMargin = grossProfitProfitMargin;
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目贡献利润决算总额
|
||||
*/
|
||||
private BigDecimal contributionMarginFinalTotal;
|
||||
|
||||
public BigDecimal getContributionMarginFinalTotal() {
|
||||
BigDecimal grossProfitFinalTotal = getGrossProfitFinalTotal();
|
||||
BigDecimal costCompanyManageFinalTotal = getCostCompanyManageFinalTotal();
|
||||
return grossProfitFinalTotal.subtract(costCompanyManageFinalTotal);
|
||||
}
|
||||
|
||||
public void setContributionMarginFinalTotal(BigDecimal contributionMarginFinalTotal) {
|
||||
this.contributionMarginFinalTotal = contributionMarginFinalTotal;
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目贡献利润利润率
|
||||
*/
|
||||
private BigDecimal contributionMarginProfitMargin;
|
||||
|
||||
public BigDecimal getContributionMarginProfitMargin() {
|
||||
return contributionMarginProfitMargin;
|
||||
}
|
||||
|
||||
public void setContributionMarginProfitMargin(BigDecimal contributionMarginProfitMargin) {
|
||||
this.contributionMarginProfitMargin = contributionMarginProfitMargin;
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目净利润决算总额
|
||||
*/
|
||||
private BigDecimal netMarginFinalTotal;
|
||||
|
||||
public BigDecimal getNetMarginFinalTotal() {
|
||||
BigDecimal contributionMarginFinalTotal = getContributionMarginFinalTotal();
|
||||
BigDecimal costIncomeTaxFinalTotal = getCostIncomeTaxFinalTotal();
|
||||
return contributionMarginFinalTotal.subtract(costIncomeTaxFinalTotal);
|
||||
}
|
||||
|
||||
public void setNetMarginFinalTotal(BigDecimal netMarginFinalTotal) {
|
||||
this.netMarginFinalTotal = netMarginFinalTotal;
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目净利润利润率
|
||||
*/
|
||||
private BigDecimal netMarginProfitMargin;
|
||||
|
||||
public BigDecimal getNetMarginProfitMargin() {
|
||||
return netMarginProfitMargin;
|
||||
}
|
||||
|
||||
public void setNetMarginProfitMargin(BigDecimal netMarginProfitMargin) {
|
||||
this.netMarginProfitMargin = netMarginProfitMargin;
|
||||
}
|
||||
|
||||
//========================结算现金流量表================================
|
||||
|
||||
/**
|
||||
|
@ -189,6 +244,28 @@ public class FinalBean {
|
|||
* g=a+c+b-d-f-e
|
||||
*/
|
||||
private BigDecimal netCashFlow;
|
||||
|
||||
public BigDecimal getNetCashFlow() {
|
||||
|
||||
BigDecimal saleIncomeCash = getSaleIncomeCash();
|
||||
BigDecimal taxReturn = getTaxReturn();
|
||||
BigDecimal earnestMoneyIncome = getEarnestMoneyIncome();
|
||||
BigDecimal purchaseCost = getPurchaseCost();
|
||||
BigDecimal taxCost = getTaxCost();
|
||||
BigDecimal earnestMoneyCost = getEarnestMoneyCost();
|
||||
|
||||
return saleIncomeCash
|
||||
.add(taxReturn)
|
||||
.add(earnestMoneyIncome)
|
||||
.subtract(purchaseCost)
|
||||
.subtract(taxCost)
|
||||
.subtract(earnestMoneyCost);
|
||||
}
|
||||
|
||||
public void setNetCashFlow(BigDecimal netCashFlow) {
|
||||
this.netCashFlow = netCashFlow;
|
||||
}
|
||||
|
||||
/**
|
||||
* h投资活动现金流入
|
||||
*/
|
||||
|
@ -214,12 +291,36 @@ public class FinalBean {
|
|||
* m=k-l
|
||||
*/
|
||||
private BigDecimal financingCapitalCashflow;
|
||||
|
||||
public BigDecimal getFinancingCapitalCashflow() {
|
||||
BigDecimal financingCapitalInflow = getFinancingCapitalInflow();
|
||||
BigDecimal financingCapitalOutflow = getFinancingCapitalOutflow();
|
||||
return financingCapitalInflow.subtract(financingCapitalOutflow);
|
||||
}
|
||||
|
||||
public void setFinancingCapitalCashflow(BigDecimal financingCapitalCashflow) {
|
||||
this.financingCapitalCashflow = financingCapitalCashflow;
|
||||
}
|
||||
|
||||
/**
|
||||
* n货币资金净增加额
|
||||
* n=g+j+m
|
||||
*/
|
||||
private BigDecimal netIncreaseMonetaryFunds;
|
||||
|
||||
public BigDecimal getNetIncreaseMonetaryFunds() {
|
||||
BigDecimal netCashFlow = getNetCashFlow();
|
||||
BigDecimal netCashFromInvestingActivities = getNetCashFromInvestingActivities();
|
||||
BigDecimal financingCapitalCashflow = getFinancingCapitalCashflow();
|
||||
return netCashFlow
|
||||
.add(netCashFromInvestingActivities)
|
||||
.add(financingCapitalCashflow);
|
||||
}
|
||||
|
||||
public void setNetIncreaseMonetaryFunds(BigDecimal netIncreaseMonetaryFunds) {
|
||||
this.netIncreaseMonetaryFunds = netIncreaseMonetaryFunds;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有现金流量决算总额
|
||||
* @return
|
||||
|
@ -349,54 +450,6 @@ public class FinalBean {
|
|||
this.costIncomeTaxFinalTotal = costIncomeTaxFinalTotal;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitFinalTotal() {
|
||||
return grossProfitFinalTotal;
|
||||
}
|
||||
|
||||
public void setGrossProfitFinalTotal(BigDecimal grossProfitFinalTotal) {
|
||||
this.grossProfitFinalTotal = grossProfitFinalTotal;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitProfitMargin() {
|
||||
return grossProfitProfitMargin;
|
||||
}
|
||||
|
||||
public void setGrossProfitProfitMargin(BigDecimal grossProfitProfitMargin) {
|
||||
this.grossProfitProfitMargin = grossProfitProfitMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getContributionMarginFinalTotal() {
|
||||
return contributionMarginFinalTotal;
|
||||
}
|
||||
|
||||
public void setContributionMarginFinalTotal(BigDecimal contributionMarginFinalTotal) {
|
||||
this.contributionMarginFinalTotal = contributionMarginFinalTotal;
|
||||
}
|
||||
|
||||
public BigDecimal getContributionMarginProfitMargin() {
|
||||
return contributionMarginProfitMargin;
|
||||
}
|
||||
|
||||
public void setContributionMarginProfitMargin(BigDecimal contributionMarginProfitMargin) {
|
||||
this.contributionMarginProfitMargin = contributionMarginProfitMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getNetMarginFinalTotal() {
|
||||
return netMarginFinalTotal;
|
||||
}
|
||||
|
||||
public void setNetMarginFinalTotal(BigDecimal netMarginFinalTotal) {
|
||||
this.netMarginFinalTotal = netMarginFinalTotal;
|
||||
}
|
||||
|
||||
public BigDecimal getNetMarginProfitMargin() {
|
||||
return netMarginProfitMargin;
|
||||
}
|
||||
|
||||
public void setNetMarginProfitMargin(BigDecimal netMarginProfitMargin) {
|
||||
this.netMarginProfitMargin = netMarginProfitMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getSaleIncomeCash() {
|
||||
return saleIncomeCash;
|
||||
}
|
||||
|
@ -485,27 +538,5 @@ public class FinalBean {
|
|||
this.financingCapitalOutflow = financingCapitalOutflow;
|
||||
}
|
||||
|
||||
public BigDecimal getFinancingCapitalCashflow() {
|
||||
return financingCapitalCashflow;
|
||||
}
|
||||
|
||||
public void setFinancingCapitalCashflow(BigDecimal financingCapitalCashflow) {
|
||||
this.financingCapitalCashflow = financingCapitalCashflow;
|
||||
}
|
||||
|
||||
public BigDecimal getNetIncreaseMonetaryFunds() {
|
||||
return netIncreaseMonetaryFunds;
|
||||
}
|
||||
|
||||
public void setNetIncreaseMonetaryFunds(BigDecimal netIncreaseMonetaryFunds) {
|
||||
this.netIncreaseMonetaryFunds = netIncreaseMonetaryFunds;
|
||||
}
|
||||
|
||||
public BigDecimal getNetCashFlow() {
|
||||
return netCashFlow;
|
||||
}
|
||||
|
||||
public void setNetCashFlow(BigDecimal netCashFlow) {
|
||||
this.netCashFlow = netCashFlow;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import top.jfunc.common.utils.CollectionUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -441,6 +442,10 @@ public class ProjectFinalSevice {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
finalBean.setGrossProfitProfitMargin(finalBean.getGrossProfitFinalTotal().divide(finalBean.getIncomeTotal(),4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)));
|
||||
finalBean.setContributionMarginProfitMargin(finalBean.getContributionMarginFinalTotal().divide(finalBean.getIncomeTotal(),4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)));
|
||||
finalBean.setNetMarginProfitMargin(finalBean.getNetMarginFinalTotal().divide(finalBean.getIncomeTotal(),4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)));
|
||||
return finalBean;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
package cn.palmte.work.service;
|
||||
|
||||
import cn.palmte.work.bean.CashFlowBean;
|
||||
import cn.palmte.work.bean.CashFlowStatisticsBean;
|
||||
import cn.palmte.work.bean.PrimaryIndicatorBean;
|
||||
import cn.palmte.work.model.*;
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import top.jfunc.common.utils.CollectionUtil;
|
||||
|
|
|
@ -10,6 +10,22 @@ function calculateFinal() {
|
|||
calIncomeFinalTotal();
|
||||
});
|
||||
|
||||
/**
|
||||
* 收入决算总额(不含税),有一项没填就置空
|
||||
*/
|
||||
function calIncomeFinalTotal() {
|
||||
var incomeDeviceFinalTotal = $("input[name='incomeDeviceFinalTotal']").val();
|
||||
var incomeEngineerFinalTotal = $("input[name='incomeEngineerFinalTotal']").val();
|
||||
var incomeServiceFinalTotal = $("input[name='incomeServiceFinalTotal']").val();
|
||||
|
||||
var incomeFinalTotal = $("input[name='incomeFinalTotal']");
|
||||
|
||||
if(incomeDeviceFinalTotal && incomeEngineerFinalTotal && incomeServiceFinalTotal){
|
||||
incomeFinalTotal.val(parseFloat(incomeDeviceFinalTotal)+parseFloat(incomeEngineerFinalTotal)+parseFloat(incomeServiceFinalTotal));
|
||||
}else {
|
||||
incomeFinalTotal.val("");
|
||||
}
|
||||
}
|
||||
|
||||
$("input[name='costPurchaseDeviceFinalTotal']").change(function () {
|
||||
calCostFinalTotal();
|
||||
|
@ -33,16 +49,18 @@ function calculateFinal() {
|
|||
|
||||
$("input[name='costExpropriationFinalTotal']").change(function () {
|
||||
calManageFinalTotal();
|
||||
calGrossProfitFinalTotal();
|
||||
});
|
||||
$("input[name='costCompanyManageFinalTotal']").change(function () {
|
||||
calManageFinalTotal();
|
||||
calContributionMarginFinalTotal()
|
||||
});
|
||||
$("input[name='costIncomeTaxFinalTotal']").change(function () {
|
||||
calManageFinalTotal();
|
||||
calNetMarginProfitMargin();
|
||||
});
|
||||
|
||||
|
||||
|
||||
$("input[name='saleIncomeCash']").change(function () {
|
||||
calCashFluxFinalTotal();
|
||||
});
|
||||
|
@ -88,23 +106,6 @@ function calculateFinal() {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* 收入决算总额(不含税),有一项没填就置空
|
||||
*/
|
||||
function calIncomeFinalTotal() {
|
||||
var incomeDeviceFinalTotal = $("input[name='incomeDeviceFinalTotal']").val();
|
||||
var incomeEngineerFinalTotal = $("input[name='incomeEngineerFinalTotal']").val();
|
||||
var incomeServiceFinalTotal = $("input[name='incomeServiceFinalTotal']").val();
|
||||
|
||||
var incomeFinalTotal = $("input[name='incomeFinalTotal']");
|
||||
|
||||
if(incomeDeviceFinalTotal && incomeEngineerFinalTotal && incomeServiceFinalTotal){
|
||||
incomeFinalTotal.val(parseFloat(incomeDeviceFinalTotal)+parseFloat(incomeEngineerFinalTotal)+parseFloat(incomeServiceFinalTotal));
|
||||
}else {
|
||||
incomeFinalTotal.val("");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 成本决算总额(不含税),有一项没填就置空
|
||||
*/
|
||||
|
@ -181,6 +182,56 @@ function calCashFluxFinalTotal() {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目毛利决算总额
|
||||
*/
|
||||
function calGrossProfitFinalTotal() {
|
||||
var incomeFinalTotal = $("input[name='incomeFinalTotal']").val();
|
||||
var costFinalTotal = $("input[name='costFinalTotal']").val();
|
||||
var costExpropriationFinalTotal = $("input[name='costExpropriationFinalTotal']").val();
|
||||
|
||||
var grossProfitFinalTotal = $("input[name='grossProfitFinalTotal']");
|
||||
|
||||
if(incomeFinalTotal && costFinalTotal && costExpropriationFinalTotal){
|
||||
grossProfitFinalTotal.val(parseFloat(incomeFinalTotal)-parseFloat(costFinalTotal)-parseFloat(costExpropriationFinalTotal));
|
||||
}else {
|
||||
grossProfitFinalTotal.val("");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目贡献利润决算总额
|
||||
*/
|
||||
function calContributionMarginFinalTotal() {
|
||||
var grossProfitFinalTotal = $("input[name='grossProfitFinalTotal']").val();
|
||||
var costCompanyManageFinalTotal = $("input[name='costCompanyManageFinalTotal']").val();
|
||||
|
||||
var contributionMarginFinalTotal = $("input[name='contributionMarginFinalTotal']");
|
||||
|
||||
if(grossProfitFinalTotal && costCompanyManageFinalTotal ){
|
||||
contributionMarginFinalTotal.val(parseFloat(grossProfitFinalTotal)-parseFloat(costCompanyManageFinalTotal));
|
||||
}else {
|
||||
contributionMarginFinalTotal.val("");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目净利润决算总额
|
||||
*/
|
||||
function calNetMarginProfitMargin() {
|
||||
var contributionMarginFinalTotal = $("input[name='contributionMarginFinalTotal']").val();
|
||||
var costIncomeTaxFinalTotal = $("input[name='costIncomeTaxFinalTotal']").val();
|
||||
|
||||
|
||||
var netMarginFinalTotal = $("input[name='netMarginFinalTotal']");
|
||||
|
||||
if(contributionMarginFinalTotal && costIncomeTaxFinalTotal ){
|
||||
netMarginFinalTotal.val(parseFloat(contributionMarginFinalTotal)-parseFloat(costIncomeTaxFinalTotal));
|
||||
}else {
|
||||
netMarginFinalTotal.val("");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1739,12 +1739,12 @@
|
|||
<script>
|
||||
var base = "${base}";
|
||||
</script>
|
||||
<script src="${base}/assets/js/project_common.js"></script>
|
||||
<#-- <script src="${base}/assets/js/project_common.js"></script>
|
||||
<script src="${base}/assets/js/project_budget.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_income.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_cost.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_cost_project_manage.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_plan.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_plan.js"></script>-->
|
||||
</@defaultLayout.layout>
|
||||
|
||||
<script>
|
||||
|
|
|
@ -1507,12 +1507,12 @@
|
|||
<script>
|
||||
var base = "${base}";
|
||||
</script>
|
||||
<script src="${base}/assets/js/project_common.js"></script>
|
||||
<#--<script src="${base}/assets/js/project_common.js"></script>
|
||||
<script src="${base}/assets/js/project_budget.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_income.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_cost.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_cost_project_manage.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_plan.js"></script>
|
||||
<script src="${base}/assets/js/project_budget_plan.js"></script>-->
|
||||
</@defaultLayout.layout>
|
||||
|
||||
|
||||
|
|
|
@ -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(settleBean.grossProfit,'0')}" readonly required title="项目毛利结算总额"></td>
|
||||
<td><input name="grossProfitFinalTotal" required type="number" title="项目毛利决算总额"></td>
|
||||
<td><input name="grossProfitFinalTotal" required readonly type="number" title="项目毛利决算总额"></td>
|
||||
<td><input name="grossProfitProfitMargin" type="number" 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" required title="项目贡献利润决算总额"></td>
|
||||
<td><input name="contributionMarginFinalTotal" type="number" required readonly title="项目贡献利润决算总额"></td>
|
||||
<td><input name="contributionMarginProfitMargin" type="number" required readonly title="项目贡献利润利润率"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -234,8 +234,8 @@
|
|||
<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" required title="项目净利润决算总额"></td>
|
||||
<td><input name="netMarginProfitMargin" type="number" value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required readonly title="项目净利润利润率"></td>
|
||||
<td><input name="netMarginFinalTotal" type="number" required readonly title="项目净利润决算总额"></td>
|
||||
<td><input name="netMarginProfitMargin" type="number" required readonly title="项目净利润利润率"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -360,7 +360,7 @@
|
|||
var base = "${base}";
|
||||
</script>
|
||||
<script src="${base}/assets/js/project_common.js"></script>
|
||||
<script src="${base}/assets/js/project_final.js"></script>
|
||||
<script src="${base}/assets/js/project_final.js"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
calculateFinal();
|
||||
|
|
Loading…
Reference in New Issue