From 9f0a2abe27085bd8c7edf8a43a24f375f17fc43c Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期五, 18 十二月 2020 14:11:48 +0800
Subject: [PATCH] 模块:api接口 新增:根据7位货柜条码获取所属课题下的所有人员否则部门寻找 提出:秦老师

---
 src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java |    9 +++++++++
 src/main/java/com/nanometer/smartlab/service/InterfaceService.java     |    1 +
 src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml                |   14 ++++++++++++++
 src/main/java/com/nanometer/smartlab/api/ApiAction.java                |   34 ++++++++++++++++++++++++++++++++++
 src/main/java/com/nanometer/smartlab/dao/SysUserDao.java               |    1 +
 5 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index dc10aca..10aa27a 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -1067,4 +1067,38 @@
         System.out.println(5);
         return retJSON;*/
     }
+
+    //从柜子的设备码根据设备的所在实验室的课题组的课题组下的所有用户,没有课题组则返回用部门搜索
+    @ResponseBody
+    @RequestMapping(value = "/userListByContainerCodeNew")
+    public Object userListByContainerCodeNew(@RequestParam String containerCode,@RequestParam String startTime, @RequestParam String endTime) throws ApiException {
+        logger.info("userListByContainerCodeNew start...containerCode= " + containerCode
+                + ",startTime=" + startTime
+                + ",endTime=" + endTime);
+
+
+        //1.课题组下的用户
+        List<SysUser>  userList= interfaceService.getUserListByContainerCodeNew(containerCode, startTime, endTime);
+        if (userList == null) {
+            //2.否则部门下用户
+            userList = interfaceService.getUserListByContainerCode(containerCode, startTime, endTime);
+        }
+
+        List<Map> datalist = Lists.newArrayListWithCapacity(userList.size());
+        for (SysUser user : userList) {
+            Map<String, Object> map = Maps.newHashMapWithExpectedSize(5);
+            datalist.add(map);
+            map.put("name", user.getName());
+            map.put("role", user.getSeeFlag().getKey());
+            map.put("validFlag", user.getValidFlag().getKey());
+            map.put("idcard", user.getIdCard());
+            map.put("point", user.getPoint());
+            map.put("unit", user.getCompany());
+            map.put("Arp", user.getArp());
+            map.put("departmentName", user.getDepartment());
+
+        }
+        logger.info("getUserInfo end...");
+        return ResponseModel.getOkInstence(datalist);
+    }
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
index c66ca3d..0fe3b5e 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
@@ -41,4 +41,5 @@
     int selectUserFavor(Map params);
 
 
+    List<SysUser> getUserListByContainerCodeNew(String containerCode, String startTime, String endTime);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
index 71cf4fe..d24e9f0 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
@@ -174,6 +174,20 @@
 	and u.update_time >= #{1} and #{2} > u.update_time
   </select>
 
+
+    <select id="getUserListByContainerCodeNew" parameterType="java.util.Map" resultMap="SysUser">
+		SELECT u.name,u.see_flag,u.role_id,u.valid_flag,u.id_card,bm2.meta_value department,bm1.meta_value company,u.arp,u.point
+	from sys_user u
+	left join base_meta bm1 on bm1.id = u.company
+	left join base_meta bm2 on bm2.id = u.department
+	where project_id = (
+	SELECT project_id from sys_laboratory_container
+	WHERE container_code =  #{0}
+	and  valid_flag = 1)
+	AND u.valid_flag = 1
+	and u.update_time >= #{1} and #{2} > u.update_time
+  </select>
+
   <select id="selectByAccount" parameterType="com.nanometer.smartlab.entity.SysUser" resultMap="SysUser">
     select * from sys_user where valid_flag=1 and account=#{account}
   </select>
diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceService.java b/src/main/java/com/nanometer/smartlab/service/InterfaceService.java
index d85afcf..beaab33 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceService.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceService.java
@@ -38,4 +38,5 @@
 
 	public List<SysUser> getUserListByContainerCode(String containerCode, String startTime,String endTime) throws ApiException;
 
+    List<SysUser> getUserListByContainerCodeNew(String containerCode, String startTime, String endTime) throws ApiException;
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index 081911c..f21d74b 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -1025,6 +1025,15 @@
         return list;
     }
 
+    @Override
+    public List<SysUser> getUserListByContainerCodeNew(String containerCode, String startTime, String endTime) throws ApiException{
+        if (containerCode==null||containerCode.isEmpty()) {
+            throw new ApiException(ApiStatus.PARAM_NO_EXIST, ApiStatus.PARAM_NO_EXIST.getRetMsg() + "[containerCode]");
+        }
+
+        return sysUserDao.getUserListByContainerCodeNew(containerCode, startTime, endTime);
+    }
+
 
     @Override
     @Transactional(propagation = Propagation.REQUIRED)

--
Gitblit v1.9.2