From fcdb56cf78b63f5b1455bbfab0c2bd7934b0aca5 Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 07 四月 2021 18:18:14 +0800 Subject: [PATCH] 去除多余事务 --- src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 92 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java index 9ef8dc1..48c079b 100644 --- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java @@ -10,6 +10,7 @@ import com.nanometer.smartlab.entity.enumtype.Waster; import com.nanometer.smartlab.service.BaseMetaService; import com.nanometer.smartlab.service.BaseRoleService; +import com.nanometer.smartlab.service.SysProjectService; import com.nanometer.smartlab.service.SysUserService; import com.nanometer.smartlab.util.Constants; import com.nanometer.smartlab.util.FacesUtils; @@ -51,6 +52,8 @@ private BaseMetaService baseMetaService; @Resource private BaseRoleService baseRoleService; + @Resource + private SysProjectService sysProjectService; private LazyDataModel<SysUser> dataModel; private SysUser sysUser; @@ -68,6 +71,9 @@ private List<BaseMeta> codeList; private List<BaseRole> roleList; private List<Waster> wasterSelectList; + private String project; + private String company; + private BaseRole role; public List<BaseRole> getRoleList() { return roleList; @@ -97,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; } @@ -184,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));//部门 @@ -235,10 +252,20 @@ if(valuesList.get(12).equals(SeeFlag.LEADING.getText())){ sysUser.setSeeFlag(SeeFlag.LEADING); } - if(valuesList.size()==14){ - sysUser.setMemo(valuesList.get(13)); - }else { - sysUser.setMemo(""); + + + if (valuesList.size() > 13 && !valuesList.get(13).replace(" ","").isEmpty()){ + String[] projects = valuesList.get(13).split(","); + for (String project : projects) { + //不存再就直接推出 + if (!sysProjectService.isExistProject(project)) { + throw new Exception("课题组不存在,(" + i + "行)"); + } + } + //都存在就设置 + sysUser.setProject(valuesList.get(13).replace(" ","")); + }else{ + sysUser.setProject(null); } sysUser.setValidFlag(ValidFlag.VALID); @@ -397,8 +424,14 @@ return; } - // 检查ARP号 - if (this.sysUserService.isSysUserExist(this.sysUser.getArp(), null, null, this.sysUser.getId())) { + // 检查ARP号 //除自己外的arp +// if (this.sysUserService.isSysUserExist(this.sysUser.getArp(), null, null, this.sysUser.getId())) { +// FacesUtils.warn("ARP已存在。"); +// return; +// } + List<SysUser> list = sysUserService.getUserByArp(this.sysUser.getArp()); + assert list.size() < 2; + if (list.size() > 0 && !list.get(0).getId().equals(this.sysUser.getId())) { FacesUtils.warn("ARP已存在。"); return; } @@ -438,6 +471,11 @@ if(sysUser.getPassword()==null || sysUser.getPassword().equals("")){ sysUser.setPassword(this.editPasswor); }else { + String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; + if (!sysUser.getPassword().matches(PW_PATTERN)){ + FacesUtils.warn("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); + return; + } sysUser.setPassword(MD5Utils.encode(sysUser.getPassword())); } this.sysUserService.updateSysUser(sysUser); @@ -468,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>() { @@ -475,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); - this.setRowCount(count); - if (count > 0) { - list = sysUserService.getSysUserList(arp, name,departmentName, 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); } @@ -604,4 +670,20 @@ public void setDepartmentName(String departmentName) { this.departmentName = departmentName; } + + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } } -- Gitblit v1.9.2