From d629fe1ff6a7c9c720e5ab94c8eb07a737b4dc0f Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: Fri, 06 Aug 2021 16:28:27 +0800
Subject: [PATCH] 添加新疆大学、安科院配置
---
src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 125 +++++++++++++++++++++++++++++++----------
1 files changed, 95 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 88d23f2..80e8d17 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/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;
}
@@ -179,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));//部门
@@ -199,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卡号检查
@@ -213,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));//电话
@@ -247,7 +260,8 @@
for (String project : projects) {
//不存再就直接推出
if (!sysProjectService.isExistProject(project)) {
- throw new Exception("课题组不存在,(" + i + "行)");
+ errorMsg += ("课题组不存在,(" + i + "行)");
+ continue;
}
}
//都存在就设置
@@ -259,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("导入失败。");
@@ -412,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;
}
@@ -453,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);
@@ -483,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>() {
@@ -490,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,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);
+ }
}
+
+ selectedList = new ArrayList<>();
} catch (Exception e) {
logger.error(e);
}
@@ -503,23 +557,34 @@
@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() {
return sysUser;
}
--
Gitblit v1.9.2