|
@@ -200,6 +200,8 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
}
|
|
}
|
|
//如果子计划,把子计划插入计划里
|
|
//如果子计划,把子计划插入计划里
|
|
if (key.contains(vo2.getId())) {
|
|
if (key.contains(vo2.getId())) {
|
|
|
|
+ //如果计划的status为1,2,3,或者计划有子计划,则不能编辑
|
|
|
|
+ vo2.setIsShowEdit(0);
|
|
//如果计划已经完成,则不计算超时
|
|
//如果计划已经完成,则不计算超时
|
|
if (vo2.getTaskFinishedStatus() == null) {
|
|
if (vo2.getTaskFinishedStatus() == null) {
|
|
//有子计划,判断子计划加起来是否超过预算天数
|
|
//有子计划,判断子计划加起来是否超过预算天数
|
|
@@ -216,6 +218,12 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
}
|
|
}
|
|
vo2.setChildrenList(listMap.get(vo2.getId()));
|
|
vo2.setChildrenList(listMap.get(vo2.getId()));
|
|
}else {
|
|
}else {
|
|
|
|
+ //如果计划的status为1,2,3,或者计划有子计划,则不能编辑
|
|
|
|
+ if (vo2.getStatus() == 1){
|
|
|
|
+ vo2.setIsShowEdit(1);
|
|
|
|
+ }else {
|
|
|
|
+ vo2.setIsShowEdit(0);
|
|
|
|
+ }
|
|
//没有子计划,则计划父计划的时间是否超时
|
|
//没有子计划,则计划父计划的时间是否超时
|
|
if (vo2.getTaskFinishedStatus() == null && vo2.getPlanDays() != null){
|
|
if (vo2.getTaskFinishedStatus() == null && vo2.getPlanDays() != null){
|
|
if (vo2.getPlanDays().compareTo(vo2.getBudgetDays()) == 1) {
|
|
if (vo2.getPlanDays().compareTo(vo2.getBudgetDays()) == 1) {
|
|
@@ -253,6 +261,8 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
public void updatePlan(ProjectCostBudgetVO vo) {
|
|
public void updatePlan(ProjectCostBudgetVO vo) {
|
|
|
|
+ //获取数据库中原来的计划
|
|
|
|
+
|
|
//把3个单位合成一个
|
|
//把3个单位合成一个
|
|
List<ProjectCostBudgetVO2> list = new ArrayList<>();
|
|
List<ProjectCostBudgetVO2> list = new ArrayList<>();
|
|
Map<Integer, List<ProjectCostBudgetVO2>> buildUnit = vo.getBuildUnit();
|
|
Map<Integer, List<ProjectCostBudgetVO2>> buildUnit = vo.getBuildUnit();
|
|
@@ -275,20 +285,28 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
for (ProjectCostBudgetVO2 vo2 : list) {
|
|
for (ProjectCostBudgetVO2 vo2 : list) {
|
|
List<ProjectCostBudgetVO2> vo2ChildrenList = vo2.getChildrenList();
|
|
List<ProjectCostBudgetVO2> vo2ChildrenList = vo2.getChildrenList();
|
|
if (vo2ChildrenList != null && vo2ChildrenList.size() > 0){
|
|
if (vo2ChildrenList != null && vo2ChildrenList.size() > 0){
|
|
- //有子计划
|
|
|
|
|
|
+ //有子计划,则判断父计划是否也设置了计划日期
|
|
|
|
+ //查询出数据库里当前项目所以的父计划,还有子计划,然后按id分组,在这里进行获取
|
|
|
|
+ //然后判断是否存在计划时间,如果存在则提示已做父计划,不能再做子计划
|
|
for (ProjectCostBudget budget : vo2ChildrenList) {
|
|
for (ProjectCostBudget budget : vo2ChildrenList) {
|
|
budget.setProjectId(vo.getProjectId());
|
|
budget.setProjectId(vo.getProjectId());
|
|
budget.setParentId(vo2.getId());
|
|
budget.setParentId(vo2.getId());
|
|
budget.setCostType(vo2.getCostType());
|
|
budget.setCostType(vo2.getCostType());
|
|
budget.setUnitType(vo2.getUnitType());
|
|
budget.setUnitType(vo2.getUnitType());
|
|
|
|
+ budget.setDeptId(vo2.getDeptId());
|
|
|
|
+ budget.setBudgetType(vo2.getBudgetType());
|
|
budget.setProjectProcess(vo2.getProjectProcess());
|
|
budget.setProjectProcess(vo2.getProjectProcess());
|
|
}
|
|
}
|
|
childrenList.addAll(vo2ChildrenList);
|
|
childrenList.addAll(vo2ChildrenList);
|
|
- }
|
|
|
|
|
|
+ //把数据库里的父计划,添加进父计划中,因为有子计划,返回的父计划是有回显值的
|
|
|
|
+ }else {
|
|
//无子计划
|
|
//无子计划
|
|
|
|
+ //先判断数据中有无子计划,有子计划,父计划的几个值应该为空
|
|
|
|
+ //如果数据中无子计划,则保存返回的值
|
|
ProjectCostBudget budget = new ProjectCostBudget();
|
|
ProjectCostBudget budget = new ProjectCostBudget();
|
|
- BeanUtils.copyProperties(vo2,budget);
|
|
|
|
|
|
+ BeanUtils.copyProperties(vo2, budget);
|
|
parentList.add(budget);
|
|
parentList.add(budget);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//删除没有指定任务人的子计划, 暂时全部删除
|
|
//删除没有指定任务人的子计划, 暂时全部删除
|
|
baseMapper.removeChildrenPlan(vo.getProjectId());
|
|
baseMapper.removeChildrenPlan(vo.getProjectId());
|