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/controller/LaboratoryMngController.java |  111 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 84 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
index 756135a..dce2411 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
@@ -2,16 +2,18 @@
 
 import java.io.InputStream;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
 import com.nanometer.smartlab.entity.BaseMeta;
+import com.nanometer.smartlab.entity.SysProject;
 import com.nanometer.smartlab.entity.SysReagent;
 import com.nanometer.smartlab.service.BaseMetaService;
+import com.nanometer.smartlab.service.SysLaboratoryContainerService;
+import com.nanometer.smartlab.service.SysProjectService;
+import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
@@ -45,7 +47,11 @@
 	@Resource
 	private SysLaboratoryService sysLaboratoryService;
 	@Resource
+	private SysLaboratoryContainerService sysLaboratoryContainerService;
+	@Resource
 	private BaseMetaService baseMetaService;
+	@Resource
+	private SysProjectService sysProjectService;
 	/**
 	 * 数据源
 	 */
@@ -53,13 +59,14 @@
 	/**
 	 * 数据模型
 	 */
-	private SysLaboratory sysLaboratory;
+	private SysLaboratory sysLaboratory=new SysLaboratory();
 	/**
 	 * 选中的list
 	 */
 	private List<SysLaboratory> selectedList;
 	private String type;
 	private String name;
+	private String project;
 
 	private int action;
 
@@ -82,8 +89,31 @@
 		RequestContext.getCurrentInstance().execute("PF('dialog').show()");
 	}
 
+	public String getProjectName(String project){
+		if(StringUtils.isBlank(project)){
+			return "";
+		}
+		List<String> idstrs = Arrays.asList(project.split(","));
+		List<Long> ids=idstrs.stream().map(item -> Long.valueOf(item)).collect(Collectors.toList());
+		List<SysProject> projects=this.sysProjectService.getProjectByIds(ids);
+		if(projects==null||projects.size()==0){
+			return "";
+		}
+		List<String> projectNames=projects.stream().map(SysProject::getProjectName).collect(Collectors.toList());
+		return String.join(",",projectNames);
+	}
+	public void exportLab2Excel(){
+		try {
+			List<SysLaboratory> list = sysLaboratoryService.exportLabList(type, name,project);
+			sysLaboratoryService.exportLab2Excel(list);
+			FacesUtils.info("导出成功");
+		}catch (Exception e){
+			e.printStackTrace();
+			FacesUtils.warn("导出失败");
+		}
+	}
+
 	public void uploadFile(FileUploadEvent event) {
-		System.out.println("=========导入开始=====");
 		List<BaseMeta> typeList=baseMetaService.getBaseMetaList("laboratory_type");
 		List<BaseMeta> departList=baseMetaService.getBaseMetaList("user_department");
 		try{
@@ -139,10 +169,10 @@
 
 					}
 					valuesList.add(cellInfo);
-
-
 				}
-				System.out.println("value :     "+valuesList);
+				if (valuesList.size() != 8){
+					break;
+				}
 				SysLaboratory laboratory=new SysLaboratory();
 				laboratory.setType(returnTypeId(typeList,valuesList.get(0)));
 				laboratory.setName(valuesList.get(1));
@@ -151,10 +181,23 @@
 				laboratory.setLocation1(valuesList.get(4));
 				laboratory.setLocation2(valuesList.get(5));
 				laboratory.setDepartment(returnDepartId(departList,valuesList.get(6)));
+
+				if (valuesList.size() > 7 && !valuesList.get(7).replace(" ","").isEmpty()){
+					List<String> projects = Arrays.asList(valuesList.get(7).split(","));
+					for (String project : projects) {
+						//不存再就直接推出
+						if (!sysProjectService.isExistProject(project)) {
+							throw new Exception("课题组不存在,(" + i  + "行)");
+						}
+					}
+					//都存在就设置
+					laboratory.setProject(valuesList.get(7).replace(" ",""));
+				}else{
+					laboratory.setProject(null);
+				}
 				sysLaboratories.add(laboratory);
 			}
 			sysLaboratoryService.insertSysReagentList(sysLaboratories);
-			System.out.println("=========导入结束=====");
 			FacesUtils.info("导入成功。");
 		}catch (Exception ex) {
 			ex.printStackTrace();
@@ -162,8 +205,8 @@
 		}
 	}
 
-	public String returnTypeId(List<BaseMeta> list,String name){
-		String id="";
+	public Long returnTypeId(List<BaseMeta> list,String name){
+		Long id=null;
 		for(int i=0;i<list.size();i++){
 			if(name.equals(list.get(i).getMetaValue())){
 				id=list.get(i).getId();
@@ -172,8 +215,8 @@
 		return  id;
 	}
 
-	public String returnDepartId(List<BaseMeta> list,String name){
-		String id="";
+	public Long returnDepartId(List<BaseMeta> list,String name){
+		Long id=null;
 		for(int i=0;i<list.size();i++){
 			if(name.equals(list.get(i).getMetaValue())){
 				id=list.get(i).getId();
@@ -215,6 +258,9 @@
 					return;
 				}
 
+				//实体类重新获取项目组信息
+//				sysLaboratory.setProject(null);
+//				sysLaboratory.getProject();
 				this.sysLaboratoryService.updateSysLaboratory(sysLaboratory);
 
 				FacesUtils.info("修改成功。");
@@ -234,6 +280,7 @@
 			}
 
 			this.sysLaboratoryService.deleteSysLaboratory(this.selectedList);
+			this.sysLaboratoryContainerService.delBySlcIds(this.selectedList);
 
 			FacesUtils.info("删除成功。");
 		} catch (Exception e) {
@@ -251,11 +298,12 @@
 						Map<String, Object> filters) {
 					List<SysLaboratory> list = null;
 					try {
-						int count = sysLaboratoryService.getSysLaboratoryTotalCount(type, name);
+						int count = sysLaboratoryService.getSysLaboratoryTotalCount(type, name,project);
 						this.setRowCount(count);
 						if (count > 0) {
-							list = sysLaboratoryService.getSysLaboratoryList(type, name, first, pageSize);
+							list = sysLaboratoryService.getSysLaboratoryList(type, name,project, first, pageSize);
 						}
+						selectedList = new ArrayList<> ();
 					} catch (Exception e) {
 						logger.error(e);
 					}
@@ -264,17 +312,18 @@
 
 				@Override
 				public SysLaboratory getRowData(String rowKey) {
-					Iterator<SysLaboratory> iterator = this.iterator();
-					if (iterator != null) {
-						SysLaboratory su = null;
-						while (iterator.hasNext()) {
-							su = iterator.next();
-							if (rowKey.equals(su.getId())) {
-								return su;
-							}
-						}
-					}
-					return null;
+//					Iterator<SysLaboratory> iterator = this.iterator();
+//					if (iterator != null) {
+//						SysLaboratory su = null;
+//						while (iterator.hasNext()) {
+//							su = iterator.next();
+//							if (rowKey.equals(su.getId())) {
+//								return su;
+//							}
+//						}
+//					}
+					Long id=Long.valueOf(rowKey);
+					return sysLaboratoryService.getSysLaboratory(id);
 				}
 			};
 		}
@@ -316,4 +365,12 @@
 	public void setType(String type) {
 		this.type = type;
 	}
+
+	public String getProject() {
+		return project;
+	}
+
+	public void setProject(String project) {
+		this.project = project;
+	}
 }

--
Gitblit v1.9.2