From b9ac0013ae07e41813ef9bc22aedc3d93cbc7e59 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 11 一月 2021 09:53:50 +0800
Subject: [PATCH] 模块:实验室管理 新增:实验室课题组多选 提出:秦老师
---
src/main/webapp/laboratory_mng.xhtml | 11 +++++
src/main/java/com/nanometer/smartlab/entity/SysLaboratory.java | 47 ++++++++++++++++++++---
src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java | 3 +
src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java | 3 +
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml | 6 +-
src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java | 2
src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml | 11 +++++
7 files changed, 73 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
index 4e1daf7..5153a26 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
@@ -226,6 +226,9 @@
return;
}
+ //实体类重新获取项目组信息
+ sysLaboratory.setProject(null);
+ sysLaboratory.getProject();
this.sysLaboratoryService.updateSysLaboratory(sysLaboratory);
FacesUtils.info("修改成功。");
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
index a375e93..49434e3 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
@@ -84,13 +84,13 @@
</select>
<insert id="insertSysLaboratory" parameterType="com.nanometer.smartlab.entity.SysLaboratory">
- insert into sys_laboratory(id, type, name, info_code, bar_code, location1, location2, valid_flag,department, create_time, update_time)
- values (#{id}, #{type}, #{name}, #{infoCode}, #{barCode}, #{location1}, #{location2}, 1,#{department}, now(), now())
+ insert into sys_laboratory(id, type, name, info_code, bar_code, location1, location2, valid_flag,department, create_time, update_time,project)
+ values (#{id}, #{type}, #{name}, #{infoCode}, #{barCode}, #{location1}, #{location2}, 1,#{department}, now(), now(),#{project})
</insert>
<update id="updateSysLaboratory" parameterType="com.nanometer.smartlab.entity.SysLaboratory">
update sys_laboratory set type=#{type}, name=#{name}, info_code=#{infoCode}, bar_code=#{barCode}, location1=#{location1}, location2=#{location2},department=#{department},
- update_time=now()
+ update_time=now(),project = #{project}
where id=#{id}
</update>
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java
index 3e71308..a907dae 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java
@@ -23,4 +23,7 @@
public List<SysProject> getSysProjectListByProjectId(Map params) throws DataAccessException;
void insertBatch(List<?> list);
+
+ //获取不重复的课题组名
+ List<SysProject> selectDistinctProjects();
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml
index c3e5311..5ad09c8 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml
@@ -49,6 +49,17 @@
</if>
</select>
+ <select id="selectDistinctProjects" parameterType="java.util.Map" resultMap="SysProject">
+ SELECT
+ sp.*
+ FROM
+ sys_project sp
+ WHERE sp.valid_flag = 1
+ AND sp.project is not null
+ GROUP BY
+ sp.project
+ </select>
+
<insert id="insertBatch" parameterType="java.util.List">
insert into sys_project
diff --git a/src/main/java/com/nanometer/smartlab/entity/SysLaboratory.java b/src/main/java/com/nanometer/smartlab/entity/SysLaboratory.java
index 7f37c85..7eb89f5 100644
--- a/src/main/java/com/nanometer/smartlab/entity/SysLaboratory.java
+++ b/src/main/java/com/nanometer/smartlab/entity/SysLaboratory.java
@@ -4,6 +4,8 @@
import java.io.Serializable;
import java.sql.Timestamp;
+import java.util.Arrays;
+import java.util.List;
/**
* Created by johnny on 17/11/23.
@@ -22,6 +24,10 @@
private Timestamp createTime;
private Timestamp updateTime;
private ValidFlag validFlag;
+ //显示
+ private List<String> projects;
+ //存放
+ private String project;
public String getId() {
return id;
@@ -103,11 +109,40 @@
this.validFlag = validFlag;
}
- public String getDepartment() {
- return department;
- }
+ public String getDepartment() {
+ return department;
+ }
- public void setDepartment(String department) {
- this.department = department;
- }
+ public void setDepartment(String department) {
+ this.department = department;
+ }
+
+ public List<String> getProjects() {
+ if (projects == null && project != null){
+ this.projects = Arrays.asList(this.project.split(","));
+ }
+ return projects;
+ }
+
+ public void setProjects(List<String> projects) {
+ this.projects = projects;
+ }
+
+ public String getProject() {
+ if (this.project == null){
+ this.project = "";
+ if (projects != null && projects.size() > 0) {
+ projects.forEach(pro->{
+ this.project += ",";
+ this.project += pro;
+ });
+ this.project = this.project.substring(1);
+ }
+ }
+ return project;
+ }
+
+ public void setProject(String project) {
+ this.project = project;
+ }
}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
index 1cc83ee..033e838 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
@@ -241,7 +241,7 @@
@Override
public List<SysProject> getAll() {
- return sysProjectDao.getSysProjectList(null).stream().filter(project->project.getProject()!=null).collect(Collectors.toList());
+ return sysProjectDao.selectDistinctProjects();
}
@Override
diff --git a/src/main/webapp/laboratory_mng.xhtml b/src/main/webapp/laboratory_mng.xhtml
index 2624312..601dedb 100644
--- a/src/main/webapp/laboratory_mng.xhtml
+++ b/src/main/webapp/laboratory_mng.xhtml
@@ -67,6 +67,10 @@
<h:outputText value="#{row.name}"></h:outputText>
</p:column>
+ <p:column headerText="所属项目组">
+ <h:outputText value="#{row.project}"></h:outputText>
+ </p:column>
+
<p:column headerText="状态码">
<h:outputText value="#{row.infoCode}"></h:outputText>
</p:column>
@@ -131,6 +135,13 @@
<f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_USER_DEPARTMENT)}"
var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
</p:selectOneMenu>
+
+
+ <p:outputLabel value="所属课题组" for="multiple"/>
+ <p:selectCheckboxMenu id="multiple" value="#{laboratoryMngController.sysLaboratory.projects}" label="Cities" multiple="true"
+ filter="true" filterMatchMode="startsWith" panelStyle="width:250px">
+ <f:selectItems value="#{sysProjectServiceImpl.getAll()}" var="item" itemValue="#{item.project}" itemLabel="#{item.project}"/>
+ </p:selectCheckboxMenu>
</p:panelGrid>
<p:panel styleClass="btn">
<p:commandButton value="保存"
--
Gitblit v1.9.2