Flowable显示流程图坐标和审批人
Flowable Flowable显示流程图坐标和审批人
- 获取所有的审批节点
- 设置节点的坐标
- 设置节点的审批人
- 1、如果执行人的字段不为空
- 1.1、如果这个是工号或者id的话我们可以直接获取人员的信息
- 1.2、如果这个是一个表达式我们需要解析
- 2、如果这个字段为空,那么就是候选人或者候选组
- 2.1、得到候选人
- 2.2、得到候选组
- 3、当我们鼠标移上面的时候通过坐标可以定位出当前的任务节点,然后显示一个弹出层就可以了。
获取所有的审批节点
BpmnModel bpmnModel = bpmnModelService.getBpmnModelByProcessDefId(processInstance.getProcessDefinitionId());
// 获得所有流程定的节点信息
List<UserTask> userTasks = bpmnModelService.findUserTasksByBpmnModel(bpmnModel);
子方法
@Overridepublic List<UserTask> findUserTasksByBpmnModel(BpmnModel bpmnModel) {List<UserTask> datas = new ArrayList<>();List<Process> processes = bpmnModel.getProcesses();processes.forEach(process -> {List<UserTask> userTasks = process.findFlowElementsOfType(UserTask.class);datas.addAll(userTasks);});return datas;}
设置节点的坐标
GraphicInfo graphicInfo = bpmnModelService.getGraphicInfo(bpmnModel, userTask.getId());
ActivityVo vo = new ActivityVo();
vo.setId(userTask.getId());
vo.setX(graphicInfo.getX());
vo.setY(graphicInfo.getY());
vo.setWidth(graphicInfo.getWidth());
vo.setHeight(graphicInfo.getHeight());
vo.setDocumentation(userTask.getDocumentation());
vo.setName(userTask.getName());
vo.setProceInsId(processInstance.getId());
vo.setProceDefId(processInstance.getProcessDefinitionId());
vo.setTaskDefKey(userTask.getId());
设置节点的审批人
这里加以说明,由于我扩展了很多信息,写出来估计大家很难看懂,我就说一下思路,和相关代码
1、如果执行人的字段不为空
userTask.getAssignee() 这就是执行人的id或者工号 可以得到执行人的姓名
1.1、如果这个是工号或者id的话我们可以直接获取人员的信息
1.2、如果这个是一个表达式我们需要解析
解析表达式前提是你把变量放入流程实例变量中,比方说有一个金额${money>500}
那么你在流程实例的表达式中应该有一条这样的数据 key为money value为值的数据
public Object getValue(String processInstanceId, String exp) {Expression expression = processEngineConfiguration.getExpressionManager().createExpression(exp);ExecutionEntity executionEntity = (ExecutionEntity) runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult();return managementService.executeCommand(commandContext -> expression.getValue(executionEntity));}
2、如果这个字段为空,那么就是候选人或者候选组
这个时候我们就得到候选人和候选组
2.1、得到候选人
List<String> candidateUsers = userTask.getCandidateUsers();
这个解析也是一样的,参考上面的解析方法
2.2、得到候选组
List<String> candidateGroups = userTask.getCandidateGroups();
通过候选人和候选组我们就可以得到审批人列表的名称,按照自己的方式获取就可以了。
这个解析也是一样的,参考上面的解析方法
3、当我们鼠标移上面的时候通过坐标可以定位出当前的任务节点,然后显示一个弹出层就可以了。
效果如下:
Flowable显示流程图坐标和审批人相关推荐
- 计算机图形学 8.5 三维图形的显示流程图
8.5 三维图形的显示流程图 显示流程图 观察变换 从世界坐标系到观察坐标系的变换 模型变换 模型坐标系 Modeling Coordinate 物体的局部坐标系 在模型坐标系 ...
- QT5界面操作2:如何用状态栏显示鼠标坐标
在文 QT界面操作1:如何跟踪鼠标位置?实现了鼠标位置捕获,这里用两种方式显示鼠标坐标 1)状态栏显示 2)窗口刷新显示 先看如何获取鼠标位置的代码. import sys from PyQt5.Q ...
- MFC实时显示鼠标坐标
实时显示鼠标坐标 方法一:在窗口的客户区实时显示鼠标坐标 以左上角为例,直接在鼠标移动消息的响应函数中添加以下代码. void CMFC_DrawView::OnMouseMove(UINT nFla ...
- 我的世界服务器显示玩家坐标,我的世界手游版怎么显示玩家坐标
我的世界是一款高度自由的3D沙盒游戏,在游戏中主要的玩法就是收集一些方块或者道具,组成建筑或者机器.武器等等,玩家需要通过在游戏中建造或摧毁方块来进行生存创造,可以根据自己的喜好来建筑不同风格的建筑物 ...
- matlab dotchart,MATLAB中如何用对数方式显示图形坐标?
前言 当我使用MATLAB画了一幅曲线图之后,例如: 由于x轴10以下的单位内,y值比较小,而之后比较大,因此,我想更清晰地看y值得变化趋势,因此我想用对数标准的方式来显示y. 方法1 在画图程序的后 ...
- activiti前端画图转化_用于Activiti前端显示流程图的插件
因为现在做一个基于Activit的工作流OA,在设计过程中需要显示用户设计出来的流程图. 所以需要使用一个流程图插件,可以用来加载流程,也可以直接通过拖拽的方式设计流程. 思来想去,搜索了很多插件,最 ...
- 050:vue+openlayers使用Popup组件显示经纬度坐标(代码示例)
第050个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中使用popup的形式来显示出经纬度坐标,本示例是采用引用扩展的方式,相比以往的添加方式,减少了不少的代码量. 直 ...
- MATLAB中如何用对数方式显示图形坐标?
文章目录 前言 方法1 方法2 gca 用法 举例 set XScale 前言 当我使用MATLAB画了一幅曲线图之后,例如: 由于x轴10以下的单位内,y值比较小,而之后比较大,因此,我想更清晰地看 ...
- python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标
又来做下笔记了.现在我的毕业设计进行到数据处理的阶段,要在乳腺图像上截取4张相同大小的1024*1024图片,并且每张图片都必须覆盖微钙化点,以下是我现在用到的一些简单程序. 1.首先是截图程序如下: ...
最新文章
- apache mysql 连接数_浏览器端同时请求100个url后,如何提升有效的msyql连接数
- cnblogs-5个必须掌握的maven命令
- runtime objc_msgSend
- cogs luogu 珠心算测试【noip2014 普及组】
- 考试题string——线段树。
- linux 编译文件mm,Linux编译C++文件,说没有找到头文件,怎么啊?新手,不太会用...
- python插件安装错误解决办法之SyntaxError: from __future__ imports must occur at the beginning of the file原因
- 设置UserAgent让电脑浏览器访问微信手机网站
- C#反射使用方法过程及步骤
- 面试题 : Intent、IntentFilter、PendingIntent的区别
- [react] useState和this.state的区别是什么?
- python-演练-输出一个等腰三角形-
- 软件测试技术路线怎么走
- 微软王码五笔98版 v5.2 下载
- android常用刷机指令,【高级技术】Android刷机常用adb指令集合
- Github13K!相似搜索百宝箱,文本匹配入门必备!
- 正则表达式Regex
- Java实现 LeetCode 493 翻转对
- 20161128 已知小明同学其中考试成绩,数学97.5分,语文94.5分,英语95.5分,求小明同学的三科总成绩(结果保留一位小数)。...
- 吉利全球鹰熊猫CROSS