diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 58606c5f..2f40558c 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -687,7 +687,7 @@ public class ProRoleService implements IProRoleService { if ((isPm && power < WebConstant.ROLE_POWER.ADMIN_POWER.value) || (!isPm && power < WebConstant.ROLE_POWER.OPERATION_POWER.value)) { throw new BaseException(CodeEnum.NOT_POWER); } - if(CollectionUtil.isNotEmpty(saveMember.getMemberId())){ +// if(CollectionUtil.isNotEmpty(saveMember.getMemberId())){ //删除以前关联的成员 ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); memberRoleExample.createCriteria().andRoleIdEqualTo(saveMember.getRoleId()); @@ -707,7 +707,7 @@ public class ProRoleService implements IProRoleService { proMemberRole.setMemberId(memberId); memberRoleDao.insertSelective(proMemberRole); }); - } +// } // //检查成员是否为空 diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 7fc9ffee..36210788 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -1397,10 +1397,13 @@ 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,34 +1497,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); - } - } - //把这个任务当作父任务,如果原来任务下的父任务有值 设置为0,修改项目信息 - //taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId()); //任务详情 - if(ObjectUtil.isNotNull(taskDetail.getParentId())){ - taskDetail.setParentId(0L); - 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); } - 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 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()); + } + } //修改数据 @@ -1758,44 +1775,47 @@ public class ProTaskDetailService implements IProTaskDetailService { * 新增和修改交付物 * @param jiaoFuWu */ - @Override - public void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu) { - ProTaskDeliverExample proTaskDeliverExample=new ProTaskDeliverExample(); - ProTaskDeliver proTaskDeliver=new ProTaskDeliver(); - if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){ - //修改 - proTaskDeliver.setId(jiaoFuWu.getId()); - proTaskDeliver.setName(jiaoFuWu.getNames()); - proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0); - proTaskDeliverMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); - }else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) { - //新增 - proTaskDeliver.setId(snowflake.nextId()); - proTaskDeliver.setName(jiaoFuWu.getNames()); - proTaskDeliverMapper.insertSelective(proTaskDeliver); - } - } +// @Override +// public void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu) { +// ProTaskDeliverExample proTaskDeliverExample=new ProTaskDeliverExample(); +// ProTaskDeliver proTaskDeliver=new ProTaskDeliver(); +// if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){ +// //修改 +// proTaskDeliver.setId(jiaoFuWu.getId()); +// proTaskDeliver.setName(jiaoFuWu.getNames()); +// proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0); +// proTaskDeliverMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); +// }else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) { +// //新增 +// proTaskDeliver.setId(snowflake.nextId()); +// proTaskDeliver.setName(jiaoFuWu.getNames()); +// proTaskDeliverMapper.insertSelective(proTaskDeliver); +// } +// +// } + /** * 新增和修改输入文档 * @param jiaoFuWu */ - @Override - public void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu) { - ProTaskInputDocExample proTaskDeliverExample=new ProTaskInputDocExample(); - ProTaskInputDoc proTaskDeliver=new ProTaskInputDoc(); - if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){ - //修改 - proTaskDeliver.setId(jiaoFuWu.getId()); - proTaskDeliver.setName(jiaoFuWu.getNames()); - proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0); - proTaskInputDocDao.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); - }else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) { - //新增 - proTaskDeliver.setId(snowflake.nextId()); - proTaskDeliver.setName(jiaoFuWu.getNames()); - proTaskInputDocDao.insertSelective(proTaskDeliver); - } - } + +// @Override +// public void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu) { +// ProTaskInputDocExample proTaskDeliverExample=new ProTaskInputDocExample(); +// ProTaskInputDoc proTaskDeliver=new ProTaskInputDoc(); +// if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){ +// //修改 +// proTaskDeliver.setId(jiaoFuWu.getId()); +// proTaskDeliver.setName(jiaoFuWu.getNames()); +// proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0); +// proTaskInputDocDao.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); +// }else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) { +// //新增 +// proTaskDeliver.setId(snowflake.nextId()); +// proTaskDeliver.setName(jiaoFuWu.getNames()); +// proTaskInputDocDao.insertSelective(proTaskDeliver); +// } +// } } diff --git a/tall/src/main/resources/mapper_dao/ProMemberDao.xml b/tall/src/main/resources/mapper_dao/ProMemberDao.xml index ea178cde..0e0a7921 100644 --- a/tall/src/main/resources/mapper_dao/ProMemberDao.xml +++ b/tall/src/main/resources/mapper_dao/ProMemberDao.xml @@ -198,6 +198,7 @@ (r.rec_status = 0 or r.rec_status is null) and m.project_id = #{projectId} + and mr.rec_status = 0