From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java |  122 +++++++++++++++++++++++++++++-----------
 1 files changed, 88 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
index 065b099..e5fb743 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
@@ -3,18 +3,19 @@
 import com.nanometer.smartlab.dao.SysLaboratoryDao;
 import com.nanometer.smartlab.dao.SysUserDao;
 import com.nanometer.smartlab.entity.SysLaboratory;
+import com.nanometer.smartlab.entity.SysProject;
 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.model.CommonPage;
 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;
@@ -23,12 +24,8 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-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.*;
+import java.util.stream.Collectors;
 
 /**
  * Created by cmower on 17/11/20.
@@ -43,7 +40,6 @@
 	@Resource
 	SysUserDao sysUserDao;
 
-	@Transactional(propagation = Propagation.REQUIRED)
 	public List<SysLaboratory> getSysLaboratoryList(String type, String name,String project,Integer first, Integer pageSize) {
 		try {
 			Map<String, Object> params = new HashMap<String, Object>();
@@ -64,7 +60,35 @@
 		}
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
+	@Override
+	public CommonPage<SysLaboratory> getSysLaboratoryList(Integer pageNum, Integer pageSize, String name) {
+		if(pageNum==null||pageNum<1){
+			pageNum=1;
+		}
+		if(pageSize==null||pageSize<1){
+			pageSize=10;
+		}
+		if(pageSize>50){
+			pageSize=50;
+		}
+		Map<String, Object> params = new HashMap<>();
+		if(StringUtils.isNotBlank(name)){
+			params.put("name","%"+name+"%");
+		}
+		params.put("first", (pageNum-1)*pageSize);
+		params.put("pageSize", pageSize);
+		CommonPage commonPage=new CommonPage();
+		commonPage.setPageNum(pageNum);
+		commonPage.setPageSize(pageSize);
+		Long total=new Long(sysLaboratoryDao.getSysLaboratoryTotalCount(params));
+		commonPage.setTotal(total);
+		commonPage.setTotalPage(CommonPage.getTotalPage(total,pageSize));
+		List<SysLaboratory> sysReagents=sysLaboratoryDao.getSysLaboratorySimpleInfoList(params);
+		commonPage.setList(sysReagents);
+		return commonPage;
+	}
+
+
 	public int getSysLaboratoryTotalCount(String type, String name,String project) {
 		try {
 			Map<String, Object> params = new HashMap<String, Object>();
@@ -83,8 +107,7 @@
 		}
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
-	public SysLaboratory getSysLaboratory(String id) {
+	public SysLaboratory getSysLaboratory(Long id) {
 		try {
 			return this.sysLaboratoryDao.getSysLaboratory(id);
 		} catch (DataAccessException e) {
@@ -94,12 +117,21 @@
 		}
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
+	public SysLaboratory getSysLaboratorySimpleInfo(Long id) {
+		try {
+			return this.sysLaboratoryDao.getSysLaboratorySimpleInfo(id);
+		} catch (DataAccessException e) {
+			logger.error(e.getMessage(), e);
+			throw new BusinessException(ExceptionEnumCode.DB_ERR,
+					MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
+		}
+	}
+
 	public SysLaboratory insertSysLaboratory(SysLaboratory sysLaboratory) {
 		try {
-			if (sysLaboratory.getId() == null) {
-				sysLaboratory.setId(IDUtils.uuid());
-			}
+//			if (sysLaboratory.getId() == null) {
+//				sysLaboratory.setId(IDUtils.uuid());
+//			}
 			this.sysLaboratoryDao.insertSysLaboratory(sysLaboratory);
 			return sysLaboratory;
 		} catch (DuplicateKeyException ex) {
@@ -116,7 +148,6 @@
 		}
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
 	public boolean updateSysLaboratory(SysLaboratory sysLaboratory) {
 		try {
 			int row = this.sysLaboratoryDao.updateSysLaboratory(sysLaboratory);
@@ -136,14 +167,14 @@
 		}
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
+
 	public boolean deleteSysLaboratory(List<SysLaboratory> sysLaboratoryList) {
 		try {
 			if (sysLaboratoryList == null || sysLaboratoryList.size() == 0) {
 				return false;
 			}
 
-			List<String> ids = new ArrayList<String>();
+			List<Long> ids = new ArrayList<Long>();
 			for (SysLaboratory sysLaboratory : sysLaboratoryList) {
 				ids.add(sysLaboratory.getId());
 			}
@@ -170,8 +201,8 @@
 		}
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
-	public boolean isSysLaboratoryExist(String barCode, String editId) {
+
+	public boolean isSysLaboratoryExist(String barCode, Long editId) {
 		try {
 			Map<String, Object> params = new HashMap<String, Object>();
 			params.put("barCode", barCode);
@@ -186,7 +217,7 @@
 		}
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
+
 	public SysLaboratory getSysLaboratoryByBarCode(String barCode) {
 		try {
 			Map<String, Object> params = new HashMap<String, Object>();
@@ -216,9 +247,9 @@
 					sysLaboratory.setId(sysLaboratoryTmpl.getId());
 					this.sysLaboratoryDao.updateLabExport(sysLaboratory);
 				}else{
-					if (sysLaboratoryTmpl == null) {
-						sysLaboratory.setId(IDUtils.uuid());
-					}
+//					if (sysLaboratoryTmpl == null) {
+//						sysLaboratory.setId(IDUtils.uuid());
+//					}
 					this.sysLaboratoryDao.insertSysLaboratory(sysLaboratory);
 				}
 			}
@@ -236,7 +267,7 @@
 	}
 
     @Override
-    public void exportLab2Excel(List<Map> list) throws Exception {
+    public void exportLab2Excel(List<SysLaboratory> list) throws Exception {
 
 		Map<String, String> map = new LinkedHashMap<>();
 		map.put("type", "类型");
@@ -246,13 +277,30 @@
 		map.put("location", "地址");
 		map.put("department", "部门");
 		map.put("project", "课题组");
-		ExcelUtils.export2Excel(list,"实验室信息",map);
+		List<Map> labList=new ArrayList<>();
+		for(SysLaboratory sysLaboratory:list){
+			Map<String,Object> labmap=new HashMap<>();
+			labmap.put("type",sysLaboratory.getTypeName());
+			labmap.put("name",sysLaboratory.getName());
+			labmap.put("infoCode",sysLaboratory.getInfoCode());
+			labmap.put("barCode",sysLaboratory.getBarCode());
+			labmap.put("location",sysLaboratory.getLocation());
+			labmap.put("department",sysLaboratory.getDepartmentName());
+			List<SysProject> projects=sysLaboratory.getProjects();
+			List<String> projectNames=new ArrayList<>();
+			if(projects!=null&&projects.size()>0){
+				projectNames=projects.stream().map(SysProject::getProjectName).collect(Collectors.toList());
+			}
+			labmap.put("project",String.join(",",projectNames));
+			labList.add(labmap);
+		}
+		ExcelUtils.export2Excel(labList,"实验室信息",map);
 
 
 	}
 
 	@Override
-	public List<Map> exportLabList(String type, String name,String project) {
+	public List<SysLaboratory> exportLabList(String type, String name,String project) {
 		Map<String,String> params = new HashMap<>();
 		params.put("type", type);
 		params.put("name", name);
@@ -261,17 +309,17 @@
 	}
 
     @Override
-    public List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project) {
-		return sysLaboratoryDao.getLaboratoryByProject(project);
+    public List<LaboratoryVo.Laboratory> getLaboratoryByProject(Long projectId) {
+		return sysLaboratoryDao.getLaboratoryByProject(projectId);
     }
 
 	@Override
-	public List<SysLaboratory> getSysLaboratoryListByUserId(String userId) {
+	public List<SysLaboratory> getSysLaboratoryListByUserId(Long userId) {
 		//1.根据用户的课题组获取实验室,没有就按照部门
 		SysUser user = sysUserDao.getSysUser(userId);
 		Map<String,Object> params = new HashMap<>();
-		if (StringUtils.isNotBlank(user.getProject())){
-			params.put("project", user.getProject());
+		if (user.getProjectId()!=null){
+			params.put("project", user.getProjectId());
 			List<SysLaboratory> list = sysLaboratoryDao.getSysLaboratoryList(params);
 			if (list.size() < 1) {
 				return this.getSysLaboratoryListByDep(user.getDepartment());
@@ -299,11 +347,17 @@
 	}
 
 	@Override
-	@Transactional(propagation = Propagation.REQUIRED)
-	public List<SysLaboratory> getSysLaboratoryListByDep(String depId) {
+	public List<SysLaboratory> getLaboratoryByProjectId(Long projectId) {
+		return sysLaboratoryDao.getLaboratoryByProjectId(projectId);
+	}
+
+
+
+	@Override
+	public List<SysLaboratory> getSysLaboratoryListByDep(Long depId) {
 		try {
 			Map<String, Object> params = new HashMap<String, Object>();
-			if (StringUtils.isNotBlank(depId)) {
+			if (depId!=null) {
 				params.put("department", depId);
 			}
 			return this.sysLaboratoryDao.getSysLaboratoryList(params);

--
Gitblit v1.9.2