注释与显示格式化
parent
9cff2184bd
commit
1820563bb1
|
@ -7,29 +7,84 @@ import java.math.BigDecimal;
|
|||
* @author xiongshiyan at 2021/11/1 , contact me with email yanshixiong@126.com or phone 15208384257
|
||||
*/
|
||||
public class IncomeCostBean {
|
||||
/**
|
||||
* 设备类收入含税
|
||||
*/
|
||||
private BigDecimal incomeDeviceTaxInclude;
|
||||
/**
|
||||
* 工程类收入含税
|
||||
*/
|
||||
private BigDecimal incomeEngineerTaxInclude;
|
||||
/**
|
||||
* 服务类收入含税
|
||||
*/
|
||||
private BigDecimal incomeServiceTaxInclude;
|
||||
|
||||
/**
|
||||
* 设备类收入不含税
|
||||
*/
|
||||
private BigDecimal incomeDeviceTaxExclude;
|
||||
/**
|
||||
* 工程类收入不含税
|
||||
*/
|
||||
private BigDecimal incomeEngineerTaxExclude;
|
||||
/**
|
||||
* 服务类收入不含税
|
||||
*/
|
||||
private BigDecimal incomeServiceTaxExclude;
|
||||
|
||||
/**
|
||||
*设备采购成本含税
|
||||
*/
|
||||
private BigDecimal costPurchaseDeviceTaxInclude;
|
||||
/**
|
||||
* 施工采购成本含税
|
||||
*/
|
||||
private BigDecimal costPurchaseBuildTaxInclude;
|
||||
/**
|
||||
* 服务采购成本含税
|
||||
*/
|
||||
private BigDecimal costPurchaseServiceTaxInclude;
|
||||
/*private BigDecimal costProjectManageTaxInclude;*/
|
||||
/**
|
||||
* 其他采购成本含税
|
||||
*/
|
||||
private BigDecimal costPurchaseOtherTaxInclude;
|
||||
/**
|
||||
* 其他成本含税
|
||||
*/
|
||||
private BigDecimal costOtherOtherTaxInclude;
|
||||
|
||||
/**
|
||||
*设备采购成本不含税
|
||||
*/
|
||||
private BigDecimal costPurchaseDeviceTaxExclude;
|
||||
/**
|
||||
* 施工采购成本不含税
|
||||
*/
|
||||
private BigDecimal costPurchaseBuildTaxExclude;
|
||||
/**
|
||||
* 服务采购成本不含税
|
||||
*/
|
||||
private BigDecimal costPurchaseServiceTaxExclude;
|
||||
/**
|
||||
* 其他采购成本不含税
|
||||
*/
|
||||
private BigDecimal costPurchaseOtherTaxExclude;
|
||||
/**
|
||||
* 工程管理成本不含税
|
||||
*/
|
||||
private BigDecimal costProjectManageTaxExclude;
|
||||
/**
|
||||
* 其他成本不含税
|
||||
*/
|
||||
private BigDecimal costOtherOtherTaxExclude;
|
||||
|
||||
/**
|
||||
* 资金占用成本不含税
|
||||
*/
|
||||
private BigDecimal costExpropriationTaxExclude;
|
||||
/**
|
||||
*公司管理成本不含税
|
||||
*/
|
||||
private BigDecimal costCompanyManageTaxExclude;
|
||||
|
||||
public BigDecimal getIncomeDeviceTaxInclude() {
|
||||
|
@ -56,14 +111,6 @@ public class IncomeCostBean {
|
|||
this.incomeServiceTaxInclude = incomeServiceTaxInclude;
|
||||
}
|
||||
|
||||
public BigDecimal getIncomeTotalTaxInclude() {
|
||||
if(null == incomeDeviceTaxInclude || null == incomeEngineerTaxInclude || null == incomeServiceTaxInclude){
|
||||
return null;
|
||||
}
|
||||
return incomeDeviceTaxInclude.add(incomeEngineerTaxInclude)
|
||||
.add(incomeServiceTaxInclude);
|
||||
}
|
||||
|
||||
public BigDecimal getIncomeDeviceTaxExclude() {
|
||||
return incomeDeviceTaxExclude;
|
||||
}
|
||||
|
@ -88,14 +135,6 @@ public class IncomeCostBean {
|
|||
this.incomeServiceTaxExclude = incomeServiceTaxExclude;
|
||||
}
|
||||
|
||||
public BigDecimal getIncomeTotalTaxExclude() {
|
||||
if(null == incomeDeviceTaxExclude || null == incomeEngineerTaxExclude || null ==incomeServiceTaxExclude){
|
||||
return null;
|
||||
}
|
||||
return incomeDeviceTaxExclude.add(incomeEngineerTaxExclude)
|
||||
.add(incomeServiceTaxExclude);
|
||||
}
|
||||
|
||||
public BigDecimal getCostPurchaseDeviceTaxInclude() {
|
||||
return costPurchaseDeviceTaxInclude;
|
||||
}
|
||||
|
@ -120,6 +159,7 @@ public class IncomeCostBean {
|
|||
this.costPurchaseServiceTaxInclude = costPurchaseServiceTaxInclude;
|
||||
}
|
||||
|
||||
|
||||
/*public BigDecimal getCostProjectManageTaxInclude() {
|
||||
return costProjectManageTaxInclude;
|
||||
}
|
||||
|
@ -131,7 +171,6 @@ public class IncomeCostBean {
|
|||
public BigDecimal getCostPurchaseOtherTaxInclude() {
|
||||
return costPurchaseOtherTaxInclude;
|
||||
}
|
||||
|
||||
public void setCostPurchaseOtherTaxInclude(BigDecimal costPurchaseOtherTaxInclude) {
|
||||
this.costPurchaseOtherTaxInclude = costPurchaseOtherTaxInclude;
|
||||
}
|
||||
|
@ -144,23 +183,6 @@ public class IncomeCostBean {
|
|||
this.costOtherOtherTaxInclude = costOtherOtherTaxInclude;
|
||||
}
|
||||
|
||||
public BigDecimal getCostTotalTaxInclude() {
|
||||
if(null == costPurchaseDeviceTaxInclude
|
||||
|| null == costPurchaseBuildTaxInclude
|
||||
|| null == costPurchaseServiceTaxInclude
|
||||
|| null == costPurchaseOtherTaxInclude
|
||||
/*|| null == costProjectManageTaxInclude*/
|
||||
|| null == costOtherOtherTaxInclude){
|
||||
return null;
|
||||
}
|
||||
return costPurchaseDeviceTaxInclude
|
||||
.add(costPurchaseBuildTaxInclude)
|
||||
.add(costPurchaseServiceTaxInclude)
|
||||
.add(costPurchaseOtherTaxInclude)
|
||||
/*.add(null == costProjectManageTaxInclude ? new BigDecimal(0) : costProjectManageTaxInclude)*/
|
||||
.add(costOtherOtherTaxInclude);
|
||||
}
|
||||
|
||||
public BigDecimal getCostPurchaseDeviceTaxExclude() {
|
||||
return costPurchaseDeviceTaxExclude;
|
||||
}
|
||||
|
@ -209,22 +231,6 @@ public class IncomeCostBean {
|
|||
this.costOtherOtherTaxExclude = costOtherOtherTaxExclude;
|
||||
}
|
||||
|
||||
public BigDecimal getCostTotalTaxExclude() {
|
||||
if(null == costPurchaseDeviceTaxExclude
|
||||
|| null == costPurchaseBuildTaxExclude
|
||||
|| null == costPurchaseServiceTaxExclude
|
||||
|| null == costPurchaseOtherTaxExclude
|
||||
|| null == costProjectManageTaxExclude
|
||||
|| null == costOtherOtherTaxExclude){
|
||||
return null;
|
||||
}
|
||||
return costPurchaseDeviceTaxExclude.add(costPurchaseBuildTaxExclude)
|
||||
.add(costPurchaseServiceTaxExclude)
|
||||
.add(costPurchaseOtherTaxExclude)
|
||||
.add(costProjectManageTaxExclude)
|
||||
.add(costOtherOtherTaxExclude);
|
||||
}
|
||||
|
||||
|
||||
public BigDecimal getCostExpropriationTaxExclude() {
|
||||
return costExpropriationTaxExclude;
|
||||
|
@ -242,6 +248,72 @@ public class IncomeCostBean {
|
|||
this.costCompanyManageTaxExclude = costCompanyManageTaxExclude;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算所有的含税收入
|
||||
*/
|
||||
public BigDecimal getIncomeTotalTaxInclude() {
|
||||
if(null == incomeDeviceTaxInclude || null == incomeEngineerTaxInclude || null == incomeServiceTaxInclude){
|
||||
return null;
|
||||
}
|
||||
return incomeDeviceTaxInclude.add(incomeEngineerTaxInclude)
|
||||
.add(incomeServiceTaxInclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算所有的不含税收入
|
||||
*/
|
||||
public BigDecimal getIncomeTotalTaxExclude() {
|
||||
if(null == incomeDeviceTaxExclude || null == incomeEngineerTaxExclude || null ==incomeServiceTaxExclude){
|
||||
return null;
|
||||
}
|
||||
return incomeDeviceTaxExclude.add(incomeEngineerTaxExclude)
|
||||
.add(incomeServiceTaxExclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算所有的成本含税
|
||||
*/
|
||||
public BigDecimal getCostTotalTaxInclude() {
|
||||
if(null == costPurchaseDeviceTaxInclude
|
||||
|| null == costPurchaseBuildTaxInclude
|
||||
|| null == costPurchaseServiceTaxInclude
|
||||
|| null == costPurchaseOtherTaxInclude
|
||||
/*|| null == costProjectManageTaxInclude*/
|
||||
|| null == costOtherOtherTaxInclude){
|
||||
return null;
|
||||
}
|
||||
return costPurchaseDeviceTaxInclude
|
||||
.add(costPurchaseBuildTaxInclude)
|
||||
.add(costPurchaseServiceTaxInclude)
|
||||
.add(costPurchaseOtherTaxInclude)
|
||||
/*.add(null == costProjectManageTaxInclude ? new BigDecimal(0) : costProjectManageTaxInclude)*/
|
||||
.add(costOtherOtherTaxInclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算所有的成本不含税
|
||||
*/
|
||||
public BigDecimal getCostTotalTaxExclude() {
|
||||
if(null == costPurchaseDeviceTaxExclude
|
||||
|| null == costPurchaseBuildTaxExclude
|
||||
|| null == costPurchaseServiceTaxExclude
|
||||
|| null == costPurchaseOtherTaxExclude
|
||||
|| null == costProjectManageTaxExclude
|
||||
|| null == costOtherOtherTaxExclude){
|
||||
return null;
|
||||
}
|
||||
return costPurchaseDeviceTaxExclude.add(costPurchaseBuildTaxExclude)
|
||||
.add(costPurchaseServiceTaxExclude)
|
||||
.add(costPurchaseOtherTaxExclude)
|
||||
.add(costProjectManageTaxExclude)
|
||||
.add(costOtherOtherTaxExclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目毛利
|
||||
* 收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)
|
||||
*/
|
||||
public BigDecimal getProjectGrossProfit() {
|
||||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
BigDecimal costTotalTaxExclude = getCostTotalTaxExclude();
|
||||
|
@ -252,7 +324,10 @@ public class IncomeCostBean {
|
|||
return incomeTotalTaxExclude.subtract(costTotalTaxExclude).subtract(costExpropriationTaxExclude);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算项目毛利率
|
||||
* 毛利(不含税)/收入总计(不含税
|
||||
*/
|
||||
public BigDecimal getProjectGrossProfitRate() {
|
||||
BigDecimal projectGrossProfit = getProjectGrossProfit();
|
||||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
|
@ -262,6 +337,10 @@ public class IncomeCostBean {
|
|||
return projectGrossProfit.multiply(new BigDecimal(100)).divide(incomeTotalTaxExclude,2,BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目贡献利润
|
||||
* 项目毛利(不含税)-公司管理费用总计(不含税)
|
||||
*/
|
||||
public BigDecimal getProjectContributionProfit() {
|
||||
BigDecimal projectGrossProfit = getProjectGrossProfit();
|
||||
BigDecimal costCompanyManageTaxExclude = getCostCompanyManageTaxExclude();
|
||||
|
@ -270,7 +349,10 @@ public class IncomeCostBean {
|
|||
}
|
||||
return projectGrossProfit.subtract(costCompanyManageTaxExclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目贡献利润率
|
||||
* 贡献利润(不含税)/收入总计(不含税)
|
||||
*/
|
||||
public BigDecimal getProjectContributionProfitRate() {
|
||||
BigDecimal projectContributionProfit = getProjectContributionProfit();
|
||||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
|
|
|
@ -608,18 +608,18 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-month-budget-plan" value="${projectBudgetPlanDetailTotal.month}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-device-cost-budget-plan" value="${projectBudgetPlanDetailTotal.deviceCost}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-engineer-cost-budget-plan" value="${projectBudgetPlanDetailTotal.engineerCost}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-project-manage-cost-budget-plan" value="${projectBudgetPlanDetailTotal.projectManageCost}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-earnest-money-cost-budget-plan" value="${projectBudgetPlanDetailTotal.earnestMoneyCost}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-total-cost-budget-plan" value="${projectBudgetPlanDetailTotal.totalCost}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-sale-income-budget-plan" value="${projectBudgetPlanDetailTotal.saleIncome}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-earnest-money-income-budget-plan" value="${projectBudgetPlanDetailTotal.earnestMoneyIncome}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-total-income-budget-plan" value="${projectBudgetPlanDetailTotal.totalIncome}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-fund-balance-budget-plan" value="${projectBudgetPlanDetailTotal.fundBalance}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-capital-interest-budget-plan" value="${projectBudgetPlanDetailTotal.capitalInterest}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-underwritten-plan-budget-plan" value="${projectBudgetPlanDetailTotal.underwrittenPlan}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-repayment-plan-budget-plan" value="${projectBudgetPlanDetailTotal.repaymentPlan}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.deviceCost)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.engineerCost)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.projectManageCost)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyCost)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.totalCost)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.saleIncome)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.earnestMoneyIncome)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.totalIncome)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.fundBalance)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.capitalInterest)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-underwritten-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.underwrittenPlan)}" readonly/></td>
|
||||
<td><input type="text" class="am-modal-prompt-input input-total-repayment-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetailTotal.repaymentPlan)}" readonly/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
@ -627,18 +627,18 @@
|
|||
<#list projectBudgetPlanDetails as projectBudgetPlanDetail>
|
||||
<tr>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-month-budget-plan" value="${projectBudgetPlanDetail.month!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan" value="${projectBudgetPlanDetail.deviceCost!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan" value="${projectBudgetPlanDetail.engineerCost!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan" value="${projectBudgetPlanDetail.projectManageCost!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan" value="${projectBudgetPlanDetail.earnestMoneyCost!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-cost-budget-plan" value="${projectBudgetPlanDetail.totalCost!}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan" value="${projectBudgetPlanDetail.saleIncome!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan" value="${projectBudgetPlanDetail.earnestMoneyIncome!}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-income-budget-plan" value="${projectBudgetPlanDetail.totalIncome!}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-fund-balance-budget-plan" value="${projectBudgetPlanDetail.fundBalance!}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-capital-interest-budget-plan" value="${projectBudgetPlanDetail.capitalInterest!}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-underwritten-plan-budget-plan" value="${projectBudgetPlanDetail.underwrittenPlan!}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-repayment-plan-budget-plan" value="${projectBudgetPlanDetail.repaymentPlan!}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.deviceCost)}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.engineerCost)}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.projectManageCost)}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyCost)}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalCost)}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.saleIncome)}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyIncome)}"></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalIncome)}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetail.fundBalance)}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetail.capitalInterest)}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-underwritten-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetail.underwrittenPlan)}" readonly></td>
|
||||
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-repayment-plan-budget-plan" value="${Utils.format(projectBudgetPlanDetail.repaymentPlan)}" readonly></td>
|
||||
<td><button type="button" class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete-budget-plan"><span class="am-icon-minus"></span></button></td>
|
||||
</tr>
|
||||
</#list>
|
||||
|
|
Loading…
Reference in New Issue