gdg
2020-12-09 b9863f4bba1b11ebbaa51328abc7a7bd01fdf22a
模块:实验室存储管理
新增:导出
提出:秦老师
已修改6个文件
83 ■■■■■ 文件已修改
src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/laboratory_container_mng.xhtml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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");
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java
@@ -45,4 +45,5 @@
    void updateSysLabContainer(Map params);
    List<Map> exportExcelList(Map params);
}
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>
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;
}
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);
    }
}
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();