增加project_extend表
parent
be1f0f9719
commit
dadf794e32
|
@ -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) {
|
||||
|
|
|
@ -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 |
Loading…
Reference in New Issue