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/LaboratoryContainerMngController.java |  122 ++++++++++++++++++++++++++++------------
 1 files changed, 84 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
index b509e77..967f163 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
@@ -2,16 +2,14 @@
 
 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 javax.annotation.Resource;
 
 import com.nanometer.smartlab.entity.BaseMeta;
 import com.nanometer.smartlab.entity.SysLaboratory;
-import com.nanometer.smartlab.service.SysLaboratoryService;
+import com.nanometer.smartlab.service.*;
+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;
@@ -28,9 +26,6 @@
 
 import com.nanometer.smartlab.entity.SysController;
 import com.nanometer.smartlab.entity.SysLaboratoryContainer;
-import com.nanometer.smartlab.service.BaseMetaService;
-import com.nanometer.smartlab.service.SysControllerService;
-import com.nanometer.smartlab.service.SysLaboratoryContainerService;
 import com.nanometer.smartlab.util.Constants;
 import com.nanometer.smartlab.util.FacesUtils;
 
@@ -54,6 +49,8 @@
     private BaseMetaService baseMetaService;
 	@Resource
 	private SysLaboratoryService sysLaboratoryService;
+	@Resource
+	private SysProjectService sysProjectService;
 	/**
 	 * 数据源
 	 */
@@ -61,7 +58,7 @@
 	/**
 	 * 数据模型
 	 */
-	private SysLaboratoryContainer sysLaboratoryContainer;
+	private SysLaboratoryContainer sysLaboratoryContainer=new SysLaboratoryContainer();
 	/**
 	 * 选中的list
 	 */
@@ -71,6 +68,8 @@
 
 	private String laboratoryType;
 	private String laboratoryName;
+	private String project;
+	private String controllerName;
 
 	private int action;
 
@@ -136,6 +135,7 @@
 
 	public void onSaveBtnClick() {
 		try {
+
 			// 新建
 			if (this.action == Constants.ACTION_ADD) {
 				if (this.sysLaboratoryContainer == null) {
@@ -170,6 +170,7 @@
 					return;
 				}
 				System.out.println(sysLaboratoryContainer.getContainerCode());
+
 				this.sysLaboratoryContainerService.insertSysLaboratoryContainer(sysLaboratoryContainer);
 
 				FacesUtils.info("新建成功。");
@@ -208,6 +209,9 @@
 					return;
 				}
 
+//				sysLaboratoryContainer.setProject(null);
+//				sysLaboratoryContainer.getProject();
+
 				this.sysLaboratoryContainerService.updateSysLaboratoryContainer(sysLaboratoryContainer);
 
 				FacesUtils.info("修改成功。");
@@ -216,6 +220,17 @@
 		} catch (Exception e) {
 			logger.error("操作失败。", e);
 			FacesUtils.warn("操作失败。");
+		}
+	}
+
+	public void export2Excel(){
+
+		try {
+			List<Map> list = sysLaboratoryContainerService.exportExcelList(laboratoryType, laboratoryName,project,controllerName);
+			sysLaboratoryContainerService.export2Excel(list);
+		}catch (Exception e){
+			e.printStackTrace();
+			FacesUtils.warn("导出失败");
 		}
 	}
 
@@ -275,18 +290,34 @@
 					}
 					valuesList.add(cellInfo);
 				}
+				if (valuesList.size() != 10){
+					break;
+				}
 				System.out.println("value :     "+valuesList);
 				SysLaboratoryContainer sysLaboratoryContainer=new SysLaboratoryContainer();
 				sysLaboratoryContainer.setLaboratoryId(getLabId(sysLaboratories,valuesList.get(0)));
-				sysLaboratoryContainer.setControllerCode(getConCode(sysControllers,valuesList.get(1)));
-				sysLaboratoryContainer.setContainerCode(valuesList.get(2));
-				sysLaboratoryContainer.setType(getBaseMetaId(typeList,valuesList.get(3)));
-				sysLaboratoryContainer.setInfoCode(valuesList.get(4));
-				sysLaboratoryContainer.setStructure(getBaseMetaId(struList,valuesList.get(5)));
-				sysLaboratoryContainer.setName(valuesList.get(6));
-				if(valuesList.get(3).equals("智能柜")){
-					sysLaboratoryContainer.setCharacterLeft(getBaseMetaId(charList,valuesList.get(7)));
-					sysLaboratoryContainer.setCharacterRight(getBaseMetaId(charList,valuesList.get(8)));
+				if (!valuesList.get(1).replace(" ","").isEmpty()){
+					List<String> projects = Arrays.asList(valuesList.get(1).split(","));
+					for (String project : projects) {
+						//不存再就直接推出
+						if (!sysProjectService.isExistProject(project)) {
+							throw new Exception("课题组不存在,(" + i  + "行)");
+						}
+					}
+					//都存在就设置
+					sysLaboratoryContainer.setProject(valuesList.get(1).replace(" ",""));
+				}else{
+					sysLaboratoryContainer.setProject(null);
+				}
+				sysLaboratoryContainer.setControllerCode(getConCode(sysControllers,valuesList.get(2)));
+				sysLaboratoryContainer.setContainerCode(valuesList.get(3));
+				sysLaboratoryContainer.setType(getBaseMetaId(typeList,valuesList.get(4)));
+				sysLaboratoryContainer.setInfoCode(valuesList.get(5));
+				sysLaboratoryContainer.setStructure(getBaseMetaId(struList,valuesList.get(6)));
+				sysLaboratoryContainer.setName(valuesList.get(7));
+				if(valuesList.get(4).equals("智能柜")){
+					sysLaboratoryContainer.setCharacterLeft(getBaseMetaId(charList,valuesList.get(8)));
+					sysLaboratoryContainer.setCharacterRight(getBaseMetaId(charList,valuesList.get(9)));
 				}
 				sysLaboratoryContainers.add(sysLaboratoryContainer);
 			}
@@ -298,8 +329,8 @@
 		}
 	}
 
-	public String getBaseMetaId(List<BaseMeta> list,String name){
-		String id="";
+	public Long getBaseMetaId(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();
@@ -308,8 +339,8 @@
 		return  id;
 	}
 
-	public String getLabId(List<SysLaboratory> list,String name){
-		String id="";
+	public Long getLabId(List<SysLaboratory> list,String name){
+		Long id=null;
 		for(int i=0;i<list.size();i++){
 			if(list.get(i).getName().equals(name)){
 				id=list.get(i).getId();
@@ -367,12 +398,13 @@
 					List<SysLaboratoryContainer> list = null;
 					try {
 						int count = sysLaboratoryContainerService.getSysLaboratoryContainerTotalCount(laboratoryType,
-								laboratoryName,null);
+								laboratoryName,null,project);
 						this.setRowCount(count);
 						if (count > 0) {
 							list = sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryType,
-									laboratoryName,null, first, pageSize);
+									laboratoryName,null,project, first, pageSize);
 						}
+						selectedList = new ArrayList<> ();
 					} catch (Exception e) {
 						logger.error(e);
 					}
@@ -381,17 +413,18 @@
 
 				@Override
 				public SysLaboratoryContainer getRowData(String rowKey) {
-					Iterator<SysLaboratoryContainer> iterator = this.iterator();
-					if (iterator != null) {
-						SysLaboratoryContainer su = null;
-						while (iterator.hasNext()) {
-							su = iterator.next();
-							if (rowKey.equals(su.getId())) {
-								return su;
-							}
-						}
-					}
-					return null;
+//					Iterator<SysLaboratoryContainer> iterator = this.iterator();
+//					if (iterator != null) {
+//						SysLaboratoryContainer su = null;
+//						while (iterator.hasNext()) {
+//							su = iterator.next();
+//							if (rowKey.equals(su.getId())) {
+//								return su;
+//							}
+//						}
+//					}
+					Long id=Long.valueOf(rowKey);
+					return sysLaboratoryContainerService.getSysLaboratoryContainer(id);
 				}
 			};
 		}
@@ -443,10 +476,8 @@
 	}
 
 	public List<SysController> getControllers() {
-		if(controllers == null)
-		{
 			this.controllers = sysControllerService.getAllControllerList();
-		}
+
 		return controllers;
 	}
 
@@ -454,4 +485,19 @@
 		this.controllers = controllers;
 	}
 
+	public String getProject() {
+		return project;
+	}
+
+	public void setProject(String project) {
+		this.project = project;
+	}
+
+	public String getControllerName() {
+		return controllerName;
+	}
+
+	public void setControllerName(String controllerName) {
+		this.controllerName = controllerName;
+	}
 }

--
Gitblit v1.9.2