From c87738a78f57e6f68a0111d68ef3748b29dc1eda Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 23 六月 2021 12:21:59 +0800
Subject: [PATCH] 修改试剂排序

---
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java |   72 +++++++++++++++++++++++++++++++++---
 1 files changed, 66 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
index 2e19650..e39a5fd 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
@@ -1,15 +1,20 @@
 package com.nanometer.smartlab.service;
 
 import com.nanometer.smartlab.dao.SysLaboratoryDao;
+import com.nanometer.smartlab.dao.SysUserDao;
 import com.nanometer.smartlab.entity.SysLaboratory;
+import com.nanometer.smartlab.entity.SysUser;
+import com.nanometer.smartlab.entity.dto.LaboratoryVo;
 import com.nanometer.smartlab.exception.AlarmCode;
 import com.nanometer.smartlab.exception.AlarmException;
 import com.nanometer.smartlab.exception.BusinessException;
 import com.nanometer.smartlab.exception.ExceptionEnumCode;
+import com.nanometer.smartlab.util.ExcelUtils;
 import com.nanometer.smartlab.util.IDUtils;
 import com.nanometer.smartlab.util.MessageUtil;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.dao.DataAccessException;
 import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.dao.DuplicateKeyException;
@@ -18,10 +23,12 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import javax.faces.context.FacesContext;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.*;
 
 /**
  * Created by cmower on 17/11/20.
@@ -33,9 +40,11 @@
 
 	@Resource(name = "sysLaboratoryDao")
 	SysLaboratoryDao sysLaboratoryDao;
+	@Resource
+	SysUserDao sysUserDao;
 
 	@Transactional(propagation = Propagation.REQUIRED)
-	public List<SysLaboratory> getSysLaboratoryList(String type, String name, Integer first, Integer pageSize) {
+	public List<SysLaboratory> getSysLaboratoryList(String type, String name,String project,Integer first, Integer pageSize) {
 		try {
 			Map<String, Object> params = new HashMap<String, Object>();
 			if (StringUtils.isNotBlank(type)) {
@@ -44,6 +53,7 @@
 			if (StringUtils.isNotBlank(name)) {
 				params.put("name", "%" + name + "%");
 			}
+			params.put("project", project);
 			params.put("first", first);
 			params.put("pageSize", pageSize);
 			return this.sysLaboratoryDao.getSysLaboratoryList(params);
@@ -55,7 +65,7 @@
 	}
 
 	@Transactional(propagation = Propagation.REQUIRED)
-	public int getSysLaboratoryTotalCount(String type, String name) {
+	public int getSysLaboratoryTotalCount(String type, String name,String project) {
 		try {
 			Map<String, Object> params = new HashMap<String, Object>();
 			if (StringUtils.isNotBlank(type)) {
@@ -64,6 +74,7 @@
 			if (StringUtils.isNotBlank(name)) {
 				params.put("name", "%" + name + "%");
 			}
+			params.put("project", project);
 			return this.sysLaboratoryDao.getSysLaboratoryTotalCount(params);
 		} catch (DataAccessException e) {
 			logger.error(e.getMessage(), e);
@@ -224,6 +235,55 @@
 		}
 	}
 
+    @Override
+    public void exportLab2Excel(List<Map> list) throws Exception {
+
+		Map<String, String> map = new LinkedHashMap<>();
+		map.put("type", "类型");
+		map.put("name", "名称");
+		map.put("infoCode", "状态码");
+		map.put("barCode", "地址码");
+		map.put("location", "地址");
+		map.put("department", "部门");
+		map.put("project", "课题组");
+		ExcelUtils.export2Excel(list,"实验室信息",map);
+
+
+	}
+
+	@Override
+	public List<Map> exportLabList(String type, String name,String project) {
+		Map<String,String> params = new HashMap<>();
+		params.put("type", type);
+		params.put("name", name);
+		params.put("project", project);
+		return sysLaboratoryDao.exportLabList(params);
+	}
+
+    @Override
+    public List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project) {
+		return sysLaboratoryDao.getLaboratoryByProject(project);
+    }
+
+	@Override
+	public List<SysLaboratory> getSysLaboratoryListByUserId(String userId) {
+		//1.根据用户的课题组获取实验室,没有就按照部门
+		SysUser user = sysUserDao.getSysUser(userId);
+		Map<String,Object> params = new HashMap<>();
+		if (StringUtils.isNotBlank(user.getProject())){
+			params.put("project", user.getProject());
+			List<SysLaboratory> list = sysLaboratoryDao.getSysLaboratoryList(params);
+			if (list.size() < 1) {
+				return this.getSysLaboratoryListByDep(user.getDepartment());
+			}else {
+				return list;
+			}
+		}else {
+			return this.getSysLaboratoryListByDep(user.getDepartment());
+		}
+
+	}
+
 	@Override
 	@Transactional(propagation = Propagation.REQUIRED)
 	public List<SysLaboratory> getSysLaboratoryListByDep(String depId) {

--
Gitblit v1.9.2