diff --git a/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java b/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java index 8918a84..f192761 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java +++ b/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java @@ -64,6 +64,8 @@ public class DeliverDto { @NotNull(message = "请选择项目") @ApiModelProperty("项目id") private Long projectId; + @ApiModelProperty("角色id") + private Long roleId; @NotNull(message = "请选择交付物") @ApiModelProperty("交付物id") private Long deliverId; diff --git a/src/main/java/com/ccsens/ptccsens/service/DeliverService.java b/src/main/java/com/ccsens/ptccsens/service/DeliverService.java index ac7dee2..e087c7f 100644 --- a/src/main/java/com/ccsens/ptccsens/service/DeliverService.java +++ b/src/main/java/com/ccsens/ptccsens/service/DeliverService.java @@ -150,18 +150,23 @@ public class DeliverService implements IDeliverService { } //----------------消息------------------------ //获取任务的角色信息 - List roleIdList = proRoleDao.getRoleIdBySubTaskId(pluDeliver.getTaskSubId()); + Long roleId = param.getRoleId(); + if(ObjectUtil.isNull(roleId)){ + List roleIdList = proRoleDao.getRoleIdBySubTaskId(pluDeliver.getTaskSubId()); + if(CollectionUtil.isNotEmpty(roleIdList)){ + roleId = roleIdList.get(0); + } + } //查询任务是定期还是日常 Byte taskType = proTaskDetailDao.getTaskTypeBySubTaskId(pluDeliver.getTaskSubId()); //查询当前任务的交付物插件id Long pluginId = proTaskDetailDao.getDeliverPluginIdBySubTaskId(pluDeliver.getTaskSubId()); - if(CollectionUtil.isNotEmpty(roleIdList)){ -// roleIdList.forEach(roleId -> { -// //生成消息内容 - RemindMessageDto remindMessageDto = new RemindMessageDto(param.getProjectId(),roleIdList.get(0),pluDeliver.getTaskSubId(),pluginId,taskType,"提交交付物"); - //TODO 发送消息 - MessageUtil.sendToUser(phoneList,null,remindMessageDto,MessageConstant.DomainType.User,null); -// }); + if(ObjectUtil.isNull(roleId)){ + //生成消息内容 + RemindMessageDto remindMessageDto = new RemindMessageDto(param.getProjectId(),roleId,pluDeliver.getTaskSubId(),pluginId,taskType,"提交交付物"); + //TODO 发送消息 + MessageUtil.sendToUser(phoneList,null,remindMessageDto,MessageConstant.DomainType.User,null); + } } diff --git a/src/main/java/com/ccsens/ptccsens/service/IImportService.java b/src/main/java/com/ccsens/ptccsens/service/IImportService.java index 708bfc9..d013400 100644 --- a/src/main/java/com/ccsens/ptccsens/service/IImportService.java +++ b/src/main/java/com/ccsens/ptccsens/service/IImportService.java @@ -12,6 +12,6 @@ public interface IImportService { * @param userId userId * @throws Exception 异常 */ - TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long projectId) throws Exception; + TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long parentId) throws Exception; } diff --git a/src/main/java/com/ccsens/ptccsens/service/ImportService.java b/src/main/java/com/ccsens/ptccsens/service/ImportService.java index 06cbe8c..c6fe136 100644 --- a/src/main/java/com/ccsens/ptccsens/service/ImportService.java +++ b/src/main/java/com/ccsens/ptccsens/service/ImportService.java @@ -90,7 +90,7 @@ public class ImportService implements IImportService { * @throws Exception 异常 */ @Override - public TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long projectId) throws Exception { + public TallProjectVo.ProjectInfo importWbs(String path, Long userId, Long parentId) throws Exception { TallProjectVo.ProjectInfo projectInfo = new TallProjectVo.ProjectInfo(); //获取excel文件 InputStream is = new FileInputStream(path); @@ -103,7 +103,7 @@ public class ImportService implements IImportService { Map taskMap = new HashMap<>(); //读取文件 - readExcel(xssfWorkbook, userId, roleMap, memberMap, taskMap,projectId,projectInfo); + readExcel(xssfWorkbook, userId, roleMap, memberMap, taskMap,parentId,projectInfo); //读取插件配置表 readPluginConfig(xssfWorkbook,taskMap); @@ -161,7 +161,7 @@ public class ImportService implements IImportService { /** * 读取每个sheet */ - private void readExcel(XSSFWorkbook wb, Long userId, Map roleMap, Map memberMap, Map taskMap, Long projectId, TallProjectVo.ProjectInfo projectInfo) { + private void readExcel(XSSFWorkbook wb, Long userId, Map roleMap, Map memberMap, Map taskMap, Long parentId, TallProjectVo.ProjectInfo projectInfo) { //获取wbsSheet XSSFSheet wbsSheet = wb.getSheet(BasicsConstant.WbsExcel.WBS_SHEET); if (ObjectUtil.isNull(wbsSheet)) { @@ -207,24 +207,32 @@ public class ImportService implements IImportService { if(ObjectUtil.isNull(project)){ throw new BaseException(BasicsCodeError.WSB_NOT_PROJECT_HEADER); } + //如果parentId不为空,添加层级关系 + if(ObjectUtil.isNotNull(parentId)){ + ProParentTask proParentTask = new ProParentTask(); + proParentTask.setId(snowflake.nextId()); + proParentTask.setTaskDetailId(project.getId()); + proParentTask.setParentTaskDetailId(parentId); + parentTaskMapper.insertSelective(proParentTask); + } //读取成员表 readMemberSheet(memberSheet,project,roleMap,memberMap); //添加任务 readTask(wbsSheet,taskStart,project,roleMap,taskMap); //获取用户列表 - Set userIdSet = new HashSet<>(); - userIdSet.add(userId); - //处理创建人的权限问题(添加创建人角色) - //查找创建者标签id - Long roleLabelId = labelDao.getLabelByTypeAndLevel(5, 5); - //添加创建者角色 - ProRole role = new ProRole(); - role.setId(snowflake.nextId()); - role.setName("创建者"); - role.setProjectId(project.getId()); - role.setLabelId(roleLabelId); - roleDao.insertSelective(role); - //查找创建者在项目下的成员信息 +// Set userIdSet = new HashSet<>(); +// userIdSet.add(userId); +// //处理创建人的权限问题(添加创建人角色) +// //查找创建者标签id +// Long roleLabelId = labelDao.getLabelByTypeAndLevel(5, 5); +// //添加创建者角色 +// ProRole role = new ProRole(); +// role.setId(snowflake.nextId()); +// role.setName("创建者"); +// role.setProjectId(project.getId()); +// role.setLabelId(roleLabelId); +// roleDao.insertSelective(role); +// //查找创建者在项目下的成员信息 Long memberId = null; if(CollectionUtil.isNotEmpty(memberMap)){ for(RoleDto.WbsMember member : memberMap.values()){ @@ -232,7 +240,7 @@ public class ImportService implements IImportService { if(member.getUserId().equals(userId)){ memberId = member.getId(); } - userIdSet.add(member.getUserId()); +// userIdSet.add(member.getUserId()); } } } @@ -241,18 +249,17 @@ public class ImportService implements IImportService { //添加成员至数据库 ProMember proMember = new ProMember(); proMember.setId(snowflake.nextId()); - proMember.setProjectId(projectId); + proMember.setProjectId(project.getId()); proMember.setUserId(userId); memberDao.insertSelective(proMember); - memberId = proMember.getId(); +// memberId = proMember.getId(); } - //添加当前用户未创建者 - //添加角色成员关联信息 - ProRoleMember roleMember = new ProRoleMember(); - roleMember.setId(snowflake.nextId()); - roleMember.setRoleId(role.getId()); - roleMember.setMemberId(memberId); - roleMemberDao.insertSelective(roleMember); +// //添加当前用户为创建者 +// ProRoleMember roleMember = new ProRoleMember(); +// roleMember.setId(snowflake.nextId()); +// roleMember.setRoleId(role.getId()); +// roleMember.setMemberId(memberId); +// roleMemberDao.insertSelective(roleMember); //返回项目信息 projectInfo.setId(project.getId()); projectInfo.setName(project.getName()); diff --git a/src/main/java/com/ccsens/ptccsens/service/TallService.java b/src/main/java/com/ccsens/ptccsens/service/TallService.java index f140b13..9d89217 100644 --- a/src/main/java/com/ccsens/ptccsens/service/TallService.java +++ b/src/main/java/com/ccsens/ptccsens/service/TallService.java @@ -110,7 +110,7 @@ public class TallService implements ITallService { @SneakyThrows @Override - public TallProjectVo.ProjectInfo importWbs(String token, MultipartFile params) { + public TallProjectVo.ProjectInfo importWbs(String token, MultipartFile params,Long parentId) { ProUser user = getUserByToken(token); log.info("本服务下的用户信息:{}", user); if(ObjectUtil.isNull(user)){ @@ -134,7 +134,7 @@ public class TallService implements ITallService { FileUtil.writeFromStream(params.getInputStream(), fullPath); //导入数据库 - return importService.importWbs(fullPath,user.getId(),null); + return importService.importWbs(fullPath,user.getId(),parentId); } private ProUser getUserByToken(String token) { @@ -643,14 +643,15 @@ public class TallService implements ITallService { } } //如果查看的角色项目经理,则查看所有任务 - int isPm = 0; - ProRole role = proRoleDao.selectByPrimaryKey(param.getRoleId()); - if(ObjectUtil.isNotNull(role)){ - isPm = role.getLabelId().equals(Constant.PM_LABEL_ID) ? 1 : 0; - } +// int isPm = 0; +// ProRole role = proRoleDao.selectByPrimaryKey(param.getRoleId()); +// if(ObjectUtil.isNotNull(role)){ +// isPm = role.getLabelId().equals(Constant.PM_LABEL_ID) ? 1 : 0; +// } + //获取任务列表 PageHelper.startPage(param.getPageNum(),param.getPageSize()); - List regularTask = taskDetailDao.pageQueryRegularTask(isPm, role.getProjectId(), param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType()); + List regularTask = taskDetailDao.pageQueryRegularTask(0, null, param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType(),param.getTaskId(),param.getTriggerType()); PageInfo queryTaskPageInfo = new PageInfo<>(regularTask); if(CollectionUtil.isNotEmpty(queryTaskPageInfo.getList())){ if(param.getQueryType() == 0){