|
|
@ -230,7 +230,7 @@ public class ProRoleService implements IProRoleService { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// //查找该项目的子项目,转换成项目角色返回
|
|
|
|
//查找该项目的子项目,转换成项目角色返回
|
|
|
|
// SysProjectExample projectExample = new SysProjectExample();
|
|
|
|
// projectExample.createCriteria().andParentIdEqualTo(projectId).andParentIdNotEqualTo(0L);
|
|
|
|
// List<SysProject> sysProject = sysProjectDao.selectByExample(projectExample);
|
|
|
@ -270,7 +270,7 @@ public class ProRoleService implements IProRoleService { |
|
|
|
@Override |
|
|
|
public List<ProjectVo.RoleInfo> getRealMemberRolesShowByProjectId(Long projectId,Long userId) { |
|
|
|
//返回的对象
|
|
|
|
List<ProjectVo.RoleInfo> memberRoleList; |
|
|
|
List<ProjectVo.RoleInfo> memberRoleList = new ArrayList<>(); |
|
|
|
|
|
|
|
//先从userid和项目id获取当前用户的成员id,查看role-show里面是否有这个成员的数据
|
|
|
|
ProMemberExample proMemberExample=new ProMemberExample(); |
|
|
@ -376,31 +376,50 @@ public class ProRoleService implements IProRoleService { |
|
|
|
proMemberRoleShowExampleNew.setOrderByClause("sequence"); |
|
|
|
List<ProMemberRoleShow> proMemberRoleShowsNew = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExampleNew); |
|
|
|
|
|
|
|
List<Long> roleIds = new ArrayList<>(); |
|
|
|
for (ProMemberRoleShow roleShow : proMemberRoleShowsNew) { |
|
|
|
roleIds.add(roleShow.getRoleId()); |
|
|
|
for (int i = 0; i < proMemberRoleShowsNew.size(); i++) { |
|
|
|
//普通角色,需要查询成员
|
|
|
|
if (0 == proMemberRoleShowsNew.get(i).getRoleType()){ |
|
|
|
ProjectVo.RoleInfo roleInfo = proRoleDao.selectRoleInfoByProAndMem(proMemberRoleShowsNew.get(i).getRoleId()); |
|
|
|
List<ProjectVo.ProMemberVo> members = proRoleDao.selectMemberOfRole(proMemberRoleShowsNew.get(i).getRoleId()); |
|
|
|
memberRoleList.add(roleInfo); |
|
|
|
memberRoleList.get(i).setMembers(members); |
|
|
|
} |
|
|
|
//查询二级角色
|
|
|
|
memberRoleList = proRoleDao.selectSecondRolesShowByRoleId(projectId,memberId); |
|
|
|
//在show表查找可见的角色
|
|
|
|
|
|
|
|
|
|
|
|
// TODO 查找此项目的子项目
|
|
|
|
SysProjectExample projectExample = new SysProjectExample(); |
|
|
|
projectExample.createCriteria().andParentIdEqualTo(projectId); |
|
|
|
List<SysProject> sysProjectList = sysProjectDao.selectByExample(projectExample); |
|
|
|
if(CollectionUtil.isNotEmpty(sysProjectList)){ |
|
|
|
sysProjectList.forEach(project -> { |
|
|
|
ProjectVo.RoleInfo roleInfo = new ProjectVo.RoleInfo(); |
|
|
|
roleInfo.setId(project.getId()); |
|
|
|
roleInfo.setName(project.getName()); |
|
|
|
//虚拟项目角色
|
|
|
|
if(1 == proMemberRoleShowsNew.get(i).getRoleType()){ |
|
|
|
ProjectVo.RoleInfo roleInfo = projectDao.selectProjectInfoByProAndMem(proMemberRoleShowsNew.get(i).getRoleId()); |
|
|
|
if (ObjectUtil.isNotNull(roleInfo)){ |
|
|
|
roleInfo.setProjectRole((byte) 1); |
|
|
|
roleInfo.setRelevanceProjectId(project.getId()); |
|
|
|
roleInfo.setRelevanceProjectName(project.getName()); |
|
|
|
roleInfo.setRelevanceProjectId(roleInfo.getId()); |
|
|
|
roleInfo.setRelevanceProjectName(roleInfo.getName()); |
|
|
|
} |
|
|
|
memberRoleList.add(roleInfo); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// List<Long> roleIds = new ArrayList<>();
|
|
|
|
// for (ProMemberRoleShow roleShow : proMemberRoleShowsNew) {
|
|
|
|
// roleIds.add(roleShow.getRoleId());
|
|
|
|
// }
|
|
|
|
// //查询二级角色
|
|
|
|
// memberRoleList = proRoleDao.selectSecondRolesShowByRoleId(projectId,memberId);
|
|
|
|
// //在show表查找可见的角色
|
|
|
|
//
|
|
|
|
// // TODO 查找此项目的子项目
|
|
|
|
// SysProjectExample projectExample = new SysProjectExample();
|
|
|
|
// projectExample.createCriteria().andParentIdEqualTo(projectId);
|
|
|
|
// List<SysProject> sysProjectList = sysProjectDao.selectByExample(projectExample);
|
|
|
|
// if(CollectionUtil.isNotEmpty(sysProjectList)){
|
|
|
|
// sysProjectList.forEach(project -> {
|
|
|
|
// ProjectVo.RoleInfo roleInfo = new ProjectVo.RoleInfo();
|
|
|
|
// roleInfo.setId(project.getId());
|
|
|
|
// roleInfo.setName(project.getName());
|
|
|
|
// roleInfo.setProjectRole((byte) 1);
|
|
|
|
// roleInfo.setRelevanceProjectId(project.getId());
|
|
|
|
// roleInfo.setRelevanceProjectName(project.getName());
|
|
|
|
// memberRoleList.add(roleInfo);
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
|
|
|
|
return memberRoleList; |
|
|
|
} |
|
|
|
|
|
|
@ -798,9 +817,13 @@ public class ProRoleService implements IProRoleService { |
|
|
|
List<ProRole> roleList = proMemberService.selectRolesByUserIdAndProjectId(param.getUserId(), param.getParam().getProjectId(), 0); |
|
|
|
|
|
|
|
//查询已经添加的角色
|
|
|
|
List<RoleVo.JueSeByProId> listBefor=proRoleDao.queryRoleShowslistAfter(memberId); |
|
|
|
// List<RoleVo.JueSeByProId> listBefor=proRoleDao.queryRoleShowslistAfter(memberId);
|
|
|
|
//查询已添加的角色和项目虚拟角色
|
|
|
|
List<RoleVo.JueSeByProId> listBefor = proRoleDao.queryRoleSHowsForRoleAndProject(memberId); |
|
|
|
List<Long> listBeforeId= listBefor.stream().map(action ->{return action.getId();}).collect(Collectors.toList()); |
|
|
|
for (int i = 0; i < listBefor.size(); i++) { |
|
|
|
//普通角色
|
|
|
|
if (0 == listBefor.get(i).getRoleType()){ |
|
|
|
//是否项目经理
|
|
|
|
if(jili1.contains(listBefor.get(i).getId())){ |
|
|
|
listBefor.get(i).setIsPM(true); |
|
|
@ -815,6 +838,18 @@ public class ProRoleService implements IProRoleService { |
|
|
|
listBefor.get(i).setMine(false); |
|
|
|
} |
|
|
|
} |
|
|
|
//查询角色名字等具体信息
|
|
|
|
ProRole proRole = proRoleDao.selectByPrimaryKey(listBefor.get(i).getId()); |
|
|
|
listBefor.get(i).setName(proRole.getName()); |
|
|
|
} |
|
|
|
//项目虚拟角色
|
|
|
|
if (1 == listBefor.get(i).getRoleType()){ |
|
|
|
SysProject sysProject = projectDao.selectByPrimaryKey(listBefor.get(i).getId()); |
|
|
|
listBefor.get(i).setName(sysProject.getName()); |
|
|
|
listBefor.get(i).setProjectRole(1); |
|
|
|
listBefor.get(i).setRelevanceProjectId(sysProject.getId()); |
|
|
|
listBefor.get(i).setRelevanceProjectName(sysProject.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//查询未添加的角色
|
|
|
|
List<RoleVo.JueSeByProId> listAfter=proRoleDao.queryRoleShowslistBefore(param.getParam().getProjectId(),listBeforeId); |
|
|
@ -934,11 +969,13 @@ public class ProRoleService implements IProRoleService { |
|
|
|
} |
|
|
|
//根据前端传的数据,循环放入,并排序
|
|
|
|
for (int i = 0; i < param.getParam().getRoleIds().size(); i++) { |
|
|
|
Long roleId = param.getParam().getRoleIds().get(i); |
|
|
|
// Long roleId = param.getParam().getRoleIds().get(i);
|
|
|
|
RoleDto.RoleAndType roleAndType = param.getParam().getRoleIds().get(i); |
|
|
|
ProMemberRoleShow proMemberRoleShow = new ProMemberRoleShow(); |
|
|
|
proMemberRoleShow.setId(snowflake.nextId()); |
|
|
|
proMemberRoleShow.setMemberId(memberId); |
|
|
|
proMemberRoleShow.setRoleId(roleId); |
|
|
|
proMemberRoleShow.setRoleId(roleAndType.getRoleId()); |
|
|
|
proMemberRoleShow.setRoleType(roleAndType.getRoleType()); |
|
|
|
proMemberRoleShow.setSequence(i); |
|
|
|
proMemberRoleShowMapper.insertSelective(proMemberRoleShow); |
|
|
|
} |
|
|
|