增加project_extend表
parent
be1f0f9719
commit
dadf794e32
|
@ -902,8 +902,8 @@ public class ProjectBudgetService {
|
||||||
* 编辑预算保存项目
|
* 编辑预算保存项目
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = RuntimeException.class)
|
@Transactional(rollbackFor = RuntimeException.class)
|
||||||
public Project budgetEditSave(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
public Project budgetEditSave(Project project, Project p, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
||||||
Project p = projectService.estimateEditProject(project, projectInDb);
|
// Project p = projectService.estimateEditProject(project, projectInDb);
|
||||||
p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus());
|
p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus());
|
||||||
p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc());
|
p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc());
|
||||||
p.setApproveStatusBudget(approveStatusEnum.getApproveStatus());
|
p.setApproveStatusBudget(approveStatusEnum.getApproveStatus());
|
||||||
|
@ -935,7 +935,25 @@ public class ProjectBudgetService {
|
||||||
extend.setGrossProfit(budgetBean.getProjectGrossProfit());
|
extend.setGrossProfit(budgetBean.getProjectGrossProfit());
|
||||||
extend.setGrossProfitMargin(budgetBean.getProjectGrossProfitRate());
|
extend.setGrossProfitMargin(budgetBean.getProjectGrossProfitRate());
|
||||||
|
|
||||||
|
List<ProjectBudgetIncomeDetail> projectBudgetIncomeDetails = projectBudgetIncomeDetailRepository.findAllByProjectIdEquals(p.getId());
|
||||||
|
BigDecimal contractAmount = projectBudgetIncomeDetails.stream().map(ProjectBudgetIncomeDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add);
|
||||||
|
extend.setContractAmount(contractAmount);
|
||||||
|
|
||||||
|
List<ProjectBudgetCostDetail> projectBudgetCostDetails = projectBudgetCostDetailRepository.findAllByProjectIdEquals(p.getId());
|
||||||
|
|
||||||
|
ProcurementType huizhiType = procurementTypeRepository.findByName("汇智产品");
|
||||||
|
BigDecimal huizhi = projectBudgetCostDetails.stream().filter(a -> a.getCategory() == huizhiType.getId()).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add);
|
||||||
|
extend.setHuizhiProductAmount(huizhi);
|
||||||
|
ProcurementType huazhiType = procurementTypeRepository.findByName("华智产品");
|
||||||
|
BigDecimal huazhi = projectBudgetCostDetails.stream().filter(a -> a.getCategory() == huazhiType.getId()).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add);
|
||||||
|
extend.setHuazhiProductAmount(huazhi);
|
||||||
|
ProcurementType huasanType = procurementTypeRepository.findByName("华三产品");
|
||||||
|
BigDecimal huasan = projectBudgetCostDetails.stream().filter(a -> a.getCategory() == huasanType.getId()).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add);
|
||||||
|
extend.setHuasanProductAmount(huasan);
|
||||||
|
BigDecimal other = projectBudgetCostDetails.stream().filter(a -> a.getCategory() != huizhiType.getId() && a.getCategory() != huazhiType.getId() && a.getCategory() != huasanType.getId()).map(ProjectBudgetCostDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add);
|
||||||
|
extend.setZiguangOtherAmount(other);
|
||||||
|
|
||||||
|
projectExtendRepository.save(extend);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveBudgetDetail(Project p) {
|
private void saveBudgetDetail(Project p) {
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
package cn.palmte.work.service;
|
package cn.palmte.work.service;
|
||||||
|
|
||||||
import cn.palmte.work.bean.ApproveStatusEnum;
|
import cn.palmte.work.bean.*;
|
||||||
import cn.palmte.work.bean.EstimateBean;
|
|
||||||
import cn.palmte.work.bean.ProjectConfigBean;
|
|
||||||
import cn.palmte.work.bean.StatusEnum;
|
|
||||||
import cn.palmte.work.model.*;
|
import cn.palmte.work.model.*;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -42,6 +39,8 @@ public class ProjectEstimateService {
|
||||||
private Pagination pagination;
|
private Pagination pagination;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectVisibleRepository projectVisibleRepository;
|
private ProjectVisibleRepository projectVisibleRepository;
|
||||||
|
@Autowired
|
||||||
|
private ProjectExtendRepository projectExtendRepository;
|
||||||
|
|
||||||
public void clearEstimate(Project project){
|
public void clearEstimate(Project project){
|
||||||
List<ProjectEstimateIncome> incomes = projectEstimateIncomeRepository.findAllByProjectIdEquals(project.getId());
|
List<ProjectEstimateIncome> incomes = projectEstimateIncomeRepository.findAllByProjectIdEquals(project.getId());
|
||||||
|
@ -278,6 +277,7 @@ public class ProjectEstimateService {
|
||||||
Project p = projectService.addProject(project, admin, approveStatusEnum);
|
Project p = projectService.addProject(project, admin, approveStatusEnum);
|
||||||
saveEstimate(p, estimateBean);
|
saveEstimate(p, estimateBean);
|
||||||
|
|
||||||
|
saveProjectExtend(p);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -340,6 +340,29 @@ public class ProjectEstimateService {
|
||||||
//清空重新保存概算信息
|
//清空重新保存概算信息
|
||||||
clearEstimate(p);
|
clearEstimate(p);
|
||||||
saveEstimate(p, estimateBean);
|
saveEstimate(p, estimateBean);
|
||||||
|
|
||||||
|
saveProjectExtend(p);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void saveProjectExtend(Project p) {
|
||||||
|
ProjectExtend extend = projectExtendRepository.findByProjectId(p.getId());
|
||||||
|
if (extend == null) {
|
||||||
|
extend = new ProjectExtend();
|
||||||
|
extend.setProjectId(p.getId());
|
||||||
|
extend.setIsBudget(0);
|
||||||
|
extend.setAdvanceInterestAmount(new BigDecimal(0));
|
||||||
|
extend.setAdvancePeakAmount(new BigDecimal(0));
|
||||||
|
extend.setGrossProfit(new BigDecimal(0));
|
||||||
|
extend.setGrossProfitMargin(new BigDecimal(0));
|
||||||
|
extend.setContractAmount(new BigDecimal(0));
|
||||||
|
extend.setHuizhiProductAmount(new BigDecimal(0));
|
||||||
|
extend.setHuazhiProductAmount(new BigDecimal(0));
|
||||||
|
extend.setHuasanProductAmount(new BigDecimal(0));
|
||||||
|
extend.setZiguangOtherAmount(new BigDecimal(0));
|
||||||
|
|
||||||
|
projectExtendRepository.save(extend);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
Loading…
Reference in New Issue