flowable中动态显示节点的审批人信息

在这里插入图片描述
1、上面的流程图当任务还没有到的节点,用户想看看节点的人的信息,如果我们常规的是不能实现的。

2、思路就是我们取出节点的表达式,然后用我们流程实例的变量来给他翻译出来即可,如何做呢?

2.1、通过流程实例id查出历史表中的所有的变量列表

List<HistoricVariableInstance> hvis = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).list();

2.2、通过流程实例id获取所有的节点信息

List<Process> processes = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()).getProcesses();
if (CollectionUtils.isNotEmpty(processes)) {for (Process process : processes) {Collection<FlowElement> flowElements = process.getFlowElements();if (CollectionUtils.isNotEmpty(flowElements)) {for (FlowElement flowElement : flowElements) {if (flowElement instanceof UserTask) {..........}}}}
}

2.3、取出节点的表达式

if (StringUtils.isNotBlank(userTask.getAssignee())) {//处理多实例的显示MultiInstanceLoopCharacteristics loopCharacteristics = userTask.getLoopCharacteristics();if(loopCharacteristics == null) {String expressionValue = null;if (userTask.getName().equals(FlowConstant.FLOW_SUBMITTER)) {expressionValue = processInstance.getStartUserId();}else {expressionValue = juelExpression.getValue(hvis, userTask.getAssignee());}if(StringUtils.isNotBlank(expressionValue)) {List<UserVo> userVos = userVoService.getUserByCodeOrGroupId(expressionValue);}}else {String inputDataItem = loopCharacteristics.getInputDataItem();List<String> values = (List)juelExpression.getValue(hvis, inputDataItem, List.class);if (CollectionUtils.isNotEmpty(values)) {List<UserVo> users = new ArrayList<>();values.forEach(code->{List<UserVo> userVos = userVoService.getUserByCodeOrGroupId(code);users.addAll(userVos);});}}
}

2.4、工具类

public Object getValue(List<HistoricVariableInstance> hvis, String exp, Class<?> clazz) {ExpressionFactory factory = new ExpressionFactoryImpl();SimpleContext context = new SimpleContext();for (HistoricVariableInstance entry : hvis) {context.setVariable(entry.getVariableName(), factory.createValueExpression(entry.getValue(), Object.class));}ValueExpression e = factory.createValueExpression(context, exp, clazz);return e.getValue(context);}public String getValue(List<HistoricVariableInstance> hvis, String exp) {return (String) getValue(hvis, exp, String.class);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

InfoComm China 2019,揭秘“NVIDIA风格”数据科学!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者|刘晶晶在炫酷的复联4电影中&#xff0c;超过2600个特效镜头层出不穷&#xff0c;意味着电影的后期剪辑与特效对于硬件设备的要求越发提高&#xff0c;毕竟特效制作着力依赖画面渲染。我们了解&#xff0c;在没有GPU之前&#x…

玩 High API 系列之:智能云相册

摘要&#xff1a; 相册是手机中的一个非常重要的功能&#xff0c;然而目前的大部分手机的相册非常普通&#xff0c;仅仅有查看照片&#xff0c;编辑相片的等几个简单功能。我们来看看如果在API时代&#xff0c;如何通过调用API快速实现一个好玩的&#xff0c;具备智能分析识别、…

Flowable通过api查询流程返回流程图节点

通过传入流程启动id去查询当前流执行节点 返回流程图 到期节点 标红显示 /*** 生成流程图** param processId 任务ID*/RequestMapping(value "processDiagram")public void genProcessDiagram(HttpServletResponse httpServletResponse, String processId) throws E…

玩 High API 系列好文:UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头...

摘要&#xff1a;玩 High API 系列好文&#xff1a;UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头 导读&#xff1a;初创公司可以利用API来解决问题。了解更多场景如何玩High API&#xff1f;如何将API变现&#xff1f;请下载阿里云 API Playbook&#xff08;免费下载&…

java项目功能详情介绍,JAVAEE—spring的详细介绍

一、spring介绍1.三层架构中spring位置2.spring一站式框架正是因为spring框架性质是属于容器性质的.容器中装什么对象就有什么功能.所以可以一站式.不仅不排斥其他框架,还能帮其他框架管理对象.aop支持、ioc思想、spring jdbc、aop 事务、junit 测试支持二、spring搭建1.导包日…

乘势而起,走进2019年风口“边缘计算”

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者| pasca原创 | 蛋蛋团&#xff08;ID&#xff1a;dandan_tuan&#xff09;5G火了&#xff0c;也带火了边缘计算。2019年3月&#xff0c;一篇《5G风口扩散&#xff0c;超清视频边缘计算概念崛起》的文章意外走红&#xff0c;直接…

flowable笔记 - 简单的通用流程

简介 通用流程可以用于一些基本的申请&#xff0c;例如请假、加班。 大致过程是: 1. 创建申请 2. 分配给审批人&#xff08;需要审批人列表&#xff0c;当前审批人&#xff09; -> 有下一个审批人 -> 3 -> 无 -> 4 3. 审批人审批 -> 同意 -> 2 -> 拒绝 -…

详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口

摘要&#xff1a; 概述 阿里云的公网入口产品共有三个&#xff0c;SLB、EIP、NAT网关&#xff0c;这几个产品都可以作为云上资源的公网入口&#xff0c;他们之间有何区别&#xff0c;又分别应该在什么场景下使用呢&#xff1f; 点此查看原文&#xff1a;http://click.aliyun.co…

matlab 求n 的和,MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的...

点击查看MATLAB求1的阶乘加到n的阶乘和 不要现有的函数&#xff0c;要自己编写出来的具体信息答&#xff1a;myfactorial (n) factorial(n) myfactorial (n) prod(1:n) 两个都可以吧。&#xff1a;)答&#xff1a;编写一个matlab文件&#xff0c;求1到n的阶乘之和。其代码编写…

Hadoop常见问题 | Hadoop能干什么?

戳蓝字“CSDN云计算”关注我们哦&#xff01;我们很荣幸能够见证Hadoop十几年间经历了从无到有&#xff0c;再到称王。感动于技术的日新月异时&#xff0c;希望通过本篇有问有答&#xff0c;带大家解决Hadoop的常见问题。1Q&#xff1a; Hadoop 的发展历史A&#xff1a;2Q&…

matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法

使用matlab读入.xls的文件时候可以用[T,TXT,RAW]xlsread("filename.xls")导入也可以使用import data 的办法手动导入文件。但是我比较倾向于自动化程度比较高的前者&#xff0c;毕竟有时候导入的文件数量是几百个手动导入不科学。xlsread返回的参数有三个&#xff0c…

maven打包时跳过测试

在运行mvn install或mvn package时跳过Test <project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1<…

uDevice Center - IoT弹性在线多设备开发平台

摘要&#xff1a; IoT开发的一大痛点在于&#xff1a;硬件获取与setup路径太长&#xff1b;开发工具难以支持多设备联合开发。我们用uDevice Center把开发板/设备都搬到了线上&#xff0c;让用户可以不用买硬件接线&#xff0c;在线就能做IoT开发调试了。同时&#xff0c;uDevi…

快报:Python 被爆重大“黑料”!程序员:劲爆!

坐拥各大编程排行榜的Python&#xff0c;真的无敌了吗&#xff1f;在我一个朋友看来&#xff0c;他坚信 Python 可以做任何事情。但其实我是不服的&#xff0c;我相信很多人都有这种感觉。但是我最近当看 GitHub 年度项目数量时&#xff0c;我哭了&#xff0c;因为 Python 应用…

MATLAB灰度级数为1,图像处理 – 在matlab中更改灰度图像中的灰度级数

虽然result (img / 8)* 8确实将范围[0,255]中的灰度图像转换为该范围的子集但现在仅使用32个值,但它可能会产生不希望的伪像.可能产生视觉上更好的图像的方法称为改进的灰度量化(缩写为IGS).执行它的伪代码可以如下&#xff1a;mult 256 / (2^bits)mask 2^(8 - bits) - 1prev…

SpringBoot集成flowable-modeler(6.4.1) 实现免登

因公司需求需要将flowable的流程设计器集成到项目中&#xff0c;下面将最近的研究成果记录一下。 文章目录一、下载flowable-modeler源码二、添加相关maven包三、调用idm服务重新接口四、配置类五、启动类跳过登陆拦截六、配置文件一、下载flowable-modeler源码 把flowable-ui…

时代在召唤5G

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者| 白告天原创 |边缘计算社区错过房价飞涨的年代&#xff0c;你还要错过5G这班车吗&#xff1f;一 5G是什么&#xff1f;5G&#xff0c;就是第五代移动通信技术。和大哥大变成智能手机&#xff0c;绿皮火车变成和谐号都是一种大幅…

php中的空格键,使用PHP使用数组键中的空格解析Json响应

我收到一个邮政编码API的回复.但是,由于两个词之间存在空格,我无法弄清楚“地名”中的值.不太确定从这里去哪里.object(stdClass)#1 (4) {["post code"]>string(5) "42223"["country"]>string(13) "United States"["countr…

jboss连接池,断开后自动重连功能

最近客户现场的测试环境连的数据库极不稳定&#xff0c;经常会出现需要重新启动数据库的情况&#xff0c; 但是一旦重启数据库 则会出现 提示 ,执行sql错误&#xff0c;原因就是datasource 没有获取新的连接&#xff01; 那么解决办法就是怎样让jboss每次提供连接的时候都给我们…

API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务

摘要&#xff1a; 近日&#xff0c;阿里云API网关对接了日志服务&#xff0c;可以输出用户在API网关产生的API调用日志&#xff0c;目前支持将 API 接入 API 网关的用户查看日志明细、概况、报表分析、在线查询等。 访问日志&#xff08;Acccess Log&#xff09;是由应用服务生…