From 0d639a8f891065c0733081b83bc0b94dc5410049 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 11 一月 2021 17:15:59 +0800
Subject: [PATCH] 模块:用户管理 修改:用户课题搜索单选和存入字符,更改获取课题下用户的接口 提出:秦老师
---
src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java | 12 +++++-
src/main/webapp/user_mng.xhtml | 8 ++--
src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 4 +-
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml | 7 +++
src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml | 33 +++++++---------
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java | 2 +
src/main/java/com/nanometer/smartlab/entity/SysUser.java | 9 ----
src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java | 3 +
src/main/java/com/nanometer/smartlab/dao/SysUserDao.java | 2
src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java | 9 ++++
10 files changed, 52 insertions(+), 37 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index eccbef6..d8b0f9a 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -373,8 +373,8 @@
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,}";
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java
index 7be34a5..934aae4 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java
@@ -46,4 +46,6 @@
void updateSysLabContainer(Map params);
List<Map> exportExcelList(Map params);
+
+ String selectProjectsByContainerCode(String containerCode);
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
index d0724ec..85327fe 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
@@ -213,4 +213,11 @@
and slc.valid_flag = 1
</select>
+ <select id="selectProjectsByContainerCode" resultType="java.lang.String">
+ select project
+ from sys_laboratory_container
+ where container_code = #{0}
+ and valid_flag = 1
+ </select>
+
</mapper>
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
index 14685de..7cd4783 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
@@ -42,7 +42,7 @@
int selectUserFavor(Map params);
- List<SysUser> getUserListByContainerCodeNew(String containerCode, String startTime, String endTime);
+ List<SysUser> getUserListByProject(String project, String startTime, String endTime);
List<SysUserDto> selectUserInfo();
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
index dffdfb3..fb8a108 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
@@ -22,7 +22,7 @@
<result property="updateTime" column="update_time"></result>
<result property="roleName" column="roleName"></result>
<result property="containerCodeList" column="containerCodeList"></result>
- <result property="projectId" column="project_id"></result>
+ <result property="project" column="project"></result>
</resultMap>
<resultMap id="SysUserDto" type="com.nanometer.smartlab.entity.dto.SysUserDto">
@@ -155,13 +155,13 @@
</select>
<insert id="insertSysUser" parameterType="com.nanometer.smartlab.entity.SysUser">
- insert into sys_user(id, arp, account, password, company, department, name, phone, email, memo, id_card, approver_flag, see_flag, role_id, valid_flag, create_time, update_time,project_id)
- values (#{id}, #{arp}, #{account}, #{password}, #{company}, #{department}, #{name}, #{phone}, #{email}, #{memo}, #{idCard}, #{approverFlag}, #{seeFlag}, #{roleId}, 1, now(), now(),#{projectId})
+ insert into sys_user(id, arp, account, password, company, department, name, phone, email, memo, id_card, approver_flag, see_flag, role_id, valid_flag, create_time, update_time,project)
+ values (#{id}, #{arp}, #{account}, #{password}, #{company}, #{department}, #{name}, #{phone}, #{email}, #{memo}, #{idCard}, #{approverFlag}, #{seeFlag}, #{roleId}, 1, now(), now(),#{project})
</insert>
<update id="updateSysUser" parameterType="com.nanometer.smartlab.entity.SysUser">
update sys_user set arp=#{arp}, account=#{account}, password=#{password}, company=#{company}, department=#{department}, name=#{name}, phone=#{phone},
- email=#{email}, memo=#{memo}, id_card=#{idCard}, approver_flag=#{approverFlag}, see_flag=#{seeFlag}, role_id=#{roleId}, point=#{point},update_time=now(),project_id=#{projectId}
+ email=#{email}, memo=#{memo}, id_card=#{idCard}, approver_flag=#{approverFlag}, see_flag=#{seeFlag}, role_id=#{roleId}, point=#{point},update_time=now(),project=#{project}
where id=#{id}
</update>
@@ -191,21 +191,6 @@
and u.update_time >= #{1} and #{2} > u.update_time
</select>
-
- <select id="getUserListByContainerCodeNew" parameterType="java.util.Map" resultMap="SysUser">
- SELECT u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,bm2.meta_value department,bm1.meta_value company,u.arp,u.point,sp.project
- from sys_user u
- left join base_meta bm1 on bm1.id = u.company
- left join base_meta bm2 on bm2.id = u.department
- LEFT JOIn sys_project sp on sp.id = u.project_id
- where u.project_id = (
- SELECT project_id from sys_laboratory_container
- WHERE container_code = #{0}
- and valid_flag = 1)
- AND u.valid_flag = 1
- and sp.valid_flag = 1
- and u.update_time >= #{1} and #{2} > u.update_time
- </select>
<select id="selectByAccount" parameterType="com.nanometer.smartlab.entity.SysUser" resultMap="SysUser">
select * from sys_user where valid_flag=1 and account=#{account}
@@ -242,6 +227,16 @@
where su.valid_flag = 1
and su.account = #{account}
</select>
+ <select id="getUserListByProject" parameterType="java.util.Map" resultMap="SysUser">
+ SELECT u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,bm2.meta_value department,bm1.meta_value company,u.arp,u.point,u.project
+ from sys_user u
+ left join base_meta bm1 on bm1.id = u.company
+ left join base_meta bm2 on bm2.id = u.department
+ where
+ u.project = #{0}
+ and u.valid_flag = 1
+ and u.update_time >= #{1} and #{2} > u.update_time
+ </select>
<update id="updateUserPointBySelective" parameterType="java.util.Map">
update sys_user set point=#{point}
diff --git a/src/main/java/com/nanometer/smartlab/entity/SysUser.java b/src/main/java/com/nanometer/smartlab/entity/SysUser.java
index 3e27027..9c29553 100644
--- a/src/main/java/com/nanometer/smartlab/entity/SysUser.java
+++ b/src/main/java/com/nanometer/smartlab/entity/SysUser.java
@@ -32,7 +32,6 @@
private Timestamp updateTime;
private String containerCodeList;
private String roleName;
- private String projectId;
private String project;
public String getId() {
@@ -193,14 +192,6 @@
public void setContainerCodeList(String containerCodeList) {
this.containerCodeList = containerCodeList;
- }
-
- public String getProjectId() {
- return projectId;
- }
-
- public void setProjectId(String projectId) {
- this.projectId = projectId;
}
public String getProject() {
diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index bd23c72..ddf7301 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -1030,8 +1030,16 @@
if (containerCode==null||containerCode.isEmpty()) {
throw new ApiException(ApiStatus.PARAM_NO_EXIST, ApiStatus.PARAM_NO_EXIST.getRetMsg() + "[containerCode]");
}
-
- return sysUserDao.getUserListByContainerCodeNew(containerCode, startTime, endTime);
+ List<String> projects = sysLaboratoryContainer.selectProjectsByContainerCode(containerCode);
+ List<SysUser> userList = null;
+ if (projects != null) {
+ userList = new ArrayList<>();
+ for (String project : projects) {
+ List<SysUser> dataList = sysUserDao.getUserListByProject(project, startTime, endTime);
+ userList.addAll(dataList);
+ }
+ }
+ return userList;
}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
index 63b881b..f70dfed 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
@@ -33,4 +33,7 @@
List<Map> exportExcelList(String laboratoryType, String laboratoryName);
void export2Excel(List<Map> list) throws Exception;
+
+ List<String> selectProjectsByContainerCode(String containerCode);
+
}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
index d0fded3..be5eac7 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
@@ -280,4 +280,13 @@
}
+ @Override
+ public List<String> selectProjectsByContainerCode(String containerCode) {
+ String projects = sysLaboratoryContainerDao.selectProjectsByContainerCode(containerCode);
+ if (projects != null){
+ return Arrays.asList(projects.split(","));
+ }
+ return null;
+ }
+
}
diff --git a/src/main/webapp/user_mng.xhtml b/src/main/webapp/user_mng.xhtml
index 2bf9136..54f3911 100644
--- a/src/main/webapp/user_mng.xhtml
+++ b/src/main/webapp/user_mng.xhtml
@@ -85,7 +85,7 @@
</p:column>
<p:column headerText="课题组">
- <h:outputText value="#{sysProjectServiceImpl.getSysProject(row.projectId).project}"></h:outputText>
+ <h:outputText value="#{row.project}"></h:outputText>
</p:column>
<p:column headerText="ARP">
@@ -166,10 +166,10 @@
required="true" requiredMessage="请输入ARP号"></p:inputText>
<p:outputLabel value="课题组"></p:outputLabel>
- <p:selectOneMenu value="#{userMngController.sysUser.projectId}">
- <f:selectItem itemLabel="不选择课题组" />
+ <p:selectOneMenu value="#{userMngController.sysUser.project}" filter="true" filterMatchMode="startsWith">
+ <f:selectItem itemLabel="不选择课题组" />
<f:selectItems value="#{sysProjectServiceImpl.getAll()}"
- var="item" itemLabel="#{item.project}" itemValue="#{item.id}"></f:selectItems>
+ var="item" itemLabel="#{item.project}" itemValue="#{item.project}"></f:selectItems>
</p:selectOneMenu>
<p:outputLabel value="姓名"></p:outputLabel>
--
Gitblit v1.9.2