From 919d74639741f2b07dbaeee3f512df41056e5cd1 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期一, 25 十月 2021 10:50:51 +0800
Subject: [PATCH] 试剂库查询Bug

---
 src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index b773749..0d496f9 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -82,6 +82,8 @@
 
     @Resource
     SysLaboratoryContainerService sysLaboratoryContainer;
+    @Resource
+    SysLaboratoryService sysLaboratoryService;
 
     @Value("${message.url}")
     String url;
@@ -1009,7 +1011,7 @@
         }else{
           sysUser = sysUserDao.getSysUser(userID);
           // 如果是管理员也可以开柜
-          if(sysUser.getSeeFlag() == SeeFlag.MANAGE){
+          if(sysUser.getSeeFlag() == SeeFlag.MANAGE||sysUser.getSeeFlag() == SeeFlag.LEADING){
         	  return "1";
           } else {
 	          // 不可以打开柜子
@@ -1489,7 +1491,20 @@
                 }
 
             if(enable && "2".equals(warningId) ) {
-                List<Map> personsInCharge = sysLaboratoryContainer.getContainerPersonInCharge(containerCode);
+                //1.根据containerCode获取lab
+                SysLaboratoryContainer container = sysLaboratoryContainer.getSysLaboratoryContainerByContainerCode(containerCode);
+                SysLaboratory sysLaboratory = sysLaboratoryService.getSysLaboratory(container.getLaboratoryId());
+                String project = sysLaboratory.getProject();
+                //2.根据Lab的课题组判断人员
+                List<Map> personsInCharge = null;
+                if (StringUtils.isBlank(project)) {
+                    //没有课题组就是实验室部门下的负责人
+                    personsInCharge = sysLaboratoryContainer.getContainerPersonInCharge(containerCode);
+                } else {
+                    //有课题组就是 所有课题组下的人员负责人
+                    personsInCharge = sysLaboratoryService.getPersonInChargeByProjects(project);
+                }
+
                 Map param = new HashMap();
                 param.put("groupId", "securityManager");
                 List<BaseMeta> managers = baseMetaDao.getBaseMetaList(param);

--
Gitblit v1.9.2