gdg
2021-02-03 94e89a3391c7f28d9002fbcc0cafdbf6d05d7e73
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;
@@ -40,7 +38,7 @@
   @Transactional(propagation = Propagation.REQUIRED)
   public List<SysLaboratoryContainer> getSysLaboratoryContainerList(String laboratoryType, String laboratoryName,
         String laboratoryId, Integer first, Integer pageSize) {
         String laboratoryId,String project,String controllerName, Integer first, Integer pageSize) {
      try {
         Map<String, Object> params = new HashMap<String, Object>();
         if (StringUtils.isNotBlank(laboratoryType)) {
@@ -52,6 +50,8 @@
         if (StringUtils.isNotBlank(laboratoryId)) {
            params.put("laboratoryId", laboratoryId);
         }
         params.put("project", project);
         params.put("controllerName", controllerName);
         params.put("first", first);
         params.put("pageSize", pageSize);
         return this.sysLaboratoryContainerDao.getSysLaboratoryContainerList(params);
@@ -65,11 +65,11 @@
   @Transactional(propagation = Propagation.REQUIRED)
   public List<SysLaboratoryContainer> getSysLaboratoryContainerList(
         String laboratoryId) {
       return getSysLaboratoryContainerList(null,null,laboratoryId,null,null);
       return getSysLaboratoryContainerList(null,null,laboratoryId,null,null,null,null);
   }
   @Transactional(propagation = Propagation.REQUIRED)
   public int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName, String laboratoryId) {
   public int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName, String laboratoryId,String project,String controllerName) {
      try {
         Map<String, Object> params = new HashMap<String, Object>();
         if (StringUtils.isNotBlank(laboratoryType)) {
@@ -81,6 +81,8 @@
         if (StringUtils.isNotBlank(laboratoryId)) {
            params.put("laboratoryId", laboratoryId);
         }
         params.put("project", project);
         params.put("controllerName", controllerName);
         return this.sysLaboratoryContainerDao.getSysLaboratoryContainerTotalCount(params);
      } catch (DataAccessException e) {
         logger.error(e.getMessage(), e);
@@ -259,4 +261,45 @@
      }
   }
    @Override
    public List<Map> exportExcelList(String laboratoryType, String laboratoryName,String project,String controllerName) {
      Map<String, String> params = new HashMap<>();
      params.put("type", laboratoryType);
      params.put("name", laboratoryName);
      params.put("project", project);
      params.put("controllerName", controllerName);
      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", "临时存储库名称");
      map.put("project", "课题组");
      ExcelUtils.export2Excel(list,"实验室临时存储库管理",map);
   }
    @Override
    public List<String> selectProjectsByContainerCode(String containerCode) {
      List<String> projects = sysLaboratoryContainerDao.selectProjectsByContainerCode(containerCode);
      if  (projects.size() > 0){
         List<String> projectList = new ArrayList<>();
         for (String project : projects){
            if (StringUtils.isNotBlank(project)){
               projectList.addAll(Arrays.asList(project.split(",")));
            }
         }
         return projectList;
      }
      return null;
    }
}