From e57dc5878ff7170e2a8d8da145289ad1abcd70f8 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期四, 28 一月 2021 16:47:52 +0800
Subject: [PATCH] 申领人实验室搜索逻辑修改 ->优先课题组下的实验室,如果没有则搜索部门下的实验室

---
 src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml                    |    3 +++
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java           |    4 ++++
 src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java       |   21 ++++++++++++++++++++-
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |    4 +++-
 4 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index c7697d0..279535c 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -2682,7 +2682,9 @@
 	public List<SysLaboratory> getLaboratory() {
 		if(userId != null && userId.trim().length() > 0)
 		{
-			this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(sysUserService.getSysUser(userId).getDepartment());
+
+			//Todo 修改申领人的实验室显示信息
+			this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByUserId(userId);
 			if(this.laboratory != null && this.laboratory.size() > 0)
 			{
 				//flag =true;
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
index 0a59ab5..a557fe8 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryDao.xml
@@ -31,6 +31,9 @@
     <if test="department != null and department != ''">
       and su.department = #{department}
     </if>
+    <if test="project != null and project != ''">
+      and su.project like concat("%",#{project},"%")
+    </if>
   </sql>
 
   <select id="getSysLaboratory" parameterType="java.lang.String"  resultMap="SysLaboratory" >
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java
index b7733c8..a206039 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryService.java
@@ -38,4 +38,8 @@
 	List<Map> exportLabList(String type, String name);
 
 	List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project);
+
+	List<SysLaboratory> getSysLaboratoryListByUserId(String userId);
+
+
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
index b169e9f..9abf0fc 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
@@ -1,7 +1,9 @@
 package com.nanometer.smartlab.service;
 
 import com.nanometer.smartlab.dao.SysLaboratoryDao;
+import com.nanometer.smartlab.dao.SysUserDao;
 import com.nanometer.smartlab.entity.SysLaboratory;
+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;
@@ -38,6 +40,8 @@
 
 	@Resource(name = "sysLaboratoryDao")
 	SysLaboratoryDao sysLaboratoryDao;
+	@Resource
+	SysUserDao sysUserDao;
 
 	@Transactional(propagation = Propagation.REQUIRED)
 	public List<SysLaboratory> getSysLaboratoryList(String type, String name, Integer first, Integer pageSize) {
@@ -257,7 +261,22 @@
 		return sysLaboratoryDao.getLaboratoryByProject(project);
     }
 
-    @Override
+	@Override
+	public List<SysLaboratory> getSysLaboratoryListByUserId(String userId) {
+
+		//1.根据用户的课题组获取实验室,没有就按照部门
+		SysUser user = sysUserDao.getSysUser(userId);
+		Map<String,Object> params = new HashMap<>();
+		params.put("project", user.getProject());
+		List<SysLaboratory> list = sysLaboratoryDao.getSysLaboratoryList(params);
+		if (list.size() < 1) {
+			return this.getSysLaboratoryListByDep(user.getDepartment());
+		}else{
+			return list;
+		}
+	}
+
+	@Override
 	@Transactional(propagation = Propagation.REQUIRED)
 	public List<SysLaboratory> getSysLaboratoryListByDep(String depId) {
 		try {

--
Gitblit v1.9.2