决算利润率保存
parent
77d60c1520
commit
1c3d2ca944
|
@ -1,6 +1,7 @@
|
||||||
package cn.palmte.work.bean;
|
package cn.palmte.work.bean;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
|
||||||
public class FinalBean {
|
public class FinalBean {
|
||||||
|
|
||||||
|
@ -154,7 +155,13 @@ public class FinalBean {
|
||||||
private BigDecimal grossProfitProfitMargin;
|
private BigDecimal grossProfitProfitMargin;
|
||||||
|
|
||||||
public BigDecimal getGrossProfitProfitMargin() {
|
public BigDecimal getGrossProfitProfitMargin() {
|
||||||
return grossProfitProfitMargin;
|
BigDecimal grossProfitFinalTotal = getGrossProfitFinalTotal();
|
||||||
|
BigDecimal incomeTotal = getIncomeTotal();
|
||||||
|
|
||||||
|
if(null == grossProfitFinalTotal || null == incomeTotal){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return grossProfitFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGrossProfitProfitMargin(BigDecimal grossProfitProfitMargin) {
|
public void setGrossProfitProfitMargin(BigDecimal grossProfitProfitMargin) {
|
||||||
|
@ -186,7 +193,14 @@ public class FinalBean {
|
||||||
private BigDecimal contributionMarginProfitMargin;
|
private BigDecimal contributionMarginProfitMargin;
|
||||||
|
|
||||||
public BigDecimal getContributionMarginProfitMargin() {
|
public BigDecimal getContributionMarginProfitMargin() {
|
||||||
return contributionMarginProfitMargin;
|
BigDecimal contributionMarginFinalTotal = getContributionMarginFinalTotal();
|
||||||
|
BigDecimal incomeTotal = getIncomeTotal();
|
||||||
|
|
||||||
|
if(null == contributionMarginFinalTotal || null == incomeTotal){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return contributionMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setContributionMarginProfitMargin(BigDecimal contributionMarginProfitMargin) {
|
public void setContributionMarginProfitMargin(BigDecimal contributionMarginProfitMargin) {
|
||||||
|
@ -217,7 +231,13 @@ public class FinalBean {
|
||||||
private BigDecimal netMarginProfitMargin;
|
private BigDecimal netMarginProfitMargin;
|
||||||
|
|
||||||
public BigDecimal getNetMarginProfitMargin() {
|
public BigDecimal getNetMarginProfitMargin() {
|
||||||
return netMarginProfitMargin;
|
BigDecimal netMarginFinalTotal = getNetMarginFinalTotal();
|
||||||
|
BigDecimal incomeTotal = getIncomeTotal();
|
||||||
|
|
||||||
|
if(null == netMarginFinalTotal || null == incomeTotal){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return netMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNetMarginProfitMargin(BigDecimal netMarginProfitMargin) {
|
public void setNetMarginProfitMargin(BigDecimal netMarginProfitMargin) {
|
||||||
|
|
|
@ -53,6 +53,20 @@ public class ProjectFinalProfitMargin {
|
||||||
@Column(name = "final_total_profit_margin")
|
@Column(name = "final_total_profit_margin")
|
||||||
private BigDecimal finalTotalProfitMargin;
|
private BigDecimal finalTotalProfitMargin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 利润率
|
||||||
|
*/
|
||||||
|
@Column(name = "profit_margin")
|
||||||
|
private BigDecimal profitMargin;
|
||||||
|
|
||||||
|
public BigDecimal getProfitMargin() {
|
||||||
|
return profitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProfitMargin(BigDecimal profitMargin) {
|
||||||
|
this.profitMargin = profitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
public Integer getId() {
|
public Integer getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
@ -77,5 +91,35 @@ public class ProjectFinalProfitMargin {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getEstimateTotalProfitMargin() {
|
||||||
|
return estimateTotalProfitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEstimateTotalProfitMargin(BigDecimal estimateTotalProfitMargin) {
|
||||||
|
this.estimateTotalProfitMargin = estimateTotalProfitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getBudgetTotalProfitMargin() {
|
||||||
|
return budgetTotalProfitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBudgetTotalProfitMargin(BigDecimal budgetTotalProfitMargin) {
|
||||||
|
this.budgetTotalProfitMargin = budgetTotalProfitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getSettleTotalProfitMargin() {
|
||||||
|
return settleTotalProfitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSettleTotalProfitMargin(BigDecimal settleTotalProfitMargin) {
|
||||||
|
this.settleTotalProfitMargin = settleTotalProfitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getFinalTotalProfitMargin() {
|
||||||
|
return finalTotalProfitMargin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFinalTotalProfitMargin(BigDecimal finalTotalProfitMargin) {
|
||||||
|
this.finalTotalProfitMargin = finalTotalProfitMargin;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -55,6 +55,9 @@ public class ProjectFinalSevice {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectSettleService projectSettleService;
|
private ProjectSettleService projectSettleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ProjectFinalProfitMarginRepository projectFinalProfitMarginRepository;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void save(Project project, FinalBean finalBean) {
|
public void save(Project project, FinalBean finalBean) {
|
||||||
//预算表数据
|
//预算表数据
|
||||||
|
@ -76,6 +79,9 @@ public class ProjectFinalSevice {
|
||||||
//保存项目结算管理成本信息
|
//保存项目结算管理成本信息
|
||||||
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
|
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
|
||||||
|
|
||||||
|
//保存项目决算利润率
|
||||||
|
saveProjectFinalProfitMargin(project,finalBean,estimate,budget,settle);
|
||||||
|
|
||||||
//保存项目结算现金流量信息
|
//保存项目结算现金流量信息
|
||||||
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
|
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
|
||||||
|
|
||||||
|
@ -103,6 +109,9 @@ public class ProjectFinalSevice {
|
||||||
//保存项目结算管理成本信息
|
//保存项目结算管理成本信息
|
||||||
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
|
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
|
||||||
|
|
||||||
|
//保存项目决算利润率
|
||||||
|
saveProjectFinalProfitMargin(project,finalBean,estimate,budget,settle);
|
||||||
|
|
||||||
//保存项目结算现金流量信息
|
//保存项目结算现金流量信息
|
||||||
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
|
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
|
||||||
|
|
||||||
|
@ -113,6 +122,38 @@ public class ProjectFinalSevice {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void saveProjectFinalProfitMargin(Project project, FinalBean finalBean, EstimateBean estimate, BudgetBean budget, FormerBean settle) {
|
||||||
|
ProjectFinalProfitMargin typeGrossProfit = new ProjectFinalProfitMargin();
|
||||||
|
typeGrossProfit.setProjectId(project.getId());
|
||||||
|
typeGrossProfit.setType(ProjectFinalProfitMargin.TYPE_GROSS_PROFIT);
|
||||||
|
typeGrossProfit.setEstimateTotalProfitMargin(estimate.getProjectGrossProfit());
|
||||||
|
typeGrossProfit.setBudgetTotalProfitMargin(budget.getProjectGrossProfit());
|
||||||
|
typeGrossProfit.setSettleTotalProfitMargin(settle.getGrossProfit());
|
||||||
|
typeGrossProfit.setFinalTotalProfitMargin(finalBean.getGrossProfitFinalTotal());
|
||||||
|
typeGrossProfit.setProfitMargin(finalBean.getGrossProfitProfitMargin());
|
||||||
|
projectFinalProfitMarginRepository.saveAndFlush(typeGrossProfit);
|
||||||
|
|
||||||
|
|
||||||
|
ProjectFinalProfitMargin typeContributionMargin = new ProjectFinalProfitMargin();
|
||||||
|
typeContributionMargin.setProjectId(project.getId());
|
||||||
|
typeContributionMargin.setType(ProjectFinalProfitMargin.TYPE_CONTRIBUTION_MARGIN);
|
||||||
|
typeContributionMargin.setEstimateTotalProfitMargin(estimate.getProjectContributionProfit());
|
||||||
|
typeContributionMargin.setBudgetTotalProfitMargin(budget.getProjectContributionProfit());
|
||||||
|
typeContributionMargin.setSettleTotalProfitMargin(settle.getContributionProfit());
|
||||||
|
typeContributionMargin.setFinalTotalProfitMargin(finalBean.getContributionMarginFinalTotal());
|
||||||
|
typeContributionMargin.setProfitMargin(finalBean.getContributionMarginProfitMargin());
|
||||||
|
projectFinalProfitMarginRepository.saveAndFlush(typeContributionMargin);
|
||||||
|
|
||||||
|
ProjectFinalProfitMargin typeNetMargin = new ProjectFinalProfitMargin();
|
||||||
|
typeNetMargin.setProjectId(project.getId());
|
||||||
|
typeNetMargin.setType(ProjectFinalProfitMargin.TYPE_NET_MARGIN);
|
||||||
|
typeNetMargin.setSettleTotalProfitMargin(settle.getNetProfit());
|
||||||
|
typeNetMargin.setFinalTotalProfitMargin(finalBean.getNetMarginFinalTotal());
|
||||||
|
typeNetMargin.setProfitMargin(finalBean.getNetMarginProfitMargin());
|
||||||
|
projectFinalProfitMarginRepository.saveAndFlush(typeNetMargin);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget,FormerBean settle){
|
public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget,FormerBean settle){
|
||||||
ProjectFinalCostManage expropriationManage = new ProjectFinalCostManage();
|
ProjectFinalCostManage expropriationManage = new ProjectFinalCostManage();
|
||||||
expropriationManage.setProjectId(project.getId());
|
expropriationManage.setProjectId(project.getId());
|
||||||
|
|
|
@ -232,7 +232,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>项目净利润</td>
|
<td>项目净利润</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="netMarginBudgetTotal" type="number" value="${Utils.format(finalBean.netMarginBudgetTotal,'0')}" readonly required title="项目净利润预算总额"></td>
|
<td>/<#--<input name="netMarginBudgetTotal" type="number" value="${Utils.format(budgetBean.netProfit,'0')}" readonly required title="项目净利润预算总额">--></td>
|
||||||
<td><input name="netMarginSettleTotal" type="number" value="${Utils.format(settleBean.netProfit,'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')}" readonly 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>
|
<td><input name="netMarginProfitMargin" type="number" value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required readonly title="项目净利润利润率"></td>
|
||||||
|
|
Loading…
Reference in New Issue