From 1e90eceefceef5ea5c637785235bc587cf41e4c9 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期四, 21 十月 2021 09:40:50 +0800
Subject: [PATCH] 模块:api接口 修改:发送实验室负责人改为实验室下课题组下的所有实验室负责人 提:秦老师

---
 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