diff --git a/src/main/java/cn/palmte/work/bean/IncomeCostBean.java b/src/main/java/cn/palmte/work/bean/IncomeCostBean.java index 270aece..ed92e36 100644 --- a/src/main/java/cn/palmte/work/bean/IncomeCostBean.java +++ b/src/main/java/cn/palmte/work/bean/IncomeCostBean.java @@ -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(); diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl index e6d6fbd..ecb1212 100644 --- a/src/main/resources/templates/admin/project_budget_edit.ftl +++ b/src/main/resources/templates/admin/project_budget_edit.ftl @@ -608,18 +608,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + @@ -627,18 +627,18 @@ <#list projectBudgetPlanDetails as projectBudgetPlanDetail> - - - - - - - - - - - - + + + + + + + + + + + +