From 1afdf3622484b9a54c4cc4642e38bbf5c815884f Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期四, 04 二月 2021 17:48:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 126 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 114 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java index 53a987a..92407d3 100644 --- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java @@ -7,8 +7,10 @@ import com.nanometer.smartlab.entity.enumtype.ApproverFlag; import com.nanometer.smartlab.entity.enumtype.SeeFlag; import com.nanometer.smartlab.entity.enumtype.ValidFlag; +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; @@ -50,6 +52,8 @@ private BaseMetaService baseMetaService; @Resource private BaseRoleService baseRoleService; + @Resource + private SysProjectService sysProjectService; private LazyDataModel<SysUser> dataModel; private SysUser sysUser; @@ -66,6 +70,9 @@ private String editPasswor; private List<BaseMeta> codeList; private List<BaseRole> roleList; + private List<Waster> wasterSelectList; + private String project; + private String company; public List<BaseRole> getRoleList() { return roleList; @@ -194,11 +201,26 @@ errorMsg += "第"+i+"行,密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"; } - sysUser.setPassword(MD5Utils.encode((int)Double.parseDouble(valuesList.get(5))+""));//密码 + sysUser.setPassword(MD5Utils.encode(valuesList.get(5))+"");//密码 + //valuesList.get(8) id卡号检查 + if (valuesList.get(8) != null && valuesList.get(8).length()>0){ + //大写转换 + String idCardUpper = valuesList.get(8).trim().toUpperCase(); + //8位和20位下8位才做补齐20位,否则提示输入id卡号8位或者20位 + if (idCardUpper.length() == 8 ||idCardUpper.length() == 20) { + if (idCardUpper.length() == 8){ + //8位补齐20位,否则不做操作 + String idCard = "E0E01E000A" + idCardUpper + "01"; + sysUser.setIdCard(idCard);//id卡号 + } + }else{ + FacesUtils.warn("第"+i+"行,id卡号需要8位或者20位"); + return; + } + } sysUser.setPhone(valuesList.get(6));//电话 sysUser.setEmail(valuesList.get(7));//邮箱 - sysUser.setIdCard(valuesList.get(8));//id卡号 sysUser.setPoint((int)Double.parseDouble(valuesList.get(9)));//分数 sysUser.setRoleId(valuesList.get(10));//角色 if(valuesList.get(11).equals("是")){ @@ -218,10 +240,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); @@ -336,12 +368,30 @@ } // 检查idCard + if (this.sysUser.getIdCard() != null && this.sysUser.getIdCard().length()>0){ + String idCardUpper = sysUser.getIdCard().trim().toUpperCase(); + //8位和20位下8位才做补齐20位,否则提示输入id卡号8位或者20位 + if (idCardUpper.length() == 8 ||idCardUpper.length() == 20) { + if (idCardUpper.length() == 8){ + //8位补齐20位,否则不做操作 + this.sysUser.setIdCard("E0E01E000A" + idCardUpper + "01"); + }else{ + //20位 + this.sysUser.setIdCard(idCardUpper); + } + }else{ + FacesUtils.warn("id卡号8位或者20位"); + return; + } + } + + if (!StringUtils.isEmpty(this.sysUser.getIdCard()) && this.sysUserService.isSysUserExist(null, null, this.sysUser.getIdCard(), null)) { FacesUtils.warn("ID卡号已存在。"); return; } - if(!org.apache.commons.lang.StringUtils.isNotBlank(sysUser.getProjectId())){ - sysUser.setProjectId(null); + if(!org.apache.commons.lang.StringUtils.isNotBlank(sysUser.getProject())){ + sysUser.setProject(null); } String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; @@ -362,8 +412,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; } @@ -375,6 +431,23 @@ } // 检查idCard + if (this.sysUser.getIdCard() != null && this.sysUser.getIdCard().length()>0){ + String idCardUpper = sysUser.getIdCard().trim().toUpperCase(); + //8位和20位下8位才做补齐20位,否则提示输入id卡号8位或者20位 + if (idCardUpper.length() == 8 ||idCardUpper.length() == 20) { + if (idCardUpper.length() == 8){ + //8位补齐20位,否则不做操作 + this.sysUser.setIdCard("E0E01E000A" + idCardUpper + "01"); + }else{ + //20位 + this.sysUser.setIdCard(idCardUpper); + } + }else{ + FacesUtils.warn("id卡号8位或者20位"); + return; + } + } + if(this.sysUser.getIdCard()==null || this.sysUser.getIdCard()==""){ }else { @@ -386,6 +459,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); @@ -423,10 +501,10 @@ 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); + int count = sysUserService.getSysUserTotalCount(arp, name,departmentName,project,company); this.setRowCount(count); if (count > 0) { - list = sysUserService.getSysUserList(arp, name,departmentName, first, pageSize); + list = sysUserService.getSysUserList(arp, name,departmentName,project,company, first, pageSize); } } catch (Exception e) { logger.error(e); @@ -489,6 +567,14 @@ return seeFlagSelectList; } + public List<Waster> getWasterSelectList() { + if (this.wasterSelectList == null) { + this.wasterSelectList = Arrays.asList(Waster.values()); + } + + return wasterSelectList; + } + public String getArp() { return arp; } @@ -544,4 +630,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