预算表基本展示

master
xxssyyyyssxx 2021-11-02 15:51:52 +08:00
parent 8e7c85d75e
commit 9294265d82
13 changed files with 687 additions and 256 deletions

View File

@ -1,8 +1,8 @@
package cn.palmte.work.bean;
/**
* @see EstimateBean
*
* @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{
}

View File

@ -1,238 +1,8 @@
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 EstimateBean {
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);
}
public class EstimateBean extends IncomeCostBean{
}

View File

@ -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);
}
}

View File

@ -1,10 +1,12 @@
package cn.palmte.work.controller.backend;
import cn.palmte.work.bean.ApproveStatusEnum;
import cn.palmte.work.bean.BudgetBean;
import cn.palmte.work.bean.EstimateBean;
import cn.palmte.work.model.Dept;
import cn.palmte.work.model.DeptRepository;
import cn.palmte.work.model.Project;
import cn.palmte.work.service.ProjectBudgetService;
import cn.palmte.work.service.ProjectEstimateService;
import cn.palmte.work.service.ProjectService;
import cn.palmte.work.utils.InterfaceUtil;
@ -40,6 +42,8 @@ public class ProjectController extends BaseController{
private ProjectService projectService;
@Autowired
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) {
Project project = projectService.getProject(id);
model.put("project", project);
EstimateBean estimateBean = projectEstimateService.getEstimate(project);
model.put("budgetBean", estimateBean);
BudgetBean budgetBean = projectBudgetService.getBudget(project);
model.put("budgetBean", budgetBean);
return "admin/project_budget_edit";
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -6,11 +6,15 @@ import javax.persistence.*;
import java.math.BigDecimal;
/**
*
*
*/
@Entity
@Table(name = "project_estimate_profit")
public class ProjectEstimateProfit {
@Table(name = "project_budget_income")
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
*/
@ -24,10 +28,10 @@ public class ProjectEstimateProfit {
private int type;
@Column(name = "income_tax_include")
private BigDecimal incomeTaxInclude;
@Column(name = "income_tax_exclude")
private BigDecimal incomeTaxExclude;
@Column(name = "profit_rate")
private BigDecimal profitRate;
public Integer getId() {
return id;
@ -53,6 +57,14 @@ public class ProjectEstimateProfit {
this.type = type;
}
public BigDecimal getIncomeTaxInclude() {
return incomeTaxInclude;
}
public void setIncomeTaxInclude(BigDecimal incomeTaxInclude) {
this.incomeTaxInclude = incomeTaxInclude;
}
public BigDecimal getIncomeTaxExclude() {
return incomeTaxExclude;
}
@ -60,12 +72,4 @@ public class ProjectEstimateProfit {
public void setIncomeTaxExclude(BigDecimal incomeTaxExclude) {
this.incomeTaxExclude = incomeTaxExclude;
}
public BigDecimal getProfitRate() {
return profitRate;
}
public void setProfitRate(BigDecimal profitRate) {
this.profitRate = profitRate;
}
}

View File

@ -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);
}

View File

@ -6,7 +6,7 @@ import javax.persistence.*;
import java.math.BigDecimal;
/**
*
*
*/
@Entity
@Table(name = "project_estimate_cost_manage")

View File

@ -1,6 +0,0 @@
package cn.palmte.work.model;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProjectEstimateProfitRepository extends JpaRepository<ProjectEstimateProfit,Integer> {
}

View File

@ -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;
}
}