增加project_extend表

master
OathK1per 2022-11-11 00:16:35 +08:00
parent be1f0f9719
commit dadf794e32
3 changed files with 47 additions and 6 deletions

View File

@ -902,8 +902,8 @@ public class ProjectBudgetService {
*
*/
@Transactional(rollbackFor = RuntimeException.class)
public Project budgetEditSave(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
Project p = projectService.estimateEditProject(project, projectInDb);
public Project budgetEditSave(Project project, Project p, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
// Project p = projectService.estimateEditProject(project, projectInDb);
p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus());
p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc());
p.setApproveStatusBudget(approveStatusEnum.getApproveStatus());
@ -935,7 +935,25 @@ public class ProjectBudgetService {
extend.setGrossProfit(budgetBean.getProjectGrossProfit());
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) {

View File

@ -1,9 +1,6 @@
package cn.palmte.work.service;
import cn.palmte.work.bean.ApproveStatusEnum;
import cn.palmte.work.bean.EstimateBean;
import cn.palmte.work.bean.ProjectConfigBean;
import cn.palmte.work.bean.StatusEnum;
import cn.palmte.work.bean.*;
import cn.palmte.work.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -42,6 +39,8 @@ public class ProjectEstimateService {
private Pagination pagination;
@Autowired
private ProjectVisibleRepository projectVisibleRepository;
@Autowired
private ProjectExtendRepository projectExtendRepository;
public void clearEstimate(Project project){
List<ProjectEstimateIncome> incomes = projectEstimateIncomeRepository.findAllByProjectIdEquals(project.getId());
@ -278,6 +277,7 @@ public class ProjectEstimateService {
Project p = projectService.addProject(project, admin, approveStatusEnum);
saveEstimate(p, estimateBean);
saveProjectExtend(p);
return p;
}
/**
@ -340,6 +340,29 @@ public class ProjectEstimateService {
//清空重新保存概算信息
clearEstimate(p);
saveEstimate(p, estimateBean);
saveProjectExtend(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