| | |
| | | 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; |
| | |
| | | private BaseMetaService baseMetaService; |
| | | @Resource |
| | | private BaseRoleService baseRoleService; |
| | | @Resource |
| | | private SysProjectService sysProjectService; |
| | | |
| | | private LazyDataModel<SysUser> dataModel; |
| | | private SysUser sysUser; |
| | |
| | | private String editPasswor; |
| | | private List<BaseMeta> codeList; |
| | | private List<BaseRole> roleList; |
| | | private List<Waster> wasterSelectList; |
| | | |
| | | public List<BaseRole> getRoleList() { |
| | | return roleList; |
| | |
| | | } |
| | | |
| | | public void updatePassword() { |
| | | this.username = getUser().getName(); |
| | | this.sysUser = getUser(); |
| | | this.username = getUser().getName(); |
| | | } |
| | | |
| | | |
| | |
| | | int totalRows = sheet.getPhysicalNumberOfRows(); |
| | | List<SysUser> userList=new ArrayList<>(); |
| | | System.out.println("totalRows=========="+totalRows); |
| | | String errorMsg = null; |
| | | |
| | | for (int i = 1; i < totalRows; i++) { |
| | | row=sheet.getRow(i); |
| | | totalCells= row.getLastCellNum(); |
| | |
| | | sysUser.setArp((int)Double.parseDouble(valuesList.get(2))+"");//arp号 |
| | | sysUser.setName(valuesList.get(3));//姓名 |
| | | sysUser.setAccount(valuesList.get(4));//账号 |
| | | sysUser.setPassword(MD5Utils.encode((int)Double.parseDouble(valuesList.get(5))+""));//密码 |
| | | |
| | | String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; |
| | | if (!valuesList.get(5).matches(PW_PATTERN)){ |
| | | errorMsg += "第"+i+"行,密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"; |
| | | } |
| | | |
| | | 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("是")){ |
| | |
| | | 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); |
| | | userList.add(sysUser); |
| | | } |
| | | if (errorMsg != null){ |
| | | FacesUtils.warn(errorMsg); |
| | | } |
| | | |
| | | this.sysUserService.insertSysUserList(userList); |
| | | System.out.println("=========导入结束====="); |
| | | FacesUtils.info("导入成功。"); |
| | |
| | | |
| | | public String updatePasswordAction() throws NoSuchAlgorithmException, CharacterCodingException |
| | | { |
| | | this.sysUser = getUser(); |
| | | |
| | | if(!this.sysUser.getPassword().equals(MD5Utils.encode(this.oriPassword))) |
| | | { |
| | | FacesUtils.warn("原密码错误,请重新输入!"); |
| | | return null; |
| | | } |
| | | if(!this.newPassword.equals(this.newPasswordSecond)) |
| | | { |
| | | FacesUtils.warn("新密码不一致,请重新输入。"); |
| | | return null; |
| | | } |
| | | if(!this.newPassword.equals(this.newPasswordSecond)) |
| | | { |
| | | FacesUtils.warn("新密码不一致,请重新输入。"); |
| | | return null; |
| | | } |
| | | |
| | | this.sysUser.setName(username); |
| | | this.sysUser.setPassword(MD5Utils.encode(this.newPassword)); |
| | | String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; |
| | | if (!this.newPassword.matches(PW_PATTERN)){ |
| | | FacesUtils.warn("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); |
| | | return null; |
| | | } |
| | | |
| | | // this.sysUser.setName(username); |
| | | this.sysUser.setPassword(MD5Utils.encode(this.newPassword)); |
| | | this.sysUserService.updateSysUser(sysUser); |
| | | this.newPassword = null; |
| | | this.oriPassword = null; |
| | | this.newPasswordSecond = null; |
| | | FacesUtils.info("修改成功,请重新登录!"); |
| | | RequestContext.getCurrentInstance().execute("PF('dialogPassword').hide()"); |
| | | RequestContext.getCurrentInstance().execute("PF('changePassword').hide()"); |
| | | this.getSubject().logout(); |
| | | return Constants.PAGE_LOGIN + Constants.REDIRECT; |
| | | } |
| | |
| | | } |
| | | |
| | | // 检查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,}"; |
| | | if (!sysUser.getPassword().matches(PW_PATTERN)){ |
| | | FacesUtils.warn("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); |
| | | return; |
| | | } |
| | | |
| | | sysUser.setPassword(MD5Utils.encode(sysUser.getPassword())); |
| | | this.sysUserService.insertSysUser(sysUser); |
| | | |
| | |
| | | } |
| | | |
| | | // 检查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 { |
| | |
| | | return seeFlagSelectList; |
| | | } |
| | | |
| | | public List<Waster> getWasterSelectList() { |
| | | if (this.wasterSelectList == null) { |
| | | this.wasterSelectList = Arrays.asList(Waster.values()); |
| | | } |
| | | |
| | | return wasterSelectList; |
| | | } |
| | | |
| | | public String getArp() { |
| | | return arp; |
| | | } |