|
@@ -133,6 +133,7 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
ControlProjectInfo projectInfo = projectInfoService.getById(id);
|
|
|
ProjectCostBudgetVO vo = new ProjectCostBudgetVO();
|
|
|
vo.setProjectName(projectInfo.getName());
|
|
|
+ vo.setProjectId(id);
|
|
|
//获取项目下所有已审批的计划
|
|
|
List<ProjectCostBudgetVO2> list = baseMapper.getApprovePlan(id);
|
|
|
//获取项目下所有的子计划
|
|
@@ -173,8 +174,48 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
* 编辑项目计划
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void updatePlan(ProjectCostBudgetVO vo) {
|
|
|
-
|
|
|
+ //把3个单位合成一个
|
|
|
+ List<ProjectCostBudgetVO2> list = new ArrayList<>();
|
|
|
+ Map<Integer, List<ProjectCostBudgetVO2>> buildUnit = vo.getBuildUnit();
|
|
|
+ Map<Integer, List<ProjectCostBudgetVO2>> supervisorUnit = vo.getSupervisorUnit();
|
|
|
+ Map<Integer, List<ProjectCostBudgetVO2>> constructUnit = vo.getConstructUnit();
|
|
|
+ for (int i = 1; i <= 6; i++) {
|
|
|
+ if (buildUnit != null && buildUnit.get(i) != null) {
|
|
|
+ list.addAll(buildUnit.get(i));
|
|
|
+ }
|
|
|
+ if (supervisorUnit != null && supervisorUnit.get(i) != null) {
|
|
|
+ list.addAll(supervisorUnit.get(i));
|
|
|
+ }
|
|
|
+ if (constructUnit != null && constructUnit.get(i) != null) {
|
|
|
+ list.addAll(constructUnit.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<ProjectCostBudget> childrenList = new ArrayList<>();
|
|
|
+ List<ProjectCostBudget> parentList = new ArrayList<>();
|
|
|
+ //把所有子计划分离出来,并且设置父类id
|
|
|
+ for (ProjectCostBudgetVO2 vo2 : list) {
|
|
|
+ List<ProjectCostBudget> vo2ChildrenList = vo2.getChildrenList();
|
|
|
+ if (vo2ChildrenList != null && vo2ChildrenList.size() > 0){
|
|
|
+ //有子计划
|
|
|
+ for (ProjectCostBudget budget : vo2ChildrenList) {
|
|
|
+ budget.setProjectId(vo.getProjectId());
|
|
|
+ budget.setParentId(vo2.getId());
|
|
|
+ }
|
|
|
+ childrenList.addAll(vo2ChildrenList);
|
|
|
+ }
|
|
|
+ //无子计划
|
|
|
+ ProjectCostBudget budget = new ProjectCostBudget();
|
|
|
+ BeanUtils.copyProperties(vo2,budget);
|
|
|
+ parentList.add(budget);
|
|
|
+ }
|
|
|
+ //删除没有指定任务人的子计划, 暂时全部删除
|
|
|
+ baseMapper.removeChildrenPlan(vo.getProjectId());
|
|
|
+ //新增或修改子计划
|
|
|
+ this.saveOrUpdateBatch(childrenList);
|
|
|
+ //修改项目计划
|
|
|
+ this.updateBatchById(parentList);
|
|
|
}
|
|
|
|
|
|
/**
|