From 0110999480621de2141e5881d8ea44a6a2e3d48c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Sat, 20 Dec 2025 17:48:44 +0800 Subject: [PATCH] =?UTF-8?q?12-20-=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysRoleWorkServiceImpl.java | 64 +++++++++---------- .../patch/controller/PdMasterController.java | 2 +- 2 files changed, 31 insertions(+), 35 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java index cae4e236..9dd6f78c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java @@ -244,56 +244,52 @@ public class SysRoleWorkServiceImpl extends ServiceImpl allRoleList = baseMapper.getAllRoleList(userId); - //初始化 -// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - List busProjectVoList = new ArrayList<>(); //获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程 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 vos = projectService.queryList(req); -// if (vos != null && !vos.isEmpty()){ -// if(!busProjectVoList.contains(vos.getFirst())){ -// busProjectVoList.add(vos.getFirst()); -// } -// } -// } - BusProjectQueryReq req = new BusProjectQueryReq(); - req.setId(sysUserRole.getProjectId()); - List vos = projectService.queryList(req); - if (vos != null && !vos.isEmpty()){ - if(!busProjectVoList.contains(vos.getFirst())){ - busProjectVoList.add(vos.getFirst()); + // 检查该项目下该角色是否有流程配置 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(SysRoleWork::getRoleId, sysUserRole.getRoleId()); + lqw.eq(SysRoleWork::getProjectId, sysUserRole.getProjectId()); + List list = list(lqw); + + // 只有当存在流程配置时才添加项目 + if (list != null && !list.isEmpty()) { + //这个用户的项目 有流程的角色 才会进入这里 + BusProjectQueryReq req = new BusProjectQueryReq(); + req.setId(sysUserRole.getProjectId()); + List vos = projectService.queryList(req); + //把这个用户有角色并且有流程的项目添加到列表中 + if (vos != null && !vos.isEmpty()){ + if(!busProjectVoList.contains(vos.getFirst())){ + busProjectVoList.add(vos.getFirst()); + } } } } - //遍历 + //遍历反查 List roleVos; for (BusProjectVo projectVo : busProjectVoList) { roleVos = new ArrayList<>(); - //通过项目查找所有角色 - LambdaQueryWrapper lqw1 = new LambdaQueryWrapper<>(); - lqw1.eq(SysRoleWork::getProjectId,projectVo.getId()); - //获取角色 - List roleWorkList = list(lqw1); - for (SysRoleWork sysRoleWork : roleWorkList) { - SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId()); - if (sysRoleVo != null){ - roleVos.add(sysRoleVo); + List roleList = baseMapper.getRoleList(userId, projectVo.getId()); + for (SysUserRole userRole : roleList) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(SysRoleWork::getRoleId, userRole.getRoleId()); + lqw.eq(SysRoleWork::getProjectId,projectVo.getId()); + List list = list(lqw); + for (SysRoleWork roleWork : list) { + SysRoleVo roleVo = roleService.selectRoleById(roleWork.getRoleId()); + if (roleVo != null){ + roleVos.add(roleVo); + } } } projectVo.setRoleVos(roleVos); } + return busProjectVoList; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/patch/controller/PdMasterController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/patch/controller/PdMasterController.java index 885a9d91..49463456 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/patch/controller/PdMasterController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/patch/controller/PdMasterController.java @@ -46,7 +46,7 @@ public class PdMasterController extends BaseController { /** * 获取当前用户对应部门下的所有用户 */ - @SaCheckPermission("patch:master:findThis") +// @SaCheckPermission("patch:master:findThis") @GetMapping("/findThis") public R> findThis() { return R.ok(userService.findThis());