flowable获取上级主管
2024-08-25 22:22:39
//主管
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;
}
}
最新文章
- ArcGIS Engine开发之地图浏览
- WebView 的使用----android 网络连接处理分析
- angularjs 作用域
- 【ImageView】ImageView点击事件报错空指针
- JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理
- 输出单向链表中倒数第k个结点
- 你值得拥有:25个Linux性能监控工具
- ActionBarCompat
- mysql 5.7.16多源复制
- PHP关闭Notice错误提示
- HTML5 Canvas JavaScript库 Fabric.js 使用经验
- MCM1988 问题B_lingo_装货问题
- struts2之动态方法调用(转)
- c语言面试题(感觉比较好的题目)
- gnu 扩展之#和##
- C++Primer学习——const
- Python的IO编程
- 普通用户添加sudo权限
- python 读fnl数据
- jw player 配置参数
热门文章
- 在EXCEL带有字母的数字下拉如何能自动排序
- 【服务总线 Azure Service Bus】Service Bus在使用预提取(prefetching)后出现Microsoft.Azure.ServiceBus.MessageLockLostException异常问题
- MySQL 当前时间,今日时间,前日时间 详解
- unittest框架中读取有特殊符号的配置文件内容的方法-configparser的RawConfigParser类应用
- MSSQL 2014数据库Alwayson下日志过大,压缩日志的处理方法
- Feign 自定义 ErrorDecoder (捕获 Feign 服务端异常)
- 第10.1节 Python的模块及模块导入
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的是否接受鼠标拖放事件的acceptDrops属性及含义
- jquery 执行a 标签 点击事件 跳转href 路径
- 沪苏浙皖共同打造区块链数字经济发展高地,Panda Global表示区块链真的来了!