决算利润率保存
parent
77d60c1520
commit
1c3d2ca944
src/main
java/cn/palmte/work
resources/templates/admin
|
@ -1,6 +1,7 @@
|
|||
package cn.palmte.work.bean;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
||||
public class FinalBean {
|
||||
|
||||
|
@ -154,7 +155,13 @@ public class FinalBean {
|
|||
private BigDecimal grossProfitProfitMargin;
|
||||
|
||||
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) {
|
||||
|
@ -186,7 +193,14 @@ public class FinalBean {
|
|||
private BigDecimal contributionMarginProfitMargin;
|
||||
|
||||
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) {
|
||||
|
@ -217,7 +231,13 @@ public class FinalBean {
|
|||
private BigDecimal netMarginProfitMargin;
|
||||
|
||||
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) {
|
||||
|
|
|
@ -53,6 +53,20 @@ public class ProjectFinalProfitMargin {
|
|||
@Column(name = "final_total_profit_margin")
|
||||
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() {
|
||||
return id;
|
||||
}
|
||||
|
@ -77,5 +91,35 @@ public class ProjectFinalProfitMargin {
|
|||
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
|
||||
private ProjectSettleService projectSettleService;
|
||||
|
||||
@Autowired
|
||||
private ProjectFinalProfitMarginRepository projectFinalProfitMarginRepository;
|
||||
|
||||
@Transactional
|
||||
public void save(Project project, FinalBean finalBean) {
|
||||
//预算表数据
|
||||
|
@ -76,6 +79,9 @@ public class ProjectFinalSevice {
|
|||
//保存项目结算管理成本信息
|
||||
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
|
||||
|
||||
//保存项目决算利润率
|
||||
saveProjectFinalProfitMargin(project,finalBean,estimate,budget,settle);
|
||||
|
||||
//保存项目结算现金流量信息
|
||||
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
|
||||
|
||||
|
@ -103,6 +109,9 @@ public class ProjectFinalSevice {
|
|||
//保存项目结算管理成本信息
|
||||
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
|
||||
|
||||
//保存项目决算利润率
|
||||
saveProjectFinalProfitMargin(project,finalBean,estimate,budget,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){
|
||||
ProjectFinalCostManage expropriationManage = new ProjectFinalCostManage();
|
||||
expropriationManage.setProjectId(project.getId());
|
||||
|
|
|
@ -232,7 +232,7 @@
|
|||
<tr>
|
||||
<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="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>
|
||||
|
|
Loading…
Reference in New Issue