From 87734ce26607850c6852b52541fdcde62328965a Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期三, 16 十二月 2020 14:54:05 +0800
Subject: [PATCH] 模块:用户管理 修改:新增和修改用户加入课题组信息 提出:秦老师

---
 src/main/webapp/user_mng.xhtml                                          |   11 +++++++++++
 src/main/java/com/nanometer/smartlab/service/SysProjectService.java     |    2 ++
 src/main/java/com/nanometer/smartlab/controller/UserMngController.java  |    4 +++-
 src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml                 |    9 +++++----
 src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java |    5 +++++
 src/main/java/com/nanometer/smartlab/entity/SysUser.java                |   10 ++++++++++
 6 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index bc4a132..d627078 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -319,7 +319,9 @@
                     FacesUtils.warn("ID卡号已存在。");
                     return;
                 }
-
+                if(!org.apache.commons.lang.StringUtils.isNotBlank(sysUser.getProjectId())){
+                    sysUser.setProjectId(null);
+                }
                 sysUser.setPassword(MD5Utils.encode(sysUser.getPassword()));
                 this.sysUserService.insertSysUser(sysUser);
 
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
index 8cdca40..71cf4fe 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
@@ -22,6 +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>
   </resultMap>
 
   <sql id="queryWhereSql">
@@ -118,7 +119,7 @@
   </select>
 
   <select id="getSysUserInfoList" parameterType="java.util.Map" resultMap="SysUser">
-    select u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,u.point,group_concat(container_code SEPARATOR ',') containerCodeList ,u.arp, bm1.meta_value department,bm2.meta_value company from sys_user u
+    select u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,u.point,group_concat(container_code SEPARATOR ',') containerCodeList ,u.arp, bm1.meta_value department,bm2.meta_value company,u.project_id projectId from sys_user u
     left join sys_laboratory l on l.department = u.department and l.valid_flag = 1
     left join sys_laboratory_container c on c.laboratory_id = l.id and c.valid_flag = 1
     left join base_meta bm1 on bm1.id = u.department
@@ -137,13 +138,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)
-    values (#{id}, #{arp}, #{account}, #{password}, #{company}, #{department}, #{name}, #{phone}, #{email}, #{memo}, #{idCard}, #{approverFlag}, #{seeFlag}, #{roleId}, 1, now(), now())
+    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>
 
   <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()
+    email=#{email}, memo=#{memo}, id_card=#{idCard}, approver_flag=#{approverFlag}, see_flag=#{seeFlag}, role_id=#{roleId}, point=#{point},update_time=now(),project_id=#{projectId}
     where id=#{id}
   </update>
 
diff --git a/src/main/java/com/nanometer/smartlab/entity/SysUser.java b/src/main/java/com/nanometer/smartlab/entity/SysUser.java
index 69a3806..78b79bb 100644
--- a/src/main/java/com/nanometer/smartlab/entity/SysUser.java
+++ b/src/main/java/com/nanometer/smartlab/entity/SysUser.java
@@ -32,6 +32,7 @@
     private Timestamp updateTime;
     private String containerCodeList;
     private String roleName;
+    private String projectId;
 
     public String getId() {
         return id;
@@ -192,4 +193,13 @@
     public void setContainerCodeList(String containerCodeList) {
         this.containerCodeList = containerCodeList;
     }
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysProjectService.java b/src/main/java/com/nanometer/smartlab/service/SysProjectService.java
index db92c69..66c5bb5 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysProjectService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysProjectService.java
@@ -32,4 +32,6 @@
     List<SysProject> getSysProjectListUpdate(int first, int pageSize,String createrUser,String projectId,String projectName,String sysUserName);
 
     void importProject(FileUploadEvent event, SysUser user) throws  Exception;
+
+    List<SysProject> getAll();
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
index c5a69c6..64b6c81 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
@@ -239,6 +239,11 @@
     }
 
     @Override
+    public List<SysProject> getAll() {
+         return sysProjectDao.getSysProjectList(null);
+    }
+
+    @Override
     public List<SysProject> getSysProjectList(int first, int pageSize) {
         Map<String, Object> params = new HashMap<>();
         params.put("first", first);
diff --git a/src/main/webapp/user_mng.xhtml b/src/main/webapp/user_mng.xhtml
index 71022e0..c3c039a 100644
--- a/src/main/webapp/user_mng.xhtml
+++ b/src/main/webapp/user_mng.xhtml
@@ -84,6 +84,10 @@
                     <h:outputText value="#{baseMetaService.getBaseMetaValue(row.department)}"></h:outputText>
                 </p:column>
 
+                <p:column headerText="课题组">
+                    <h:outputText value="#{sysProjectServiceImpl.getSysProject(row.projectId).projectName}"></h:outputText>
+                </p:column>
+
                 <p:column headerText="ARP">
                     <h:outputText value="#{row.arp}"></h:outputText>
                 </p:column>
@@ -161,6 +165,13 @@
                 <p:inputText value="#{userMngController.sysUser.arp}" maxlength="100"
                              required="true" requiredMessage="请输入ARP号"></p:inputText>
 
+                <p:outputLabel value="课题组"></p:outputLabel>
+                <p:selectOneMenu value="#{userMngController.sysUser.projectId}">
+                    <f:selectItem itemLabel="不选择课题组"  />
+                    <f:selectItems value="#{sysProjectServiceImpl.getAll()}"
+                                   var="item" itemLabel="#{item.projectName}" itemValue="#{item.id}"></f:selectItems>
+                </p:selectOneMenu>
+
                 <p:outputLabel value="姓名"></p:outputLabel>
                 <p:inputText value="#{userMngController.sysUser.name}" maxlength="100"
                              required="true" requiredMessage="请输入姓名"></p:inputText>

--
Gitblit v1.9.2