12-12-搭配角色流程列表修改
This commit is contained in:
@ -24,10 +24,7 @@ import org.dromara.system.service.impl.SysRoleServiceImpl;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色流程对应Service业务层处理
|
* 角色流程对应Service业务层处理
|
||||||
@ -242,57 +239,57 @@ public class SysRoleWorkServiceImpl extends ServiceImpl<SysRoleWorkMapper, SysRo
|
|||||||
Long userId = LoginHelper.getUserId();
|
Long userId = LoginHelper.getUserId();
|
||||||
// 获取当前登录用户的所有项目及对应所有角色
|
// 获取当前登录用户的所有项目及对应所有角色
|
||||||
List<SysUserRole> allRoleList = baseMapper.getAllRoleList(userId);
|
List<SysUserRole> allRoleList = baseMapper.getAllRoleList(userId);
|
||||||
|
// 获取项目
|
||||||
//初始化
|
|
||||||
// LambdaQueryWrapper<SysRoleWork> lqw = new LambdaQueryWrapper<>();
|
|
||||||
|
|
||||||
List<BusProjectVo> busProjectVoList = new ArrayList<>();
|
List<BusProjectVo> busProjectVoList = new ArrayList<>();
|
||||||
|
//维护一个该用户的 项目ID:角色ID map
|
||||||
|
Map<Long,Long> map = new HashMap<>();
|
||||||
//获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程
|
//获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程
|
||||||
for (SysUserRole sysUserRole : allRoleList) {
|
for (SysUserRole sysUserRole : allRoleList) {
|
||||||
// lqw.clear();
|
|
||||||
// lqw.eq(SysRoleWork::getProjectId,sysUserRole.getProjectId());
|
|
||||||
// lqw.eq(SysRoleWork::getRoleId, sysUserRole.getRoleId());
|
|
||||||
// SysRoleWork one = getOne(lqw);
|
|
||||||
// if (one != null){
|
|
||||||
// //先拿到该项目
|
|
||||||
// BusProjectQueryReq req = new BusProjectQueryReq();
|
|
||||||
// req.setId(sysUserRole.getProjectId());
|
|
||||||
// List<BusProjectVo> vos = projectService.queryList(req);
|
|
||||||
// if (vos != null && !vos.isEmpty()){
|
|
||||||
// if(!busProjectVoList.contains(vos.getFirst())){
|
|
||||||
// busProjectVoList.add(vos.getFirst());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
BusProjectQueryReq req = new BusProjectQueryReq();
|
BusProjectQueryReq req = new BusProjectQueryReq();
|
||||||
req.setId(sysUserRole.getProjectId());
|
req.setId(sysUserRole.getProjectId());
|
||||||
List<BusProjectVo> vos = projectService.queryList(req);
|
List<BusProjectVo> vos = projectService.queryList(req);
|
||||||
if (vos != null && !vos.isEmpty()){
|
if (vos != null && !vos.isEmpty()){
|
||||||
if(!busProjectVoList.contains(vos.getFirst())){
|
if(!busProjectVoList.contains(vos.getFirst())){
|
||||||
busProjectVoList.add(vos.getFirst());
|
busProjectVoList.add(vos.getFirst());
|
||||||
|
map.put(sysUserRole.getProjectId(),sysUserRole.getRoleId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//遍历
|
|
||||||
|
List<SysRoleWork> roleWorks = this.list();
|
||||||
List<SysRoleVo> roleVos;
|
List<SysRoleVo> roleVos;
|
||||||
for (BusProjectVo projectVo : busProjectVoList) {
|
for (BusProjectVo projectVo : busProjectVoList) {
|
||||||
roleVos = new ArrayList<>();
|
roleVos = new ArrayList<>();
|
||||||
//通过项目查找所有角色
|
for (SysRoleWork roleWork : roleWorks) {
|
||||||
LambdaQueryWrapper<SysRoleWork> lqw1 = new LambdaQueryWrapper<>();
|
if (map.containsKey(projectVo.getId()) && roleWork.getRoleId().equals(map.get(projectVo.getId()))){
|
||||||
lqw1.eq(SysRoleWork::getProjectId,projectVo.getId());
|
SysRoleVo sysRoleVo = roleService.selectRoleById(roleWork.getRoleId());
|
||||||
//获取角色
|
|
||||||
List<SysRoleWork> roleWorkList = list(lqw1);
|
|
||||||
for (SysRoleWork sysRoleWork : roleWorkList) {
|
|
||||||
SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId());
|
|
||||||
if (sysRoleVo != null){
|
if (sysRoleVo != null){
|
||||||
roleVos.add(sysRoleVo);
|
roleVos.add(sysRoleVo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
projectVo.setRoleVos(roleVos);
|
projectVo.setRoleVos(roleVos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//遍历
|
||||||
|
// for (BusProjectVo projectVo : busProjectVoList) {
|
||||||
|
// roleVos = new ArrayList<>();
|
||||||
|
// //通过项目查找所有角色
|
||||||
|
// LambdaQueryWrapper<SysRoleWork> lqw1 = new LambdaQueryWrapper<>();
|
||||||
|
// lqw1.eq(SysRoleWork::getProjectId,projectVo.getId());
|
||||||
|
// List<SysRoleWork> roleWorkList = list(lqw1);
|
||||||
|
// //遍历
|
||||||
|
// for (SysRoleWork sysRoleWork : roleWorkList) {
|
||||||
|
// SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId());
|
||||||
|
// if (sysRoleVo != null){
|
||||||
|
// roleVos.add(sysRoleVo);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// projectVo.setRoleVos(roleVos);
|
||||||
|
// }
|
||||||
|
|
||||||
return busProjectVoList;
|
return busProjectVoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user