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