diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index cd7eb95..2180b41 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -4,9 +4,9 @@ import cn.palmte.work.bean.*; import cn.palmte.work.config.activiti.ActProcessKeyEnum; import cn.palmte.work.model.*; import cn.palmte.work.utils.DateKit; -import org.apache.commons.beanutils.BeanUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -935,13 +935,7 @@ public class ProjectBudgetService { private void saveProjectBudget(Project p, ProjectBudget budget) { ProjectBudget projectBudget = projectBudgetRepository.findFirstByProjectId(p.getId()); - try { - BeanUtils.copyProperties(projectBudget, budget); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } + BeanUtils.copyProperties(budget, projectBudget, "id"); projectBudget.setTypeDescBudget(TypeEnum.parseType(projectBudget.getTypeBudget()).getTypeDesc()); projectBudget.setUnderwrittenModeStrBudget(UnderwrittenModeEnum.parseUnderwrittenMode(projectBudget.getUnderwrittenModeBudget()).getUnderwrittenModeStr()); diff --git a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java index 60a9ffc..49aaf63 100644 --- a/src/main/java/cn/palmte/work/service/ProjectEstimateService.java +++ b/src/main/java/cn/palmte/work/service/ProjectEstimateService.java @@ -304,11 +304,19 @@ public class ProjectEstimateService { } private void projectBudgetSave(Project estimateProject) { - ProjectBudget projectBudget = new ProjectBudget(); if (projectBudgetRepository.findFirstByProjectId(estimateProject.getId()) != null) { - projectBudget = projectBudgetRepository.findFirstByProjectId(estimateProject.getId()); + ProjectBudget projectBudget = projectBudgetRepository.findFirstByProjectId(estimateProject.getId()); + projectBudget = copyProjectBudget(estimateProject, projectBudget); + projectBudgetRepository.saveAndFlush(projectBudget); + return; } + ProjectBudget projectBudget = new ProjectBudget(); projectBudget.setProjectId(estimateProject.getId()); + projectBudget = copyProjectBudget(estimateProject, projectBudget); + projectBudgetRepository.saveAndFlush(projectBudget); + } + + public ProjectBudget copyProjectBudget(Project estimateProject, ProjectBudget projectBudget) { projectBudget.setProjectNoBudget(estimateProject.getProjectNo()); projectBudget.setNameBudget(estimateProject.getName()); projectBudget.setTypeBudget(estimateProject.getType()); @@ -351,8 +359,7 @@ public class ProjectEstimateService { projectBudget.setResolvePlanStrBudget(estimateProject.getResolvePlanStr()); projectBudget.setMainContractResolvePlanBudget(estimateProject.getMainContractResolvePlan()); projectBudget.setCalculationCollectionBudget(estimateProject.getCalculationCollection()); - - projectBudgetRepository.save(projectBudget); + return projectBudget; } public void estimateApprove(Integer approveStatusEstimate, Project projectInDb, Admin admin) throws Exception {