预算表基本展示
parent
8e7c85d75e
commit
9294265d82
|
@ -1,8 +1,8 @@
|
||||||
package cn.palmte.work.bean;
|
package cn.palmte.work.bean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see EstimateBean 貌似完全一样
|
* 预算页面
|
||||||
* @author xiongshiyan at 2021/11/1 , contact me with email yanshixiong@126.com or phone 15208384257
|
* @author xiongshiyan at 2021/11/1 , contact me with email yanshixiong@126.com or phone 15208384257
|
||||||
*/
|
*/
|
||||||
public class BudgetBean extends EstimateBean{
|
public class BudgetBean extends IncomeCostBean{
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,238 +1,8 @@
|
||||||
package cn.palmte.work.bean;
|
package cn.palmte.work.bean;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 概算页面
|
||||||
* @author xiongshiyan at 2021/11/1 , contact me with email yanshixiong@126.com or phone 15208384257
|
* @author xiongshiyan at 2021/11/1 , contact me with email yanshixiong@126.com or phone 15208384257
|
||||||
*/
|
*/
|
||||||
public class EstimateBean {
|
public class EstimateBean extends 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() {
|
|
||||||
return incomeDeviceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIncomeDeviceTaxInclude(BigDecimal incomeDeviceTaxInclude) {
|
|
||||||
this.incomeDeviceTaxInclude = incomeDeviceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getIncomeEngineerTaxInclude() {
|
|
||||||
return incomeEngineerTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIncomeEngineerTaxInclude(BigDecimal incomeEngineerTaxInclude) {
|
|
||||||
this.incomeEngineerTaxInclude = incomeEngineerTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getIncomeServiceTaxInclude() {
|
|
||||||
return incomeServiceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIncomeServiceTaxInclude(BigDecimal incomeServiceTaxInclude) {
|
|
||||||
this.incomeServiceTaxInclude = incomeServiceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getIncomeTotalTaxInclude() {
|
|
||||||
return incomeDeviceTaxInclude.add(incomeEngineerTaxInclude)
|
|
||||||
.add(incomeServiceTaxInclude);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getIncomeDeviceTaxExclude() {
|
|
||||||
return incomeDeviceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIncomeDeviceTaxExclude(BigDecimal incomeDeviceTaxExclude) {
|
|
||||||
this.incomeDeviceTaxExclude = incomeDeviceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getIncomeEngineerTaxExclude() {
|
|
||||||
return incomeEngineerTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIncomeEngineerTaxExclude(BigDecimal incomeEngineerTaxExclude) {
|
|
||||||
this.incomeEngineerTaxExclude = incomeEngineerTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getIncomeServiceTaxExclude() {
|
|
||||||
return incomeServiceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIncomeServiceTaxExclude(BigDecimal incomeServiceTaxExclude) {
|
|
||||||
this.incomeServiceTaxExclude = incomeServiceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getIncomeTotalTaxExclude() {
|
|
||||||
return incomeDeviceTaxExclude.add(incomeEngineerTaxExclude)
|
|
||||||
.add(incomeServiceTaxExclude);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseDeviceTaxInclude() {
|
|
||||||
return costPurchaseDeviceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseDeviceTaxInclude(BigDecimal costPurchaseDeviceTaxInclude) {
|
|
||||||
this.costPurchaseDeviceTaxInclude = costPurchaseDeviceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseBuildTaxInclude() {
|
|
||||||
return costPurchaseBuildTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseBuildTaxInclude(BigDecimal costPurchaseBuildTaxInclude) {
|
|
||||||
this.costPurchaseBuildTaxInclude = costPurchaseBuildTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseServiceTaxInclude() {
|
|
||||||
return costPurchaseServiceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseServiceTaxInclude(BigDecimal costPurchaseServiceTaxInclude) {
|
|
||||||
this.costPurchaseServiceTaxInclude = costPurchaseServiceTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostProjectManageTaxInclude() {
|
|
||||||
return costProjectManageTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostProjectManageTaxInclude(BigDecimal costProjectManageTaxInclude) {
|
|
||||||
this.costProjectManageTaxInclude = costProjectManageTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseOtherTaxInclude() {
|
|
||||||
return costPurchaseOtherTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseOtherTaxInclude(BigDecimal costPurchaseOtherTaxInclude) {
|
|
||||||
this.costPurchaseOtherTaxInclude = costPurchaseOtherTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostOtherOtherTaxInclude() {
|
|
||||||
return costOtherOtherTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostOtherOtherTaxInclude(BigDecimal costOtherOtherTaxInclude) {
|
|
||||||
this.costOtherOtherTaxInclude = costOtherOtherTaxInclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostTotalTaxInclude() {
|
|
||||||
return costPurchaseDeviceTaxInclude
|
|
||||||
.add(costPurchaseBuildTaxInclude)
|
|
||||||
.add(costPurchaseServiceTaxInclude)
|
|
||||||
.add(costPurchaseOtherTaxInclude)
|
|
||||||
.add(costProjectManageTaxInclude)
|
|
||||||
.add(costOtherOtherTaxInclude);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseDeviceTaxExclude() {
|
|
||||||
return costPurchaseDeviceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseDeviceTaxExclude(BigDecimal costPurchaseDeviceTaxExclude) {
|
|
||||||
this.costPurchaseDeviceTaxExclude = costPurchaseDeviceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseBuildTaxExclude() {
|
|
||||||
return costPurchaseBuildTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseBuildTaxExclude(BigDecimal costPurchaseBuildTaxExclude) {
|
|
||||||
this.costPurchaseBuildTaxExclude = costPurchaseBuildTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseServiceTaxExclude() {
|
|
||||||
return costPurchaseServiceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseServiceTaxExclude(BigDecimal costPurchaseServiceTaxExclude) {
|
|
||||||
this.costPurchaseServiceTaxExclude = costPurchaseServiceTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostPurchaseOtherTaxExclude() {
|
|
||||||
return costPurchaseOtherTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostPurchaseOtherTaxExclude(BigDecimal costPurchaseOtherTaxExclude) {
|
|
||||||
this.costPurchaseOtherTaxExclude = costPurchaseOtherTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostProjectManageTaxExclude() {
|
|
||||||
return costProjectManageTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostProjectManageTaxExclude(BigDecimal costProjectManageTaxExclude) {
|
|
||||||
this.costProjectManageTaxExclude = costProjectManageTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostOtherOtherTaxExclude() {
|
|
||||||
return costOtherOtherTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostOtherOtherTaxExclude(BigDecimal costOtherOtherTaxExclude) {
|
|
||||||
this.costOtherOtherTaxExclude = costOtherOtherTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostTotalTaxExclude() {
|
|
||||||
return costPurchaseDeviceTaxExclude.add(costPurchaseBuildTaxExclude)
|
|
||||||
.add(costPurchaseServiceTaxExclude)
|
|
||||||
.add(costPurchaseOtherTaxExclude)
|
|
||||||
.add(costProjectManageTaxExclude)
|
|
||||||
.add(costOtherOtherTaxExclude);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public BigDecimal getCostExpropriationTaxExclude() {
|
|
||||||
return costExpropriationTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostExpropriationTaxExclude(BigDecimal costExpropriationTaxExclude) {
|
|
||||||
this.costExpropriationTaxExclude = costExpropriationTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCostCompanyManageTaxExclude() {
|
|
||||||
return costCompanyManageTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCostCompanyManageTaxExclude(BigDecimal costCompanyManageTaxExclude) {
|
|
||||||
this.costCompanyManageTaxExclude = costCompanyManageTaxExclude;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getProjectGrossProfit() {
|
|
||||||
return getIncomeTotalTaxExclude().subtract(getCostTotalTaxExclude()).subtract(getCostExpropriationTaxExclude());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public BigDecimal getProjectGrossProfitRate() {
|
|
||||||
return getProjectGrossProfit().multiply(new BigDecimal(100)).divide(getIncomeTotalTaxExclude(),2,BigDecimal.ROUND_HALF_UP);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getProjectContributionProfit() {
|
|
||||||
return getProjectGrossProfit().subtract(getCostCompanyManageTaxExclude());
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getProjectContributionProfitRate() {
|
|
||||||
return getProjectContributionProfit().multiply(new BigDecimal(100)).divide(getIncomeTotalTaxExclude(), 2,BigDecimal.ROUND_HALF_UP);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,282 @@
|
||||||
|
package cn.palmte.work.bean;
|
||||||
|
|
||||||
|
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() {
|
||||||
|
return incomeDeviceTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncomeDeviceTaxInclude(BigDecimal incomeDeviceTaxInclude) {
|
||||||
|
this.incomeDeviceTaxInclude = incomeDeviceTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getIncomeEngineerTaxInclude() {
|
||||||
|
return incomeEngineerTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncomeEngineerTaxInclude(BigDecimal incomeEngineerTaxInclude) {
|
||||||
|
this.incomeEngineerTaxInclude = incomeEngineerTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getIncomeServiceTaxInclude() {
|
||||||
|
return incomeServiceTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncomeServiceTaxInclude(BigDecimal incomeServiceTaxInclude) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncomeDeviceTaxExclude(BigDecimal incomeDeviceTaxExclude) {
|
||||||
|
this.incomeDeviceTaxExclude = incomeDeviceTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getIncomeEngineerTaxExclude() {
|
||||||
|
return incomeEngineerTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncomeEngineerTaxExclude(BigDecimal incomeEngineerTaxExclude) {
|
||||||
|
this.incomeEngineerTaxExclude = incomeEngineerTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getIncomeServiceTaxExclude() {
|
||||||
|
return incomeServiceTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncomeServiceTaxExclude(BigDecimal incomeServiceTaxExclude) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseDeviceTaxInclude(BigDecimal costPurchaseDeviceTaxInclude) {
|
||||||
|
this.costPurchaseDeviceTaxInclude = costPurchaseDeviceTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostPurchaseBuildTaxInclude() {
|
||||||
|
return costPurchaseBuildTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseBuildTaxInclude(BigDecimal costPurchaseBuildTaxInclude) {
|
||||||
|
this.costPurchaseBuildTaxInclude = costPurchaseBuildTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostPurchaseServiceTaxInclude() {
|
||||||
|
return costPurchaseServiceTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseServiceTaxInclude(BigDecimal costPurchaseServiceTaxInclude) {
|
||||||
|
this.costPurchaseServiceTaxInclude = costPurchaseServiceTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostProjectManageTaxInclude() {
|
||||||
|
return costProjectManageTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostProjectManageTaxInclude(BigDecimal costProjectManageTaxInclude) {
|
||||||
|
this.costProjectManageTaxInclude = costProjectManageTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostPurchaseOtherTaxInclude() {
|
||||||
|
return costPurchaseOtherTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseOtherTaxInclude(BigDecimal costPurchaseOtherTaxInclude) {
|
||||||
|
this.costPurchaseOtherTaxInclude = costPurchaseOtherTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostOtherOtherTaxInclude() {
|
||||||
|
return costOtherOtherTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostOtherOtherTaxInclude(BigDecimal costOtherOtherTaxInclude) {
|
||||||
|
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(costProjectManageTaxInclude)
|
||||||
|
.add(costOtherOtherTaxInclude);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostPurchaseDeviceTaxExclude() {
|
||||||
|
return costPurchaseDeviceTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseDeviceTaxExclude(BigDecimal costPurchaseDeviceTaxExclude) {
|
||||||
|
this.costPurchaseDeviceTaxExclude = costPurchaseDeviceTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostPurchaseBuildTaxExclude() {
|
||||||
|
return costPurchaseBuildTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseBuildTaxExclude(BigDecimal costPurchaseBuildTaxExclude) {
|
||||||
|
this.costPurchaseBuildTaxExclude = costPurchaseBuildTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostPurchaseServiceTaxExclude() {
|
||||||
|
return costPurchaseServiceTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseServiceTaxExclude(BigDecimal costPurchaseServiceTaxExclude) {
|
||||||
|
this.costPurchaseServiceTaxExclude = costPurchaseServiceTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostPurchaseOtherTaxExclude() {
|
||||||
|
return costPurchaseOtherTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostPurchaseOtherTaxExclude(BigDecimal costPurchaseOtherTaxExclude) {
|
||||||
|
this.costPurchaseOtherTaxExclude = costPurchaseOtherTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostProjectManageTaxExclude() {
|
||||||
|
return costProjectManageTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostProjectManageTaxExclude(BigDecimal costProjectManageTaxExclude) {
|
||||||
|
this.costProjectManageTaxExclude = costProjectManageTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostOtherOtherTaxExclude() {
|
||||||
|
return costOtherOtherTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostOtherOtherTaxExclude(BigDecimal costOtherOtherTaxExclude) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostExpropriationTaxExclude(BigDecimal costExpropriationTaxExclude) {
|
||||||
|
this.costExpropriationTaxExclude = costExpropriationTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostCompanyManageTaxExclude() {
|
||||||
|
return costCompanyManageTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostCompanyManageTaxExclude(BigDecimal costCompanyManageTaxExclude) {
|
||||||
|
this.costCompanyManageTaxExclude = costCompanyManageTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getProjectGrossProfit() {
|
||||||
|
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||||
|
BigDecimal costTotalTaxExclude = getCostTotalTaxExclude();
|
||||||
|
BigDecimal costExpropriationTaxExclude = getCostExpropriationTaxExclude();
|
||||||
|
if(null == incomeTotalTaxExclude || null == costTotalTaxExclude || null == costExpropriationTaxExclude){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return incomeTotalTaxExclude.subtract(costTotalTaxExclude).subtract(costExpropriationTaxExclude);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public BigDecimal getProjectGrossProfitRate() {
|
||||||
|
BigDecimal projectGrossProfit = getProjectGrossProfit();
|
||||||
|
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||||
|
if(null == projectGrossProfit || null == incomeTotalTaxExclude){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return projectGrossProfit.multiply(new BigDecimal(100)).divide(incomeTotalTaxExclude,2,BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getProjectContributionProfit() {
|
||||||
|
BigDecimal projectGrossProfit = getProjectGrossProfit();
|
||||||
|
BigDecimal costCompanyManageTaxExclude = getCostCompanyManageTaxExclude();
|
||||||
|
if(null == projectGrossProfit || null == costCompanyManageTaxExclude){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return projectGrossProfit.subtract(costCompanyManageTaxExclude);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getProjectContributionProfitRate() {
|
||||||
|
BigDecimal projectContributionProfit = getProjectContributionProfit();
|
||||||
|
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||||
|
if(null == projectContributionProfit || null == incomeTotalTaxExclude){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return projectContributionProfit.multiply(new BigDecimal(100)).divide(incomeTotalTaxExclude, 2,BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,10 +1,12 @@
|
||||||
package cn.palmte.work.controller.backend;
|
package cn.palmte.work.controller.backend;
|
||||||
|
|
||||||
import cn.palmte.work.bean.ApproveStatusEnum;
|
import cn.palmte.work.bean.ApproveStatusEnum;
|
||||||
|
import cn.palmte.work.bean.BudgetBean;
|
||||||
import cn.palmte.work.bean.EstimateBean;
|
import cn.palmte.work.bean.EstimateBean;
|
||||||
import cn.palmte.work.model.Dept;
|
import cn.palmte.work.model.Dept;
|
||||||
import cn.palmte.work.model.DeptRepository;
|
import cn.palmte.work.model.DeptRepository;
|
||||||
import cn.palmte.work.model.Project;
|
import cn.palmte.work.model.Project;
|
||||||
|
import cn.palmte.work.service.ProjectBudgetService;
|
||||||
import cn.palmte.work.service.ProjectEstimateService;
|
import cn.palmte.work.service.ProjectEstimateService;
|
||||||
import cn.palmte.work.service.ProjectService;
|
import cn.palmte.work.service.ProjectService;
|
||||||
import cn.palmte.work.utils.InterfaceUtil;
|
import cn.palmte.work.utils.InterfaceUtil;
|
||||||
|
@ -40,6 +42,8 @@ public class ProjectController extends BaseController{
|
||||||
private ProjectService projectService;
|
private ProjectService projectService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectEstimateService projectEstimateService;
|
private ProjectEstimateService projectEstimateService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectBudgetService projectBudgetService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目列表
|
* 项目列表
|
||||||
|
@ -136,8 +140,8 @@ public class ProjectController extends BaseController{
|
||||||
public String budget(@RequestParam("id") int id,Map<String, Object> model) {
|
public String budget(@RequestParam("id") int id,Map<String, Object> model) {
|
||||||
Project project = projectService.getProject(id);
|
Project project = projectService.getProject(id);
|
||||||
model.put("project", project);
|
model.put("project", project);
|
||||||
EstimateBean estimateBean = projectEstimateService.getEstimate(project);
|
BudgetBean budgetBean = projectBudgetService.getBudget(project);
|
||||||
model.put("budgetBean", estimateBean);
|
model.put("budgetBean", budgetBean);
|
||||||
return "admin/project_budget_edit";
|
return "admin/project_budget_edit";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
package cn.palmte.work.model;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.GenericGenerator;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目预算成本表
|
||||||
|
*/
|
||||||
|
@Entity
|
||||||
|
@Table(name = "project_budget_cost")
|
||||||
|
public class ProjectBudgetCost {
|
||||||
|
public static final int FEE_PURCHASE = 1;
|
||||||
|
public static final int FEE_PROJECT_MANAGE = 2;
|
||||||
|
public static final int FEE_OTHER = 3;
|
||||||
|
|
||||||
|
public static final int TYPE_DEVICE = 1;
|
||||||
|
public static final int TYPE_BUILDING = 2;
|
||||||
|
public static final int TYPE_SERVICE = 3;
|
||||||
|
public static final int TYPE_OTHER = 4;
|
||||||
|
public static final int TYPE_PROJECT_MANAGE = 5;
|
||||||
|
public static final int TYPE_OTHER_OTHER = 6;
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@GenericGenerator(name = "persistenceGenerator", strategy = "increment")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@Column(name = "project_id")
|
||||||
|
private int projectId;
|
||||||
|
|
||||||
|
private int fee;
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
@Column(name = "cost_tax_include")
|
||||||
|
private BigDecimal costTaxInclude;
|
||||||
|
@Column(name = "cost_tax_exclude")
|
||||||
|
private BigDecimal costTaxExclude;
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getProjectId() {
|
||||||
|
return projectId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectId(int projectId) {
|
||||||
|
this.projectId = projectId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(int type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getFee() {
|
||||||
|
return fee;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFee(int fee) {
|
||||||
|
this.fee = fee;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostTaxInclude() {
|
||||||
|
return costTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostTaxInclude(BigDecimal costTaxInclude) {
|
||||||
|
this.costTaxInclude = costTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostTaxExclude() {
|
||||||
|
return costTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostTaxExclude(BigDecimal costTaxExclude) {
|
||||||
|
this.costTaxExclude = costTaxExclude;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
package cn.palmte.work.model;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.GenericGenerator;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目预算管理成本表
|
||||||
|
*/
|
||||||
|
@Entity
|
||||||
|
@Table(name = "project_budget_cost_manage")
|
||||||
|
public class ProjectBudgetCostManage {
|
||||||
|
public static final int TYPE_EXPROPRIATION = 1;
|
||||||
|
public static final int TYPE_COMPANY_MANAGE = 2;
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@GenericGenerator(name = "persistenceGenerator", strategy = "increment")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@Column(name = "project_id")
|
||||||
|
private int projectId;
|
||||||
|
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
@Column(name = "cost_tax_exclude")
|
||||||
|
private BigDecimal costTaxExclude;
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getProjectId() {
|
||||||
|
return projectId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectId(int projectId) {
|
||||||
|
this.projectId = projectId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(int type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCostTaxExclude() {
|
||||||
|
return costTaxExclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCostTaxExclude(BigDecimal costTaxExclude) {
|
||||||
|
this.costTaxExclude = costTaxExclude;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
package cn.palmte.work.model;
|
||||||
|
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ProjectBudgetCostManageRepository extends JpaRepository<ProjectBudgetCostManage,Integer> {
|
||||||
|
List<ProjectBudgetCostManage> findAllByProjectIdEquals(int id);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
package cn.palmte.work.model;
|
||||||
|
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ProjectBudgetCostRepository extends JpaRepository<ProjectBudgetCost,Integer> {
|
||||||
|
List<ProjectBudgetCost> findAllByProjectIdEquals(int id);
|
||||||
|
}
|
|
@ -6,11 +6,15 @@ import javax.persistence.*;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目概算利润率
|
* 项目预算收入表
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "project_estimate_profit")
|
@Table(name = "project_budget_income")
|
||||||
public class ProjectEstimateProfit {
|
public class ProjectBudgetIncome {
|
||||||
|
public static final int TYPE_DEVICE = 1;
|
||||||
|
public static final int TYPE_ENGINEER = 2;
|
||||||
|
public static final int TYPE_SERVICE = 3;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* id
|
* id
|
||||||
*/
|
*/
|
||||||
|
@ -24,10 +28,10 @@ public class ProjectEstimateProfit {
|
||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
|
|
||||||
|
@Column(name = "income_tax_include")
|
||||||
|
private BigDecimal incomeTaxInclude;
|
||||||
@Column(name = "income_tax_exclude")
|
@Column(name = "income_tax_exclude")
|
||||||
private BigDecimal incomeTaxExclude;
|
private BigDecimal incomeTaxExclude;
|
||||||
@Column(name = "profit_rate")
|
|
||||||
private BigDecimal profitRate;
|
|
||||||
|
|
||||||
public Integer getId() {
|
public Integer getId() {
|
||||||
return id;
|
return id;
|
||||||
|
@ -53,6 +57,14 @@ public class ProjectEstimateProfit {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getIncomeTaxInclude() {
|
||||||
|
return incomeTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncomeTaxInclude(BigDecimal incomeTaxInclude) {
|
||||||
|
this.incomeTaxInclude = incomeTaxInclude;
|
||||||
|
}
|
||||||
|
|
||||||
public BigDecimal getIncomeTaxExclude() {
|
public BigDecimal getIncomeTaxExclude() {
|
||||||
return incomeTaxExclude;
|
return incomeTaxExclude;
|
||||||
}
|
}
|
||||||
|
@ -60,12 +72,4 @@ public class ProjectEstimateProfit {
|
||||||
public void setIncomeTaxExclude(BigDecimal incomeTaxExclude) {
|
public void setIncomeTaxExclude(BigDecimal incomeTaxExclude) {
|
||||||
this.incomeTaxExclude = incomeTaxExclude;
|
this.incomeTaxExclude = incomeTaxExclude;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getProfitRate() {
|
|
||||||
return profitRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProfitRate(BigDecimal profitRate) {
|
|
||||||
this.profitRate = profitRate;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
package cn.palmte.work.model;
|
||||||
|
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ProjectBudgetIncomeRepository extends JpaRepository<ProjectBudgetIncome,Integer> {
|
||||||
|
List<ProjectBudgetIncome> findAllByProjectIdEquals(int id);
|
||||||
|
}
|
|
@ -6,7 +6,7 @@ import javax.persistence.*;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目概算管理表
|
* 项目概算管理成本表
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "project_estimate_cost_manage")
|
@Table(name = "project_estimate_cost_manage")
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
package cn.palmte.work.model;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
|
|
||||||
public interface ProjectEstimateProfitRepository extends JpaRepository<ProjectEstimateProfit,Integer> {
|
|
||||||
}
|
|
|
@ -0,0 +1,197 @@
|
||||||
|
package cn.palmte.work.service;
|
||||||
|
|
||||||
|
import cn.palmte.work.bean.BudgetBean;
|
||||||
|
import cn.palmte.work.model.*;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import top.jfunc.common.utils.CollectionUtil;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目预算service
|
||||||
|
* @author xiongshiyan at 2021/10/29 , contact me with email yanshixiong@126.com or phone 15208384257
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ProjectBudgetService {
|
||||||
|
@Autowired
|
||||||
|
private ProjectBudgetIncomeRepository projectBudgetIncomeRepository;
|
||||||
|
@Autowired
|
||||||
|
private ProjectBudgetCostRepository projectBudgetCostRepository;
|
||||||
|
@Autowired
|
||||||
|
private ProjectBudgetCostManageRepository projectBudgetCostManageRepository;
|
||||||
|
|
||||||
|
|
||||||
|
public void clearBudget(Project project){
|
||||||
|
List<ProjectBudgetIncome> incomes = projectBudgetIncomeRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
if(CollectionUtil.isNotEmpty(incomes)){
|
||||||
|
projectBudgetIncomeRepository.deleteInBatch(incomes);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ProjectBudgetCost> costs = projectBudgetCostRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
if(CollectionUtil.isNotEmpty(costs)){
|
||||||
|
projectBudgetCostRepository.deleteInBatch(costs);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ProjectBudgetCostManage> costManages = projectBudgetCostManageRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
if(CollectionUtil.isNotEmpty(costManages)){
|
||||||
|
projectBudgetCostManageRepository.deleteInBatch(costManages);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveBudget(Project project, BudgetBean budgetBean){
|
||||||
|
//收入记录
|
||||||
|
income(project, budgetBean);
|
||||||
|
//成本记录
|
||||||
|
cost(project, budgetBean);
|
||||||
|
//管理记录
|
||||||
|
costManage(project, budgetBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cost(Project project, BudgetBean budgetBean) {
|
||||||
|
ProjectBudgetCost projectBudgetCostDevice = new ProjectBudgetCost();
|
||||||
|
projectBudgetCostDevice.setProjectId(project.getId());
|
||||||
|
projectBudgetCostDevice.setFee(ProjectBudgetCost.FEE_PURCHASE);
|
||||||
|
projectBudgetCostDevice.setType(ProjectBudgetCost.TYPE_DEVICE);
|
||||||
|
projectBudgetCostDevice.setCostTaxInclude(budgetBean.getCostPurchaseDeviceTaxInclude());
|
||||||
|
projectBudgetCostDevice.setCostTaxExclude(budgetBean.getCostPurchaseDeviceTaxExclude());
|
||||||
|
projectBudgetCostRepository.saveAndFlush(projectBudgetCostDevice);
|
||||||
|
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostBuild = new ProjectBudgetCost();
|
||||||
|
projectBudgetCostBuild.setProjectId(project.getId());
|
||||||
|
projectBudgetCostBuild.setFee(ProjectBudgetCost.FEE_PURCHASE);
|
||||||
|
projectBudgetCostBuild.setType(ProjectBudgetCost.TYPE_BUILDING);
|
||||||
|
projectBudgetCostBuild.setCostTaxInclude(budgetBean.getCostPurchaseBuildTaxInclude());
|
||||||
|
projectBudgetCostBuild.setCostTaxExclude(budgetBean.getCostPurchaseBuildTaxExclude());
|
||||||
|
projectBudgetCostRepository.saveAndFlush(projectBudgetCostBuild);
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostService = new ProjectBudgetCost();
|
||||||
|
projectBudgetCostService.setProjectId(project.getId());
|
||||||
|
projectBudgetCostService.setFee(ProjectBudgetCost.FEE_PURCHASE);
|
||||||
|
projectBudgetCostService.setType(ProjectBudgetCost.TYPE_SERVICE);
|
||||||
|
projectBudgetCostService.setCostTaxInclude(budgetBean.getCostPurchaseServiceTaxInclude());
|
||||||
|
projectBudgetCostService.setCostTaxExclude(budgetBean.getCostPurchaseServiceTaxExclude());
|
||||||
|
projectBudgetCostRepository.saveAndFlush(projectBudgetCostService);
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostOther = new ProjectBudgetCost();
|
||||||
|
projectBudgetCostOther.setProjectId(project.getId());
|
||||||
|
projectBudgetCostOther.setFee(ProjectBudgetCost.FEE_PURCHASE);
|
||||||
|
projectBudgetCostOther.setType(ProjectBudgetCost.TYPE_OTHER);
|
||||||
|
projectBudgetCostOther.setCostTaxInclude(budgetBean.getCostPurchaseOtherTaxInclude());
|
||||||
|
projectBudgetCostOther.setCostTaxExclude(budgetBean.getCostPurchaseOtherTaxExclude());
|
||||||
|
projectBudgetCostRepository.saveAndFlush(projectBudgetCostOther);
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostProject = new ProjectBudgetCost();
|
||||||
|
projectBudgetCostProject.setProjectId(project.getId());
|
||||||
|
projectBudgetCostProject.setFee(ProjectBudgetCost.FEE_PROJECT_MANAGE);
|
||||||
|
projectBudgetCostProject.setType(ProjectBudgetCost.TYPE_PROJECT_MANAGE);
|
||||||
|
projectBudgetCostProject.setCostTaxInclude(budgetBean.getCostProjectManageTaxInclude());
|
||||||
|
projectBudgetCostProject.setCostTaxExclude(budgetBean.getCostProjectManageTaxExclude());
|
||||||
|
projectBudgetCostRepository.saveAndFlush(projectBudgetCostProject);
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostOtherOther = new ProjectBudgetCost();
|
||||||
|
projectBudgetCostOtherOther.setProjectId(project.getId());
|
||||||
|
projectBudgetCostOtherOther.setFee(ProjectBudgetCost.FEE_OTHER);
|
||||||
|
projectBudgetCostOtherOther.setType(ProjectBudgetCost.TYPE_OTHER_OTHER);
|
||||||
|
projectBudgetCostOtherOther.setCostTaxInclude(budgetBean.getCostOtherOtherTaxInclude());
|
||||||
|
projectBudgetCostOtherOther.setCostTaxExclude(budgetBean.getCostOtherOtherTaxExclude());
|
||||||
|
projectBudgetCostRepository.saveAndFlush(projectBudgetCostOtherOther);
|
||||||
|
|
||||||
|
}
|
||||||
|
private void costManage(Project project, BudgetBean budgetBean) {
|
||||||
|
ProjectBudgetCostManage projectBudgetCostZijin = new ProjectBudgetCostManage();
|
||||||
|
projectBudgetCostZijin.setProjectId(project.getId());
|
||||||
|
projectBudgetCostZijin.setType(ProjectBudgetCostManage.TYPE_EXPROPRIATION);
|
||||||
|
projectBudgetCostZijin.setCostTaxExclude(budgetBean.getCostExpropriationTaxExclude());
|
||||||
|
projectBudgetCostManageRepository.saveAndFlush(projectBudgetCostZijin);
|
||||||
|
|
||||||
|
ProjectBudgetCostManage projectBudgetCostManage = new ProjectBudgetCostManage();
|
||||||
|
projectBudgetCostManage.setProjectId(project.getId());
|
||||||
|
projectBudgetCostManage.setType(ProjectBudgetCostManage.TYPE_COMPANY_MANAGE);
|
||||||
|
projectBudgetCostManage.setCostTaxExclude(budgetBean.getCostCompanyManageTaxExclude());
|
||||||
|
projectBudgetCostManageRepository.saveAndFlush(projectBudgetCostManage);
|
||||||
|
}
|
||||||
|
private void income(Project project, BudgetBean budgetBean) {
|
||||||
|
ProjectBudgetIncome projectBudgetIncomeDevice = new ProjectBudgetIncome();
|
||||||
|
projectBudgetIncomeDevice.setProjectId(project.getId());
|
||||||
|
projectBudgetIncomeDevice.setType(ProjectBudgetIncome.TYPE_DEVICE);
|
||||||
|
projectBudgetIncomeDevice.setIncomeTaxInclude(budgetBean.getIncomeDeviceTaxInclude());
|
||||||
|
projectBudgetIncomeDevice.setIncomeTaxExclude(budgetBean.getIncomeDeviceTaxExclude());
|
||||||
|
projectBudgetIncomeRepository.saveAndFlush(projectBudgetIncomeDevice);
|
||||||
|
|
||||||
|
ProjectBudgetIncome projectBudgetIncomeEngineer = new ProjectBudgetIncome();
|
||||||
|
projectBudgetIncomeEngineer.setProjectId(project.getId());
|
||||||
|
projectBudgetIncomeEngineer.setType(ProjectBudgetIncome.TYPE_ENGINEER);
|
||||||
|
projectBudgetIncomeEngineer.setIncomeTaxInclude(budgetBean.getIncomeEngineerTaxInclude());
|
||||||
|
projectBudgetIncomeEngineer.setIncomeTaxExclude(budgetBean.getIncomeEngineerTaxExclude());
|
||||||
|
projectBudgetIncomeRepository.saveAndFlush(projectBudgetIncomeEngineer);
|
||||||
|
|
||||||
|
ProjectBudgetIncome projectBudgetIncomeService = new ProjectBudgetIncome();
|
||||||
|
projectBudgetIncomeService.setProjectId(project.getId());
|
||||||
|
projectBudgetIncomeService.setType(ProjectBudgetIncome.TYPE_SERVICE);
|
||||||
|
projectBudgetIncomeService.setIncomeTaxInclude(budgetBean.getIncomeServiceTaxInclude());
|
||||||
|
projectBudgetIncomeService.setIncomeTaxExclude(budgetBean.getIncomeServiceTaxExclude());
|
||||||
|
projectBudgetIncomeRepository.saveAndFlush(projectBudgetIncomeService);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public BudgetBean getBudget(Project project) {
|
||||||
|
BudgetBean budgetBean = new BudgetBean();
|
||||||
|
|
||||||
|
List<ProjectBudgetIncome> incomes = projectBudgetIncomeRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
|
||||||
|
List<ProjectBudgetIncome> collect = incomes.stream().filter(d -> d.getType() == ProjectBudgetIncome.TYPE_DEVICE).collect(Collectors.toList());
|
||||||
|
if(CollectionUtil.isEmpty(collect)){
|
||||||
|
//要么全部,要么没有
|
||||||
|
return budgetBean;
|
||||||
|
}
|
||||||
|
ProjectBudgetIncome projectBudgetIncomeDevice = collect.get(0);
|
||||||
|
budgetBean.setIncomeDeviceTaxInclude(projectBudgetIncomeDevice.getIncomeTaxInclude());
|
||||||
|
budgetBean.setIncomeDeviceTaxExclude(projectBudgetIncomeDevice.getIncomeTaxExclude());
|
||||||
|
|
||||||
|
ProjectBudgetIncome projectBudgetIncomeEngineer = incomes.stream().filter(d -> d.getType() == ProjectBudgetIncome.TYPE_ENGINEER).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setIncomeEngineerTaxInclude(projectBudgetIncomeEngineer.getIncomeTaxInclude());
|
||||||
|
budgetBean.setIncomeEngineerTaxExclude(projectBudgetIncomeEngineer.getIncomeTaxExclude());
|
||||||
|
|
||||||
|
ProjectBudgetIncome projectBudgetIncomeService = incomes.stream().filter(d -> d.getType() == ProjectBudgetIncome.TYPE_SERVICE).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setIncomeServiceTaxInclude(projectBudgetIncomeService.getIncomeTaxInclude());
|
||||||
|
budgetBean.setIncomeServiceTaxExclude(projectBudgetIncomeService.getIncomeTaxExclude());
|
||||||
|
|
||||||
|
List<ProjectBudgetCost> costs = projectBudgetCostRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostDevice = costs.stream().filter(d -> d.getType() == ProjectBudgetCost.TYPE_DEVICE).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostPurchaseDeviceTaxInclude(projectBudgetCostDevice.getCostTaxInclude());
|
||||||
|
budgetBean.setCostPurchaseDeviceTaxExclude(projectBudgetCostDevice.getCostTaxExclude());
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostBuild = costs.stream().filter(d -> d.getType() == ProjectBudgetCost.TYPE_BUILDING).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostPurchaseBuildTaxInclude(projectBudgetCostBuild.getCostTaxInclude());
|
||||||
|
budgetBean.setCostPurchaseBuildTaxExclude(projectBudgetCostBuild.getCostTaxExclude());
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostService = costs.stream().filter(d -> d.getType() == ProjectBudgetCost.TYPE_SERVICE).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostPurchaseServiceTaxInclude(projectBudgetCostService.getCostTaxInclude());
|
||||||
|
budgetBean.setCostPurchaseServiceTaxExclude(projectBudgetCostService.getCostTaxExclude());
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostOther = costs.stream().filter(d -> d.getType() == ProjectBudgetCost.TYPE_OTHER).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostPurchaseOtherTaxInclude(projectBudgetCostOther.getCostTaxInclude());
|
||||||
|
budgetBean.setCostPurchaseOtherTaxExclude(projectBudgetCostOther.getCostTaxExclude());
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostProjectManage = costs.stream().filter(d -> d.getType() == ProjectBudgetCost.TYPE_PROJECT_MANAGE).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostProjectManageTaxInclude(projectBudgetCostProjectManage.getCostTaxInclude());
|
||||||
|
budgetBean.setCostProjectManageTaxExclude(projectBudgetCostProjectManage.getCostTaxExclude());
|
||||||
|
|
||||||
|
ProjectBudgetCost projectBudgetCostOtherOther = costs.stream().filter(d -> d.getType() == ProjectBudgetCost.TYPE_OTHER_OTHER).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostOtherOtherTaxInclude(projectBudgetCostOtherOther.getCostTaxInclude());
|
||||||
|
budgetBean.setCostOtherOtherTaxExclude(projectBudgetCostOtherOther.getCostTaxExclude());
|
||||||
|
|
||||||
|
List<ProjectBudgetCostManage> manages = projectBudgetCostManageRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
ProjectBudgetCostManage costManageExpropriation = manages.stream().filter(d -> d.getType() == ProjectBudgetCostManage.TYPE_EXPROPRIATION).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostExpropriationTaxExclude(costManageExpropriation.getCostTaxExclude());
|
||||||
|
ProjectBudgetCostManage costManageCompany = manages.stream().filter(d -> d.getType() == ProjectBudgetCostManage.TYPE_COMPANY_MANAGE).collect(Collectors.toList()).get(0);
|
||||||
|
budgetBean.setCostCompanyManageTaxExclude(costManageCompany.getCostTaxExclude());
|
||||||
|
|
||||||
|
return budgetBean;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue