中扬CRM客户关系管理系统
#
LSH
2023-11-04 978a3733aedaaa505867b64edfbe1f6caedbc798
src/main/java/com/zy/crm/common/utils/TreeUtils.java
@@ -182,38 +182,37 @@
    @Cacheable(cacheNames="deptUserTree",key="#id")
    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("key", "dept_id");
//        map.put("icon", "layui-icon layui-icon-star-fill");
        List<Map<String, Object>> childrens = new ArrayList<>();
        map.put("children", childrens);
        dealUserDept(dept, childrens, hostId, userId);
        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, Long userId) {
        Wrapper<Dept> wrapper = new EntityWrapper<Dept>()
                .eq("parent_id", parent.getId())
                .eq("status", 1);
        if (hostId != null) {
            wrapper.eq("host_id", hostId);
        }
        List<Dept> depts = deptService.selectList(wrapper);
        List<User> users = new ArrayList<>();
        Role role = roleService.selectById(userService.selectById(userId).getRoleId());
        if (role.getCode().equals("salesman")) {
            users.add(userService.selectById(userId));
        } else {
            users = userService.getUserByDept(hostId, parent.getId());
        }
        // 人员
        List<User> users = roleService.getUserByRoleCode(hostId, parent.getId(), userId);
        for (User user : users) {
            Map<String, Object> map = new HashMap<>();
            map.put("title", user.getNickname());
@@ -222,14 +221,20 @@
            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);
        if (hostId != null) {
            wrapper.eq("host_id", hostId);
        }
        List<Dept> depts = deptService.selectList(wrapper);
        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("key", "dept_id");
//            map.put("icon", "layui-icon layui-icon-star-fill");
            List<Map<String, Object>> childrens = new ArrayList<>();
            map.put("children", childrens);
            dealUserDept(dept, childrens, hostId, userId);