//主管
Dept managerDept = deptUserUtil.getManagerDept(bean.getCreateDept(),bean.getCreateUser());
//上级主管
Dept directorDept = deptUserUtil.getManagerDept(managerDept.getId(),managerDept.getManagerUser());
//上上级主管
Dept presidentDept = deptUserUtil.getManagerDept(directorDept.getId(),directorDept.getManagerUser()); public class DeptUserUtil {
/**
* 根据部门deptId,获取上级部门(包含上级主管managerUser),区分用户userId
*/
public Dept getManagerDept(Long deptId,Long distinctUserId){
Dept dept = getDeptById(deptId);
if(dept==null){
return null;
}
Long managerUserId = dept.getManagerUser();
if(distinctUserId.equals(managerUserId)){
dept = getManagerDept(dept.getParentId(),distinctUserId);
}
return dept;
} /**
* 根据部门deptId,获取上级部门(包含上级主管managerUser),区分用户userId,设置上级部门上限
* 部门等级 level : 1 -> 10 最高级 -> 最低级
*/
public Dept getManagerDept(Long deptId,Long distinctUserId,Integer level){
Dept dept = getDeptById(deptId);
if(dept==null){
return null;
}
Integer managerDeptLevel = dept.getLevel();
Long managerUserId = dept.getManagerUser();
if(managerDeptLevel.compareTo(level)<0){
return null;
}
if(distinctUserId.equals(managerUserId)){
dept = getManagerDept(dept.getParentId(),distinctUserId,level);
}
return dept;
}
}

flowable获取上级主管的更多相关文章

  1. C#的path.GetFullPath 获取上级目录实现方法

    这篇文章主要介绍了C#的path.GetFullPath 获取上级目录实现方法,包含了具体的C#实现方法以及ASP.net与ASP等的方法对比,非常具有实用价值,需要的朋友可以参考下   本文实例讲述 ...

  2. asp.net与C# path.GetFullPath 获取上级目录

    string path = new directoryinfo("../").fullname;//当前应用程序路径的上级目录 获取当前目录可以使用appdomain.curren ...

  3. jq获取上级、同级、下级元素

    下面介绍JQUERY的父,子,兄弟节点查找方法 jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$(&qu ...

  4. (转)Jquery获取上级、下级或者同级的元素

    下面介绍JQUERY的父,子,兄弟节点查找方法 jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$(&qu ...

  5. ExtJs--05--给window组件加入功能条以及子组件获取上级或下级组件的属性和方法

    Ext.onReady(function(){ /** 1-- 给容器组件加入控制条 及 控制项 控制条 不同的方向有多种 tbar lbar rbar bbar fbar 2-- 依据组件本身拿到上 ...

  6. window 批处理脚本获取上级目录

    1 SET CurrDir=%CD% CD.. SET InstPath=%CD% CD %CurrDir% 2 pushd.. set parent=%cd% popd 参考: https://ms ...

  7. flowable中使用到的一些方法。获取人员部门信息

    package org.springblade.desk.utils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf ...

  8. python 获取当前目录,上级目录,上上级目录

    import os print '***获取当前目录***' print os.getcwd() print os.path.abspath(os.path.dirname(__file__)) pr ...

  9. Python学习笔记_获取当前目录和上级目录

    实验目标:获取当前目录和上级目录 系统环境: 1.OS:Win10 64位 2.Pythoh 3.7 3.实验路径:C:\Work\Python\MergeExcel 代码参考: # -*- codi ...

随机推荐

  1. 3D显微镜笔记

    1. 三视图:能够正确反映物体长.宽.高尺寸的正投影工程图(主视图,俯视图,左视图三个基本视图)为三视图,这是工程界一种对物体几何形状约定俗成的抽象表达方式. 附上自己大二时候设计的减速器--设计了两 ...

  2. 【GDKOI2014】JZOJ2020年8月13日提高组T4 内存分配

    [GDKOI2014]JZOJ2020年8月13日提高组T4 内存分配 题目 Description Input Output 输出m行,每行一个整数,代表输入中每次程序变化后系统所需要的空闲内存单位 ...

  3. charles功能(一)修改request请求参数

    1.接口处 鼠标右击,选择breakpoints(允许本接口使用breakpionts功能) 2.开始设置断点值 3.然后修改这一条 4.然后执行 5.最终结果

  4. nodejs事件和事件循环简介

    目录 简介 事件 事件循环 事件循环的阻塞 事件循环举例 栈和消息队列 作业队列和promise process.nextTick() setImmediate() setInterval() 简介 ...

  5. bugku login4

    (前排提示:这次思路写的极不清晰,可能只有我自己看的懂,打个预防针QAQ) 首先看题: 扫描,拿到了 .index.php.swp 这个文件是可以复原的. 上面的是重要的源码.审计之后发现这是CBC加 ...

  6. 堆叠注入tips

    漏洞成因 使用mysqli_multi_query()这种支持多语句执行的函数 使用PDO的方式进行数据查询,创建PDO实例时PDO::MYSQL_ATTR_MULTI_STATEMENTS设置为tr ...

  7. python冒泡算法联系代码

    root@(none):~/python# python maopao.py[6, 11, 13, 22, 99]root@(none):~/python# cat maopao.py #!/usr/ ...

  8. 差分约束系统——POJ1275

    之前做过差分,但是没做过差分约束系统. 正好在学军机房听课讲到这道题,就顺带学了一下. 其实...就是列不等式组然后建图 作为蒟蒻,当然是不会加二分优化的啦...但是poj上还是94ms跑过了qwq ...

  9. 学习笔记:Kruscal 重构树

    网上感觉没有什么很详细 + 证明的讲解啊) 前置:Kruskal 求最小生成树. 这个算法可以将一棵树 / 无向连通图重构成一颗有性质的新树. 算法可以解决一些树上瓶颈边权之类的问题,可以把需要持久化 ...

  10. 【题解】「SP867」 CUBES - Perfect Cubes

    这道题明显是一道暴力. 暴力枚举每一个 \(a, b, c, d\) 所以我就写了一个暴力.每个 \(a, b, c, d\) 都从 \(1\) 枚举到 \(100\) #include<ios ...