From ced11a778b9bf4deee59445a41e3ede298d8c963 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期四, 25 二月 2021 11:20:05 +0800
Subject: [PATCH] 人员管理的按钮权限和 可见人员权限

---
 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