|
|
@ -1397,10 +1397,10 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
|
if (ObjectUtil.isNotNull(updateTaskInfo.getMilestone())) { |
|
|
|
taskDetail.setMilestone(updateTaskInfo.getMilestone()); |
|
|
|
} |
|
|
|
//父任务id
|
|
|
|
if(null != updateTaskInfo.getParentId()){ |
|
|
|
taskDetail.setParentId(updateTaskInfo.getParentId()); |
|
|
|
} |
|
|
|
// //父任务id
|
|
|
|
// if(null != updateTaskInfo.getParentId()){
|
|
|
|
// taskDetail.setParentId(updateTaskInfo.getParentId());
|
|
|
|
// }
|
|
|
|
//时间
|
|
|
|
if (ObjectUtil.isNotNull(updateTaskInfo.getBeginTime()) || |
|
|
|
ObjectUtil.isNotNull(updateTaskInfo.getEndTime()) || |
|
|
@ -1494,36 +1494,48 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//修改项目信息 当前的项目
|
|
|
|
if(ObjectUtil.isNotNull(updateTaskInfo.getId())){ |
|
|
|
if(ObjectUtil.isNotNull(updateTaskInfo.getProjectId())){ |
|
|
|
if(ObjectUtil.isNotNull(updateTaskInfo.getParentId())){ |
|
|
|
//检查父任务在不在移动后的项目下,不在的话提示错误信息 该任务不在该项目下,在的话则修改项目信息
|
|
|
|
//B项目updateTaskInfo.getProjectId() 父任务updateTaskInfo.getParentId()
|
|
|
|
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); |
|
|
|
proTaskDetailExample.createCriteria().andIdEqualTo(updateTaskInfo.getParentId()).andProjectIdEqualTo(updateTaskInfo.getProjectId()); |
|
|
|
long l = taskDetailDao.countByExample(proTaskDetailExample); |
|
|
|
if(l <= 0 ){ |
|
|
|
throw new BaseException(CodeEnum.NOT_TASK); |
|
|
|
}else { //在的话则修改项目信息
|
|
|
|
taskDetail.setId(updateTaskInfo.getId()); |
|
|
|
taskDetail.setParentId(updateTaskInfo.getParentId()); |
|
|
|
taskDetail.setProjectId(updateTaskInfo.getProjectId()); |
|
|
|
taskDetailDao.updateByPrimaryKeySelective(taskDetail); |
|
|
|
} |
|
|
|
//修改任务所属的项目
|
|
|
|
if (ObjectUtil.isNotNull(updateTaskInfo.getProjectId())) { |
|
|
|
if (ObjectUtil.isNotNull(updateTaskInfo.getParentId())) { |
|
|
|
//检查父任务在不在移动后的项目下,不在的话提示错误信息 该任务不在该项目下,在的话则修改项目信息
|
|
|
|
//B项目updateTaskInfo.getProjectId() 父任务updateTaskInfo.getParentId()
|
|
|
|
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); |
|
|
|
proTaskDetailExample.createCriteria().andIdEqualTo(updateTaskInfo.getParentId()).andProjectIdEqualTo(updateTaskInfo.getProjectId()); |
|
|
|
long l = taskDetailDao.countByExample(proTaskDetailExample); |
|
|
|
if (l > 0) { |
|
|
|
// throw new BaseException(CodeEnum.NOT_TASK);
|
|
|
|
taskDetail.setProjectId(updateTaskInfo.getProjectId()); |
|
|
|
taskDetail.setParentId(updateTaskInfo.getParentId()); |
|
|
|
} else { //在的话则修改项目信息
|
|
|
|
throw new BaseException(CodeEnum.PARENT_PROJECT_NOT_MATCHING); |
|
|
|
} |
|
|
|
//把这个任务当作父任务,如果原来任务下的父任务有值 设置为0,修改项目信息
|
|
|
|
//taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId()); //任务详情
|
|
|
|
if(ObjectUtil.isNotNull(taskDetail.getParentId())){ |
|
|
|
taskDetail.setParentId(0L); |
|
|
|
taskDetailDao.updateByPrimaryKeySelective(taskDetail); |
|
|
|
} |
|
|
|
taskDetail.setId(updateTaskInfo.getId()); |
|
|
|
} else { |
|
|
|
taskDetail.setParentId(0L); |
|
|
|
taskDetail.setProjectId(updateTaskInfo.getProjectId()); |
|
|
|
taskDetailDao.updateByPrimaryKeySelective(taskDetail); |
|
|
|
} |
|
|
|
} |
|
|
|
//将此任务以前的子任务的父id改成0
|
|
|
|
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); |
|
|
|
proTaskDetailExample.createCriteria().andParentIdEqualTo(taskDetail.getId()); |
|
|
|
List<ProTaskDetail> proTaskDetailList = taskDetailDao.selectByExample(proTaskDetailExample); |
|
|
|
if(CollectionUtil.isNotEmpty(proTaskDetailList)){ |
|
|
|
proTaskDetailList.forEach(proTaskDetail -> { |
|
|
|
proTaskDetail.setParentId(0L); |
|
|
|
taskDetailDao.updateByPrimaryKeySelective(proTaskDetail); |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
//父任务id
|
|
|
|
if (null != updateTaskInfo.getParentId()) { |
|
|
|
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); |
|
|
|
proTaskDetailExample.createCriteria().andIdEqualTo(updateTaskInfo.getParentId()).andProjectIdEqualTo(taskDetail.getProjectId()); |
|
|
|
long l = taskDetailDao.countByExample(proTaskDetailExample); |
|
|
|
if (l <= 0) { |
|
|
|
throw new BaseException(CodeEnum.PARENT_PROJECT_NOT_MATCHING); |
|
|
|
} |
|
|
|
taskDetail.setParentId(updateTaskInfo.getParentId()); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//修改数据
|
|
|
|
taskDetailDao.updateByPrimaryKeySelective(taskDetail); |
|
|
|
//修改提醒信息
|
|
|
|