From 03d3cd458fc0dee8859564073ae3e754df228e2f Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 27 十一月 2023 14:17:22 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/common/utils/TreeUtils.java | 69 ++++++++++++++++++++++------------
1 files changed, 44 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/zy/crm/common/utils/TreeUtils.java b/src/main/java/com/zy/crm/common/utils/TreeUtils.java
index 2f4169b..a370333 100644
--- a/src/main/java/com/zy/crm/common/utils/TreeUtils.java
+++ b/src/main/java/com/zy/crm/common/utils/TreeUtils.java
@@ -7,8 +7,10 @@
import com.zy.crm.manager.service.NodeService;
import com.zy.crm.manager.service.TagService;
import com.zy.crm.system.entity.Dept;
+import com.zy.crm.system.entity.Role;
import com.zy.crm.system.entity.User;
import com.zy.crm.system.service.DeptService;
+import com.zy.crm.system.service.RoleService;
import com.zy.crm.system.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
@@ -31,6 +33,8 @@
private DeptService deptService;
@Autowired
private UserService userService;
+ @Autowired
+ private RoleService roleService;
/******************************** 褰掔被鏍� *********************************/
@@ -176,23 +180,48 @@
* 鑾峰彇鏍戝浘鏁版嵁缁撴瀯
*/
@Cacheable(cacheNames="deptUserTree",key="#id")
- public ArrayList<Map<String, Object>> getDeptUserTree(String id, Long hostId){
+ public ArrayList<Map<String, Object>> getDeptUserTree(String id, Long hostId, Long userId){
ArrayList<Map<String, Object>> result = new ArrayList<>();
- Dept dept = deptService.selectById(id);
- // 涓昏妭鐐�
- Map<String, Object> map = new HashMap<>();
- map.put("title", dept.getName());
- map.put("id", dept.getId());
- map.put("spread", true);
-// map.put("icon", "layui-icon layui-icon-star-fill");
- List<Map<String, Object>> childrens = new ArrayList<>();
- map.put("children", childrens);
- dealUserDept(dept, childrens, hostId);
- result.add(map);
+ User user = userService.selectById(userId);
+ Role role = roleService.selectById(user.getRoleId());
+ if (role.getCode().equals("salesman")) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("title", user.getNickname());
+ map.put("id", user.getId());
+ map.put("key", "user_id");
+ map.put("icon", "layui-icon layui-icon-friends");
+ result.add(map);
+ } else {
+ if (role.getId()==1){
+ id="19";
+ }
+ Dept dept = deptService.selectById(id);
+ // 涓昏妭鐐�
+ Map<String, Object> map = new HashMap<>();
+ map.put("title", dept.getName());
+ map.put("id", dept.getId());
+ map.put("spread", true);
+ map.put("key", "dept_id");
+ List<Map<String, Object>> childrens = new ArrayList<>();
+ map.put("children", childrens);
+ dealUserDept(dept, childrens, hostId, userId);
+ result.add(map);
+ }
return result;
}
- public void dealUserDept(Dept parent, List<Map<String, Object>> list, Long hostId) {
+ public void dealUserDept(Dept parent, List<Map<String, Object>> list, Long hostId, Long userId) {
+ // 浜哄憳
+ List<User> users = roleService.getUserByRoleCode(hostId, parent.getId(), userId);
+ for (User user : users) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("title", user.getNickname());
+ map.put("id", user.getId());
+ map.put("key", "user_id");
+ map.put("icon", "layui-icon layui-icon-friends");
+ list.add(map);
+ }
+ // 閮ㄩ棬
Wrapper<Dept> wrapper = new EntityWrapper<Dept>()
.eq("parent_id", parent.getId())
.eq("status", 1);
@@ -200,25 +229,15 @@
wrapper.eq("host_id", hostId);
}
List<Dept> depts = deptService.selectList(wrapper);
-
- List<User> users = userService.getUserByDept(hostId, parent.getId());
- for (User user : users) {
- Map<String, Object> map = new HashMap<>();
- map.put("title", user.getNickname());
- map.put("id", user.getId());
- map.put("icon", "layui-icon layui-icon-friends");
- list.add(map);
- }
-
for (Dept dept : depts) {
Map<String, Object> map = new HashMap<>();
map.put("title", dept.getName());
map.put("id", dept.getId());
map.put("spread", true);
-// map.put("icon", "layui-icon layui-icon-star-fill");
+ map.put("key", "dept_id");
List<Map<String, Object>> childrens = new ArrayList<>();
map.put("children", childrens);
- dealUserDept(dept, childrens, hostId);
+ dealUserDept(dept, childrens, hostId, userId);
list.add(map);
}
}
--
Gitblit v1.9.1