From db523e0fdf7801cdc01f10886f2c9aec04e711bb Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期四, 25 二月 2021 11:21:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/yufei' into master --- src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 37 +++++++++++++++++++++++++++++++++---- 1 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java index 92407d3..bb5bd60 100644 --- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java @@ -73,6 +73,7 @@ private List<Waster> wasterSelectList; private String project; private String company; + private BaseRole role; public List<BaseRole> getRoleList() { return roleList; @@ -494,6 +495,16 @@ } } + + public void initPage() { + sysUser = sysUserService.getSysUser(getUser().getId()); + role = baseRoleService.getRoleByUserId(sysUser.getId()); + } + public boolean isAccess(String info) { + String permission = role.getBtnPermission(); + return permission.contains(info); + } + public LazyDataModel<SysUser> getDataModel() { if (this.dataModel == null) { this.dataModel = new LazyDataModel<SysUser>() { @@ -501,11 +512,29 @@ public List<SysUser> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<SysUser> list = null; try { - int count = sysUserService.getSysUserTotalCount(arp, name,departmentName,project,company); - this.setRowCount(count); - if (count > 0) { - list = sysUserService.getSysUserList(arp, name,departmentName,project,company, first, pageSize); + //做可见人员过滤 + String userPermission = role.getUserPermission(); + if (userPermission.contains("自己")) { + list = Collections.singletonList(sysUserService.getSysUser(UserMngController.this.sysUser.getId())); + this.setRowCount(1); + + }else if (userPermission.contains("课题组")){ + project = sysUser.getProject(); + int count = sysUserService.getUserCountInProject(arp, name,departmentName,project,company); + this.setRowCount(count); + if (count > 0) { + list = sysUserService.getUserInProject(arp, name,departmentName,project,company, first, pageSize); + } + + }else{ + int count = sysUserService.getSysUserTotalCount(arp, name,departmentName,project,company); + this.setRowCount(count); + if (count > 0) { + list = sysUserService.getSysUserList(arp, name,departmentName,project,company, first, pageSize); + } } + + } catch (Exception e) { logger.error(e); } -- Gitblit v1.9.2