diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index 927b480..ac551e4 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -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 projectBudgetIncomeDetails = projectBudgetIncomeDetailRepository.findAllByProjectIdEquals(p.getId()); + BigDecimal contractAmount = projectBudgetIncomeDetails.stream().map(ProjectBudgetIncomeDetail::getTotalTaxInclude).reduce(new BigDecimal(0), BigDecimal::add); + extend.setContractAmount(contractAmount); + List 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) { diff --git a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java index f8f359a..2c5e13c 100644 --- a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java +++ b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java @@ -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 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); + } + + } } diff --git a/src/main/resources/static/img/logo2.png b/src/main/resources/static/img/logo2.png new file mode 100644 index 0000000..c794266 Binary files /dev/null and b/src/main/resources/static/img/logo2.png differ