From a445f592f22bc3f1bb7fe18ef80352c9f49f408c Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 08 Nov 2021 13:50:12 +0800
Subject: [PATCH] 派遣人员查询接口新增修改

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml             |   37 ++++++++++++++++++
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java |   22 +++++++++++
 src/main/java/org/springblade/modules/system/controller/UserController.java    |    9 ++++
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java            |   10 +++++
 src/main/java/org/springblade/modules/system/service/IUserService.java         |    7 +++
 5 files changed, 85 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index acad9c9..0ed7ffc 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -602,6 +602,15 @@
 	}
 
 	/**
+	 * 保安员列表树,帅选无保安证,下拉tree
+	 */
+	@GetMapping("/security-dispatcher-tree")
+	public R<List<TreeNode>> getSecurityDispatcherTree(UserVO user) {
+		List<TreeNode> tree = userService.getSecurityDispatcherTree(user);
+		return R.data(tree);
+	}
+
+	/**
 	 * 自定义用户列表(只有保安员)
 	 */
 	@GetMapping("/selectInr")
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 1af5851..3e59148 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -108,6 +108,16 @@
 	Map<Long, TreeNode> getSecurityApplyTree(@Param("user") UserVO user);
 
 
+	/**
+	 * 派遣保安员列表树 安员列表树,帅选无保安证,下拉tree
+	 * @param user 用户信息
+	 * @return
+	 */
+	@MapKey(value = "id")
+	@SqlParser(filter=true)
+	Map<Long, TreeNode> getSecurityDispatcherTree(@Param("user") UserVO user);
+
+
 	List<Map<Object,Object>> selectInr(String deptid);
 
 	/**
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 698a148..e7e744b 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -584,5 +584,42 @@
         and br.role_alias = "保安"
     </select>
 
+    <!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
+    <select id="getSecurityDispatcherTree" resultType="org.springblade.modules.system.node.TreeNode">
+        (
+        select #{user.deptId} as id,
+        '全选' as name,
+        0 as parentId
+        from blade_user
+        )
+
+        union all
+
+        (
+        select
+        distinct
+        bu.id,
+        bu.real_name as name,
+        #{user.deptId} parentId
+        from
+        blade_user bu
+        left join
+        blade_dept bd
+        on
+        bu.dept_id = bd.id
+        left join
+        blade_role br
+        on
+        br.id = bu.role_id
+        where
+        bu.is_deleted = 0
+        and bu.status = 1
+        and bd.is_deleted = 0
+        and bd.id = #{user.deptId}
+        and br.role_alias = '保安'
+        )
+    </select>
+
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index fdb0244..d454fc0 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -251,6 +251,13 @@
 	 */
 	List<TreeNode> getSecurityApplyTree(UserVO user);
 
+	/**
+	 * 保安员列表树 安员列表树,帅选无保安证,下拉tree
+	 * @param user 用户信息
+	 * @return
+	 */
+	List<TreeNode> getSecurityDispatcherTree(UserVO user);
+
 	List<Map<Object,Object>> selectInr(String deptid);
 
 
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 241972a..bb50959 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -646,6 +646,28 @@
 		return tree;
 	}
 
+	/**
+	 * 派遣保安员列表树 安员列表树,帅选无保安证,下拉tree
+	 *
+	 * @param user 用户信息
+	 * @return
+	 */
+	@Override
+	public List<TreeNode> getSecurityDispatcherTree(UserVO user) {
+		Map<Long, TreeNode> map = baseMapper.getSecurityDispatcherTree(user);
+		List<TreeNode> tree = new ArrayList<>();
+		if (map.size() > 1) {
+			map.forEach((id, treeNode) -> {
+				if (map.containsKey(treeNode.getParentId())) {
+					map.get(treeNode.getParentId()).getChildren().add(treeNode);
+				} else {
+					tree.add(treeNode);
+				}
+			});
+		}
+		return tree;
+	}
+
 	@Override
 	public List<Map<Object, Object>> selectInr(String deptid) {
 		return baseMapper.selectInr(deptid);

--
Gitblit v1.9.3