From a67b4bdc466d965c1cc4563711ad75c34b52c16a Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期二, 12 一月 2021 11:12:07 +0800
Subject: [PATCH] 模块:实验室管理 修改:导入新增课题组 提出:秦老师

---
 src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java                  |    3 +++
 src/main/java/com/nanometer/smartlab/service/SysProjectService.java          |    3 +++
 src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java |   22 ++++++++++++++++++----
 src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java      |    5 +++++
 src/main/webapp/resources/template/实验室导入模板.xlsx                              |    0 
 src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml                   |    7 +++++++
 6 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
index 5153a26..86ff06f 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.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.SysReagent;
 import com.nanometer.smartlab.service.BaseMetaService;
+import com.nanometer.smartlab.service.SysProjectService;
 import org.apache.log4j.Logger;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
@@ -46,6 +44,8 @@
 	private SysLaboratoryService sysLaboratoryService;
 	@Resource
 	private BaseMetaService baseMetaService;
+	@Resource
+	private SysProjectService sysProjectService;
 	/**
 	 * 数据源
 	 */
@@ -162,6 +162,20 @@
 				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);
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java
index a907dae..d8e505d 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.java
@@ -26,4 +26,7 @@
 
     //获取不重复的课题组名
     List<SysProject> selectDistinctProjects();
+
+    //课题组是否存在
+    int selectByProject(String project);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml
index 5ad09c8..b2e0c03 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysProjectDao.xml
@@ -123,6 +123,13 @@
       limit #{first}, #{pageSize}
     </if>
   </select>
+  <select id="selectByProject" resultType="java.lang.Integer">
+        select count(0)
+        from sys_project
+        where valid_flag = 1
+        and project = #{0}
+
+  </select>
 
   <insert id="insertSysProject" parameterType="com.nanometer.smartlab.entity.SysProject">
     insert into sys_project(id, project_id,project_name,sys_user_id,remark,valid_flag,creater_user,create_time,project)
diff --git a/src/main/java/com/nanometer/smartlab/service/SysProjectService.java b/src/main/java/com/nanometer/smartlab/service/SysProjectService.java
index 66c5bb5..7aad3f5 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysProjectService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysProjectService.java
@@ -34,4 +34,7 @@
     void importProject(FileUploadEvent event, SysUser user) throws  Exception;
 
     List<SysProject> getAll();
+
+    //课题组是否存在
+    Boolean isExistProject(String project);
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
index 033e838..0133124 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java
@@ -245,6 +245,11 @@
     }
 
     @Override
+    public Boolean isExistProject(String project) {
+        return sysProjectDao.selectByProject(project) > 0;
+    }
+
+    @Override
     public List<SysProject> getSysProjectList(int first, int pageSize) {
         Map<String, Object> params = new HashMap<>();
         params.put("first", first);
diff --git "a/src/main/webapp/resources/template/\345\256\236\351\252\214\345\256\244\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/src/main/webapp/resources/template/\345\256\236\351\252\214\345\256\244\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
index 09001d4..083417a 100644
--- "a/src/main/webapp/resources/template/\345\256\236\351\252\214\345\256\244\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
+++ "b/src/main/webapp/resources/template/\345\256\236\351\252\214\345\256\244\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ

--
Gitblit v1.9.2