|
@@ -1,6 +1,7 @@
|
|
|
package org.springblade.control.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -1396,9 +1397,13 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
* 编辑子计划
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public ProjectCostBudgetVO2 updateChildrenPlan(ProjectCostBudgetVO2 vo2) {
|
|
|
//如果子计划为空,则清空父计划,然后修改可以编辑父计划
|
|
|
List<ProjectCostBudgetVO2> list = vo2.getChildrenList();
|
|
|
+ //删除当前计划的子计划,只删除未开始的计划
|
|
|
+ baseMapper.removeChildrenPlan2(vo2.getId());
|
|
|
+ List<ProjectCostBudget> childrenList = new ArrayList<>();
|
|
|
if (list != null && list.size() > 0){
|
|
|
//查看进行中的子计划的任务类型是否被更改
|
|
|
for (ProjectCostBudgetVO2 vo : list) {
|
|
@@ -1472,6 +1477,22 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
//拼接子计划的完成指标
|
|
|
targetStr.append(j+"."+l.getPlanTarget()+"、");
|
|
|
j++;
|
|
|
+
|
|
|
+ //只保存未开始的计划
|
|
|
+ if (l.getStatus() == null || l.getStatus() == 1){
|
|
|
+ ProjectCostBudget budget = new ProjectCostBudget();
|
|
|
+ BeanUtils.copyProperties(l,budget);
|
|
|
+ budget.setProjectId(vo2.getProjectId());
|
|
|
+ budget.setParentId(vo2.getId());
|
|
|
+ budget.setCostType(vo2.getCostType());
|
|
|
+ budget.setUnitType(vo2.getUnitType());
|
|
|
+ budget.setDeptId(vo2.getDeptId());
|
|
|
+ budget.setBudgetType(vo2.getBudgetType());
|
|
|
+ budget.setProjectProcess(vo2.getProjectProcess());
|
|
|
+ budget.setTaskDetail(vo2.getTaskDetail());
|
|
|
+ budget.setPostType(vo2.getPostType());
|
|
|
+ childrenList.add(budget);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//所有子计划完成,设置父计划为绿色
|
|
@@ -1506,9 +1527,29 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
vo2.setPlanDays(new BigDecimal(dateInfoMapper.getWorkDays(startDate, endDate)));
|
|
|
}
|
|
|
vo2.setIsShowEdit(0);
|
|
|
-
|
|
|
+ //新增或修改子计划
|
|
|
+ this.saveOrUpdateBatch(childrenList);
|
|
|
+ //修改数据库
|
|
|
+ this.update(new LambdaUpdateWrapper<ProjectCostBudget>()
|
|
|
+ .set(ProjectCostBudget::getPlanTaskType,vo2.getPlanTaskType())
|
|
|
+ .set(ProjectCostBudget::getPlanTaskDesc,vo2.getPlanTaskDesc())
|
|
|
+ .set(ProjectCostBudget::getPlanTarget,vo2.getPlanTarget())
|
|
|
+ .set(ProjectCostBudget::getPlanStartTime,vo2.getPlanStartTime())
|
|
|
+ .set(ProjectCostBudget::getPlanEndTime,vo2.getPlanEndTime())
|
|
|
+ .set(ProjectCostBudget::getPlanDays,vo2.getPlanDays())
|
|
|
+ .eq(ProjectCostBudget::getId,vo2.getId()));
|
|
|
}else {
|
|
|
- vo2.setPlanTaskTypeValue(null);
|
|
|
+ //修改数据库
|
|
|
+ this.update(new LambdaUpdateWrapper<ProjectCostBudget>()
|
|
|
+ .set(ProjectCostBudget::getPlanTaskType,null)
|
|
|
+ .set(ProjectCostBudget::getPlanTaskDesc,null)
|
|
|
+ .set(ProjectCostBudget::getPlanTarget,null)
|
|
|
+ .set(ProjectCostBudget::getPlanStartTime,null)
|
|
|
+ .set(ProjectCostBudget::getPlanEndTime,null)
|
|
|
+ .set(ProjectCostBudget::getPlanDays,null)
|
|
|
+ .eq(ProjectCostBudget::getId,vo2.getId()));
|
|
|
+ //返回给前端显示
|
|
|
+ vo2.setPlanTaskTypeValue(null);
|
|
|
vo2.setPlanTaskType(null);
|
|
|
vo2.setPlanTaskDesc(null);
|
|
|
vo2.setPlanTarget(null);
|
|
@@ -1516,7 +1557,6 @@ public class ProjectCostBudgetServiceImpl extends BaseServiceImpl<ProjectCostBud
|
|
|
vo2.setPlanEndTime(null);
|
|
|
vo2.setPlanDays(null);
|
|
|
vo2.setIsShowEdit(1);
|
|
|
- return vo2;
|
|
|
}
|
|
|
return vo2;
|
|
|
}
|