From aab1d1e20e7b4b72a9bd98c5d26fdfb087b4c57b Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期二, 02 二月 2021 18:07:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/yufei' into master

---
 src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.java                     |    2 +
 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml                            |    6 +-
 src/main/webapp/laboratory_mng.xhtml                                                  |    2 
 src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml                              |    2 +
 src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java |   45 +++++++++++++---------
 src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml                      |    6 ++
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java                |    2 
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java            |    4 +
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java       |    2 
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java   |    5 ++
 src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java          |    2 
 src/main/webapp/warehouse_reagent_use_person.xhtml                                    |    4 ++
 src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml                |    9 ++++
 src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml                         |    6 ++
 src/main/java/com/nanometer/smartlab/entity/OpeApplyReserve.java                      |    9 ++++
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java      |    6 ++-
 src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java             |    1 
 src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java      |    4 ++
 18 files changed, 85 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
index 95e1f42..f00e5f5 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryContainerMngController.java
@@ -2,16 +2,13 @@
 
 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;
@@ -29,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;
 
@@ -55,6 +49,8 @@
     private BaseMetaService baseMetaService;
 	@Resource
 	private SysLaboratoryService sysLaboratoryService;
+	@Resource
+	private SysProjectService sysProjectService;
 	/**
 	 * 数据源
 	 */
@@ -230,7 +226,7 @@
 	public void export2Excel(){
 
 		try {
-			List<Map> list = sysLaboratoryContainerService.exportExcelList(laboratoryType, laboratoryName);
+			List<Map> list = sysLaboratoryContainerService.exportExcelList(laboratoryType, laboratoryName,project,controllerName);
 			sysLaboratoryContainerService.export2Excel(list);
 		}catch (Exception e){
 			e.printStackTrace();
@@ -297,15 +293,28 @@
 				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);
 			}
diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
index ca378ad..50578ee 100644
--- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java
@@ -85,7 +85,7 @@
 
 	public void exportLab2Excel(){
 		try {
-			List<Map> list = sysLaboratoryService.exportLabList(type, name);
+			List<Map> list = sysLaboratoryService.exportLabList(type, name,project);
 			sysLaboratoryService.exportLab2Excel(list);
 			FacesUtils.info("导出成功");
 		}catch (Exception e){
diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index 008d127..d88f662 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -47,8 +47,8 @@
 /**
  * Created by cmower on 17/11/20.
  */
-@Controller
 @PropertySource(value = "WEB-INF/config.properties",encoding = "utf-8")
+@Controller
 @Scope("session")
 public class WarehouseStockMngController extends BaseController {
 
@@ -624,7 +624,7 @@
 			FacesUtils.info("至少选择一个");
 			return;
 		}
-
+		this.userId = getUser().getId();
 		this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW, Constants.PAGE_WAREHOUSE_STOCK_MNG);
 	}
 //
@@ -649,6 +649,8 @@
 			}
 		}
 		checkTable = null;
+		//
+		this.userId = selectedTmpOrderList.get(0).getApplyUser();
 
 		this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG);
 	}
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
index cda1831..76dd4c5 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
@@ -63,6 +63,7 @@
     <result property="arrivalNum" column="arrival_num"></result>
     <result property="status" column="status" typeHandler="com.nanometer.smartlab.entity.handler.ApplyStatusHandler"></result>
     <result property="applyUserId" column="apply_user_id"></result>
+    <result property="applyUser" column="apply_user"></result>
     <result property="arrivalTime" column="arrival_time"></result>
     <result property="articleNumber" column="articleNumber"></result>
     <result property="projectManage" column="projectManage"/>
@@ -408,6 +409,7 @@
         bm1.meta_value productHome,
         sr.dangerous_flag,
         oa.num,
+        oa.apply_user_id apply_user,
         oa.used,
         su.`name` apply_user_id,
         su.project,
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.java b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.java
index b2dc7b2..3df1220 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.java
@@ -55,4 +55,6 @@
     void insertOpeReagentStatus2(OpeReagentStatus ors);
 
     int countReagentByArticleAndWarehouse(Map params);
+
+    void updateArticleNumberByRCode(String code, String articleNumber);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
index 17ab524..25b2cd3 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
@@ -425,8 +425,12 @@
 	<update id="updateByReId" parameterType="java.util.Map">
         update ope_reagent_status set reagent_id=#{newReId} where reagent_id=#{oldReId}
     </update>
+    <update id="updateArticleNumberByRCode">
+		update ope_reagent_status set article_number = #{1}
+		where reagent_code = #{0}
+	</update>
 
-<select id="selectReagentCodesByReId" parameterType="java.lang.String" resultType="java.lang.String">
+    <select id="selectReagentCodesByReId" parameterType="java.lang.String" resultType="java.lang.String">
 	select reagent_code from ope_reagent_status WHERE
 	reagent_id = #{reagentId}
 	and valid_flag = 1
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
index 6e1b950..bbec73e 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -281,14 +281,14 @@
         </if>
     </select>
     <select id="getApplyInfo" resultType="com.nanometer.smartlab.entity.dto.PersonUseDetail">
-        SELECT
+         SELECT
         ors.reagent_id reagentId,
         ors.article_number articleNumber,
         ouf.reagent_code reagentCode,
         sr.product_sn productSn,
         sr.NAME reagentName,
-        bm1.meta_value  reagentFormat,
-        CONCAT(sr.per_box,bm1.meta_value) perInfo,
+        bm.meta_value  reagentFormat,
+        CONCAT(sr.main_metering,bm1.meta_value) perInfo,
         bm2.meta_value productHome,
         bm3.meta_value controlProducts
         from `ope_use_flow` ouf
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
index 36d76e3..7b9520c 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
@@ -99,7 +99,8 @@
     bm1.meta_value containerType ,
     slc.info_code infoCode ,
     bm3.meta_value structure,
-    slc.`name` name
+    slc.`name` name,
+    slc.project
     FROM
     sys_laboratory_container slc
     LEFT JOIN base_meta bm1 ON bm1.id = slc.type
@@ -117,6 +118,12 @@
     <if test="name != null and name != ''">
       and sl.name like concat("%",#{name},"%")
     </if>
+    <if test="project != null and project != ''">
+      and slc.project like concat("%",#{project},"%")
+    </if>
+    <if test="controllerName != null and controllerName != ''">
+      and sc.controller_name like concat("%",#{controllerName},"%")
+    </if>
     order by sl.name ASC,sc.controller_name,slc.container_code,slc.name
 
   </select>
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
index a557fe8..4e3e7c7 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
@@ -61,7 +61,8 @@
     CONCAT(location1,'-',location2)
     END
     location,
-    bm2.meta_value department
+    bm2.meta_value department,
+    sl.project
     from sys_laboratory as sl
     LEFT JOIN base_meta bm1 on bm1.id = sl.type
     left JOIN base_meta bm2 on bm2.id = sl.department
@@ -72,6 +73,9 @@
     <if test="type != null and type != ''">
       and sl.type = #{type};
     </if>
+    <if test="project != null and project != ''">
+      and sl.project like concat("%",#{project},"%")
+    </if>
   </select>
 
   <select id="getSysLaboratoryTotalCount" parameterType="java.util.Map" resultType="int">
diff --git a/src/main/java/com/nanometer/smartlab/entity/OpeApplyReserve.java b/src/main/java/com/nanometer/smartlab/entity/OpeApplyReserve.java
index 389d25d..20d23da 100644
--- a/src/main/java/com/nanometer/smartlab/entity/OpeApplyReserve.java
+++ b/src/main/java/com/nanometer/smartlab/entity/OpeApplyReserve.java
@@ -39,6 +39,7 @@
 
 	private String project;
 	private String projectManage;
+	private String applyUser;
 
 	public ApplyStatus getStatus() {
 		return status;
@@ -231,4 +232,12 @@
 	public void setCacheUpdateList(List<OpeWarehouseReserve> cacheUpdateList) {
 		this.cacheUpdateList = cacheUpdateList;
 	}
+
+	public String getApplyUser() {
+		return applyUser;
+	}
+
+	public void setApplyUser(String applyUser) {
+		this.applyUser = applyUser;
+	}
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java
index da2cb69..a193774 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java
@@ -105,4 +105,5 @@
 	void updateOpeReagentStatus(OpeReagentStatus opeReagentStatus);
 
 	int getReagentNumInWarehouse(String id, String articleNumber, String warehouseId);
+
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
index ea5a824..8033b98 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -726,7 +726,11 @@
 							List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
 							opeUseFlow.setOperateState(baseMetaList.get(0).getId());
 							this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+							//更新试剂状态表 :批号
+							opeReagentStatusDao.updateArticleNumberByRCode(reagentCodes.get(0),warehouseReserve.getArticleNumber());
+
 							reagentCodes.remove(0);
+
 						}
 
 					}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
index df8cdec..737f8dd 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java
@@ -31,7 +31,7 @@
 
     Map selectLocationByContainerCode(String containerCode);
 
-    List<Map> exportExcelList(String laboratoryType, String laboratoryName);
+    List<Map> exportExcelList(String laboratoryType, String laboratoryName,String project,String controllerName);
 
     void export2Excel(List<Map> list) throws Exception;
 
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
index 07ada63..5a5a6f6 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java
@@ -262,10 +262,12 @@
 	}
 
     @Override
-    public List<Map> exportExcelList(String laboratoryType, String laboratoryName) {
+    public List<Map> exportExcelList(String laboratoryType, String laboratoryName,String project,String controllerName) {
 		Map<String, String> params = new HashMap<>();
 		params.put("type", laboratoryType);
 		params.put("name", laboratoryName);
+		params.put("project", project);
+		params.put("controllerName", controllerName);
 		return sysLaboratoryContainerDao.exportExcelList(params);
     }
 
@@ -280,6 +282,7 @@
 		map.put("infoCode", "临时存储库状态码");
 		map.put("structure", "临时存储库结构");
 		map.put("name", "临时存储库名称");
+		map.put("project", "课题组");
 		ExcelUtils.export2Excel(list,"实验室临时存储库管理",map);
 
 	}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java
index e07e4cd..6861643 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java
@@ -35,7 +35,7 @@
 
     void exportLab2Excel(List<Map> list) throws  Exception;
 
-	List<Map> exportLabList(String type, String name);
+	List<Map> exportLabList(String type, String name,String project);
 
 	List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project);
 
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
index 70a1d09..60d56e6 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
@@ -245,16 +245,18 @@
 		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) {
+	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);
 	}
 
diff --git a/src/main/webapp/laboratory_mng.xhtml b/src/main/webapp/laboratory_mng.xhtml
index 0d36f3c..b93d58d 100644
--- a/src/main/webapp/laboratory_mng.xhtml
+++ b/src/main/webapp/laboratory_mng.xhtml
@@ -70,7 +70,7 @@
 					<h:outputText value="#{row.name}"></h:outputText>
 				</p:column>
 
-				<p:column headerText="所属项目组">
+				<p:column headerText="课题组">
 					<h:outputText value="#{row.project}"></h:outputText>
 				</p:column>
 
diff --git a/src/main/webapp/warehouse_reagent_use_person.xhtml b/src/main/webapp/warehouse_reagent_use_person.xhtml
index 4a40162..d4def34 100644
--- a/src/main/webapp/warehouse_reagent_use_person.xhtml
+++ b/src/main/webapp/warehouse_reagent_use_person.xhtml
@@ -92,6 +92,10 @@
 					<h:outputText value="#{row.articleNumber}"></h:outputText>
 				</p:column>
 
+				<p:column headerText="申领人">
+					<h:outputText value="#{row.applyUserId}"></h:outputText>
+				</p:column>
+
 				<p:column headerText="申请数量">
 					<h:outputText value="#{row.num}"></h:outputText>
 				</p:column>

--
Gitblit v1.9.2