From b9863f4bba1b11ebbaa51328abc7a7bd01fdf22a Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期三, 09 十二月 2020 09:45:30 +0800
Subject: [PATCH] 模块:实验室存储管理 新增:导出 提出:秦老师
---
src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java | 11 +++++
src/main/webapp/laboratory_container_mng.xhtml | 2 +
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml | 36 ++++++++++++++++++
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java | 1
src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java | 4 ++
src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java | 29 ++++++++++++--
6 files changed, 79 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
index b509e77..005042c 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
@@ -219,6 +219,17 @@
}
}
+ public void export2Excel(){
+
+ try {
+ List<Map> list = sysLaboratoryContainerService.exportExcelList(laboratoryType, laboratoryName);
+ sysLaboratoryContainerService.export2Excel(list);
+ }catch (Exception e){
+ e.printStackTrace();
+ FacesUtils.warn("导出失败");
+ }
+ }
+
public void uploadFile(FileUploadEvent event) {
System.out.println("=========导入开始=====");
List<BaseMeta> typeList=baseMetaService.getBaseMetaList("container_type");
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java
index 3dc280a..7be34a5 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java
@@ -45,4 +45,5 @@
void updateSysLabContainer(Map params);
+ List<Map> exportExcelList(Map params);
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
index 9d61475..7397426 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
@@ -56,6 +56,8 @@
left join sys_laboratory as ss on su.laboratory_id = ss.id
left join sys_controller sc on sc.controller_code=su.controller_code
where su.valid_flag = 1
+ AND sc.valid_flag = 1
+ AND ss.valid_flag = 1
<if test="laboratoryType != null and laboratoryType != ''">
and ss.type = #{laboratoryType}
</if>
@@ -71,11 +73,45 @@
</if>
</select>
+
+ <select id="exportExcelList" parameterType="java.util.Map" resultType="java.util.Map">
+ SELECT
+ bm2.meta_value labType,
+ sl.NAME labName,
+ sc.controller_name controlName,
+ slc.container_code containerCode,
+ bm1.meta_value containerType ,
+ slc.info_code infoCode ,
+ bm3.meta_value structure,
+ slc.`name` name
+ FROM
+ sys_laboratory_container slc
+ LEFT JOIN base_meta bm1 ON bm1.id = slc.type
+ LEFT JOIN sys_laboratory sl ON sl.id = slc.laboratory_id
+ LEFT JOIN base_meta bm2 ON bm2.id = sl.type
+ LEFT JOIN sys_controller sc ON slc.controller_code = sc.controller_code
+ LEFT JOIN base_meta bm3 on bm3.id = slc.structure
+ WHERE
+ slc.valid_flag = 1
+ AND sc.valid_flag = 1
+ AND sl.valid_flag = 1
+ <if test="type != null and type != ''">
+ and sl.type = #{type}
+ </if>
+ <if test="name != null and name != ''">
+ and sl.name like concat("%",#{name},"%")
+ </if>
+ order by sl.name ASC,sc.controller_name,slc.container_code,slc.name
+
+ </select>
+
<select id="getSysLaboratoryContainerTotalCount" parameterType="java.util.Map" resultType="int">
select count(1) from sys_laboratory_container as su
left join sys_laboratory as ss on su.laboratory_id = ss.id
left join sys_controller sc on sc.controller_code=su.controller_code
where su.valid_flag = 1
+ AND sc.valid_flag = 1
+ AND ss.valid_flag = 1
<if test="laboratoryType != null and laboratoryType != ''">
and ss.type = #{laboratoryType}
</if>
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
index f56d677..63b881b 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
@@ -29,4 +29,8 @@
List<Map> getContainerPersonInCharge(String containerCode);
Map selectLocationByContainerCode(String containerCode);
+
+ List<Map> exportExcelList(String laboratoryType, String laboratoryName);
+
+ void export2Excel(List<Map> list) throws Exception;
}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
index 00be2a7..d0fded3 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
@@ -1,15 +1,13 @@
package com.nanometer.smartlab.service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import javax.annotation.Resource;
import com.google.common.collect.ImmutableBiMap;
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
+import com.nanometer.smartlab.util.ExcelUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.dao.DataAccessException;
@@ -259,4 +257,27 @@
}
}
+ @Override
+ public List<Map> exportExcelList(String laboratoryType, String laboratoryName) {
+ Map<String, String> params = new HashMap<>();
+ params.put("type", laboratoryType);
+ params.put("name", laboratoryName);
+ return sysLaboratoryContainerDao.exportExcelList(params);
+ }
+
+ @Override
+ public void export2Excel(List<Map> list) throws Exception {
+ Map<String, String> map = new LinkedHashMap<>();
+ map.put("labType", "实验室类型");
+ map.put("labName", "实验室名称");
+ map.put("controlName", "主控名称");
+ map.put("containerCode", "临时存储库条码");
+ map.put("containerType", "临时存储库类型");
+ map.put("infoCode", "临时存储库状态码");
+ map.put("structure", "临时存储库结构");
+ map.put("name", "临时存储库名称");
+ ExcelUtils.export2Excel(list,"实验室临时存储库管理",map);
+
+ }
+
}
diff --git a/src/main/webapp/laboratory_container_mng.xhtml b/src/main/webapp/laboratory_container_mng.xhtml
index f00faa3..cedb6ed 100644
--- a/src/main/webapp/laboratory_container_mng.xhtml
+++ b/src/main/webapp/laboratory_container_mng.xhtml
@@ -42,6 +42,8 @@
</p:commandButton>
<p:commandButton value="导入" styleClass="import-btn" onclick="importCon()"
></p:commandButton>
+ <p:commandButton value="导出" styleClass="new-btn" ajax="false" actionListener="${laboratoryContainerMngController.export2Excel}"
+ />
<script>
function importCon(){
$("#laboratoryContainerMngForm\\:importReagentBtn_input").click();
--
Gitblit v1.9.2