From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 18 八月 2021 14:27:59 +0800 Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错 --- src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 153 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 123 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java index 78f0c67..80e8d17 100644 --- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java @@ -7,6 +7,7 @@ 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; @@ -69,6 +70,10 @@ private String editPasswor; 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; @@ -98,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; } @@ -175,16 +188,18 @@ } valuesList.add(id); }else if(t==6){ - cellInfo=new BigDecimal(""+cellInfo).toString(); - valuesList.add(cellInfo); + if (!StringUtils.isEmpty(cellInfo)){ + cellInfo=new BigDecimal(""+cellInfo).toString(); + valuesList.add(cellInfo); + }else{ + valuesList.add(cellInfo); + } } else { valuesList.add(cellInfo); } - } - System.out.println("size : "+valuesList.size()); - System.out.println("value : "+valuesList); + SysUser sysUser=new SysUser(); sysUser.setCompany(valuesList.get(0));//单位 sysUser.setDepartment(valuesList.get(1));//部门 @@ -195,8 +210,8 @@ String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; if (!valuesList.get(5).matches(PW_PATTERN)){ errorMsg += "第"+i+"行,密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"; + continue; } - sysUser.setPassword(MD5Utils.encode(valuesList.get(5))+"");//密码 //valuesList.get(8) id卡号检查 @@ -209,10 +224,12 @@ //8位补齐20位,否则不做操作 String idCard = "E0E01E000A" + idCardUpper + "01"; sysUser.setIdCard(idCard);//id卡号 + }else { + sysUser.setIdCard(idCardUpper);//id卡号 } }else{ - FacesUtils.warn("第"+i+"行,id卡号需要8位或者20位"); - return; + errorMsg += ("第"+i+"行,id卡号需要8位或者20位"); + continue; } } sysUser.setPhone(valuesList.get(6));//电话 @@ -243,7 +260,8 @@ for (String project : projects) { //不存再就直接推出 if (!sysProjectService.isExistProject(project)) { - throw new Exception("课题组不存在,(" + i + "行)"); + errorMsg += ("课题组不存在,(" + i + "行)"); + continue; } } //都存在就设置 @@ -255,13 +273,14 @@ sysUser.setValidFlag(ValidFlag.VALID); userList.add(sysUser); } - if (errorMsg != null){ - FacesUtils.warn(errorMsg); - } this.sysUserService.insertSysUserList(userList); System.out.println("=========导入结束====="); - FacesUtils.info("导入成功。"); + if (errorMsg != null){ + FacesUtils.warn(errorMsg); + }else { + FacesUtils.info("导入成功。"); + } }catch (Exception ex) { ex.printStackTrace(); FacesUtils.info("导入失败。"); @@ -408,8 +427,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; } @@ -449,6 +474,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); @@ -479,6 +509,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>() { @@ -486,11 +526,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); + } } + + selectedList = new ArrayList<>(); } catch (Exception e) { logger.error(e); } @@ -499,21 +557,32 @@ @Override public SysUser getRowData(String rowKey) { - Iterator<SysUser> iterator = this.iterator(); - if (iterator != null) { - SysUser su = null; - while (iterator.hasNext()) { - su = iterator.next(); - if (rowKey.equals(su.getId())) { - return su; - } - } - } - return null; +// Iterator<SysUser> iterator = this.iterator(); +// if (iterator != null) { +// SysUser su = null; +// while (iterator.hasNext()) { +// su = iterator.next(); +// if (rowKey.equals(su.getId())) { +// return su; +// } +// } +// } + return sysUserService.getSysUser(rowKey); } }; } return dataModel; + } + + public void exportLab2Excel(){ + try { + List<Map> list = sysUserService.getExportUserList(arp, name,departmentName,project,company); + sysUserService.exportUser2Excel(list); + FacesUtils.info("导出成功"); + }catch (Exception e){ + e.printStackTrace(); + FacesUtils.warn("导出失败"); + } } public SysUser getSysUser() { @@ -550,6 +619,14 @@ } return seeFlagSelectList; + } + + public List<Waster> getWasterSelectList() { + if (this.wasterSelectList == null) { + this.wasterSelectList = Arrays.asList(Waster.values()); + } + + return wasterSelectList; } public String getArp() { @@ -607,4 +684,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