李宇
2021-04-07 fcdb56cf78b63f5b1455bbfab0c2bd7934b0aca5
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;
@@ -102,6 +103,14 @@
    public void onNewBtnClick() {
        this.sysUser = new SysUser();
        if (this.selectedList.size() > 1) {
            FacesUtils.warn("不能多选");
            return;
        }
        if (this.selectedList.size() == 1) {
            this.sysUser = this.sysUserService.getSysUser(this.selectedList.get(0).getId());
            this.sysUser.setId(null);
        }
        this.action = Constants.ACTION_ADD;
    }
@@ -189,6 +198,9 @@
                }
                System.out.println("size :     "+valuesList.size());
                System.out.println("value :     "+valuesList);
                if (valuesList.size() != 14){
                    break;
                }
                SysUser sysUser=new SysUser();
                sysUser.setCompany(valuesList.get(0));//单位
                sysUser.setDepartment(valuesList.get(1));//部门
@@ -494,6 +506,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 +523,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);
                    }