工作流Flowable实战 (六)自定义身份

springboot +flowable,处理 flowable 的用户和用户组(二) 阅读详情
AI摘要

本文档介绍了如何重写Flowable的工作流接口以适配系统的用户数据,并详细阐述了如何在前端和后端实现自定义审核人的功能。前端通过修改flowable-modeler源码增加新的分配选项,后端利用监听器监听任务创建事件,动态设置任务的审核人为发起人的上级领导。通过这种方式,实现了与系统用户数据的无缝对接和自定义审批流程。


一、重写Flowable接口

系统中肯定有自己的一套用户,而flowable默认用户和用户组无法和自己系统中的用户统一,所以重写floeable用户和用户组接口,让flowable直接查自己的用户数据。
EditorUsersResource,EditorGroupsResource
在这里插入图片描述

二、自定义审核人

1、前端增加选项

flowable默认有分配给流程发起人,想自定义一个分配给流程发起人上级领导,如何实现。
在这里插入图片描述
在这里插入图片描述

修改flowable-modeler源码,此时页面中会多出一个选项。
在这里插入图片描述

1、后端监听

后端监听器监听任务的创建事件,动态赋值任务的审核人。

@Configuration
public class FlowableGlobListenerConfig implements ApplicationListener<ContextRefreshedEvent> {
	@Autowired
	private SpringProcessEngineConfiguration configuration;

	@Autowired
	private GlobalTaskCreatedListener globalTaskCreatedListener;

	@Override
	public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
		FlowableEventDispatcher dispatcher = configuration.getEventDispatcher();
		dispatcher.addEventListener(globalTaskCreatedListener, FlowableEngineEventType.TASK_CREATED);
	}
}
@Component
@Slf4j
public class GlobalTaskCreatedListener implements FlowableEventListener {
	@Autowired
	private TaskService taskService;
	@Autowired
	private RuntimeService runtimeService;
	@Autowired
	private RepositoryService repositoryService;

	@Override
	public void onEvent(FlowableEvent event) {
		FlowableEntityEventImpl entityEvent = (FlowableEntityEventImpl) event;
		TaskEntity taskEntity = (TaskEntity) entityEvent.getEntity();
		String processInstanceId = taskEntity.getProcessInstanceId();
		BpmnModel bpmnModel = repositoryService.getBpmnModel(taskEntity.getProcessDefinitionId());
		List<Process> processes = bpmnModel.getProcesses();

		processes.forEach(process -> process.findFlowElementsOfType(UserTask.class).forEach(userTask -> {
			if (StringUtil.equals(userTask.getId(), taskEntity.getTaskDefinitionKey()) && StringUtil.isNotBlank(userTask.getAssignee())) {
				ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
				if (StringUtil.equals(userTask.getAssignee().toLowerCase(), FlowAssigneeEnum.INITIATOR.getKey())) {
					taskService.setAssignee(taskEntity.getId(), processInstance.getStartUserId());
				} else if (StringUtil.equals(userTask.getAssignee().toLowerCase(), FlowAssigneeEnum.SUPERIOR.getKey())) {
					String startUserId = processInstance.getStartUserId();
					User startUser = UserCache.getUser(Long.parseLong(startUserId));
					startUser.getDeptId();
					// TODO 自行实现获取上级领导用户id
				}
			}
		}));
	}
}
基于Springboot+Flowable的工作流实战 一、工作流引擎 在OA或一些流程处理的系统项目中,常常会涉及工作流开发相关。Flowable是一个流行的轻量级的采用Java开发的业务流程引擎,是基于Activity5.0的一个分支开发的。通过Flowable流程引擎,我们可以部署BPMN2.0的流程定义(一般为XML文件),通过流程定义创建流程实例,查询和访问流程相关的实例与数据,等等。 flowable的github地址:https://github.com/flowable/flowable-engine activiti的github地址:. 阅读详情

相关推荐

flowable自定义属性添加

最近用到了flowable工作流,由于项目需要在工作流模板中添加自定义属性,因此查了资料踩了坑,就总结下。 网上有关flowable添加自定义属性的文章不少,但是很多写的不够“小白”,我会尽量详细的介绍实操的整个流程。 首先说明这里设置的自定义属性是针对工作流模板的,即属性在模板里已经定义好。请和工作流实例化后的变量区分开。 先看一下flowable原生的属性有哪些:打开flowable的UI界面,任意创建一个模板,点击任意一个节点,可以在下方看到原生属性,如id,Documentation等等(蓝色

a20100997的博客 9720

springboot使用flowable(8)

ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表';) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';指定用户,到了这个任务,act_ru_task的ASSIGNEE_字段 自动就有审批人了,

qq_21277357的博客 2615

SpringBoot集成Flowable工作流

这里涉及到一个东西就是 CMMN,CMMN 与 BPMN 协议一致,也是一种流程内容的规范,CMMN 这类表一般用于存储处理 BPMN 所不能适用的业务场景数据,CMMN 通常与 BPMN 搭配使用,不过只有符合 CMMN 规范的模型数据才会使用这类表。接下来以 ACT_CMMN_RU_ 开始的表代表运行时的数据,这些数据包含案例实例、计划项等的运行时数据。以 ACT_RE_ 开头的表表示这些表都是跟流程的定义、流程的资源等等包含了静态信息相关的表。申请完了之后,只有指定的审核人才能看到需要审核的信息。

z_xiaoluan的博客 7998

Flowable用户权限体系

这里写自定义目录标题用户权限体系Flowable提供的IdmEngine身份识别引擎功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 用户权限体系 使用Flowable工作流引擎的时候,不可避免就需要考虑相应的用户权限,根据官方文档

Itissohardtog的博客 4922

16 Flowable任务之用户任务(UserTask)包含任务指派、多人会签和动态表单

用户任务是流程处理中的非常重要的组成部分,也是比较复杂的一块,涉及到的知识点也比较多,包扣用户指派、候选人指派、领取任务、多人会签、以及涉及到的相关监听器的配置和使用。下面我们通过几个例子来讲述这块内容。 4.2.1.1 用户任务入门案例Assignee指定 我们先用一个简单的用户任务来演示其主要的使用步骤和流程。定义流程定义userTaskOne.bpmn20.xml,其流程图展示如下: 从图上可以看出,在这个任务中,设置的Assignee是admin这个用户。此流程实例的XML内容如下:

qq_36305027的博客 3709

flowable工作流所有业务概念

1.什么是工作流审批 根据本人的理解,就是审批流程管理。 2.什么是flowable 1.官方解释 官方解释如下: Flowable 项目提供了一套核心的开源业务流程引擎,这些引擎紧凑且高效。它们为开发人员、系统管理员和业务用户提供工作流和业务流程管理 (BPM) 平台。 它的核心是一个闪电般快速、久经考验的动态 BPMN 流程引擎,伴随着 DMN 决策表和 CMMN 案例管理引擎,所有这些引擎都是用 Java 编写的。它们是 Apache 2.0 许可的开放源代码,拥有一个承诺社区。 所有引擎都可以嵌入

小鲍侃java 3万+

Flowable工作流

工作流(Workflow)是一种自动化处理业务过程的方法,用于定义、执行和管理业务任务的顺序。

x737510的博客 1万+

flowable用户管理项目

最新版flowable6.3.1用户管理项目,war包形式,放置Tomcat的webapp下,自动部署安装。

SpringBoot+Flowable 完美结合,优雅实现工作流!

点击关注公众号,Java干货及时送达????工作流Flowable学习,入门,实战1工作流介绍1.1 为什么使用工作流在程序员工作中,或多或少都会遇见审批流程类型的业务需求。一个审批流程可能包含开始->申请->领导审批->老板审批->结束等多个阶段,如果我们用字段去定义每一个流程阶段(0->开始 1->申请 2->领导审批 3->老板审批 4->结束...

方志朋的博客 4万+

RK3568/RK3588之修改8250驱动实现RS485收发的自动切换

在串口发送前,若为485,则将控制引脚拉为发送状态,在发送后,循环查看是否发送完成,若发送完成则将引脚置回读状态,如此一来,就能实现在内核测控制方向切换,而不会因为延时造成数据丢失,经过测试此办法可行。全部修改完成后,重新编译生成内核文件和设备树文件,烧写到板子上即可。

哒宰的博客 3116

无人车路径规划方法汇总

无人车路径规划方法汇总

weixin_44380244的博客 2558

Flowable工作流详解(基础篇)

接下来我们结合上面演示的第一个审批流程来详细的介绍下Flowable中的相关表结构的含义和作用。支持的数据库有:Activiti数据库类型示例JDBC URL备注h2默认配置的数据库mysql已使用mysql-connector-java数据库驱动测试oraclepostgresdb2mssqlOR已使用Microsoft JDBC Driver 4.0 (sqljdb。

殊途的博客 5667

汽车以太网- IEEE 802.3标准

关于汽车以太网,大家看到最多的标准大概就是IEEE802.3bw,也就是我们车内使用的百兆以太网,专业称呼是100BASE-T1,该标准是车内百兆以太网的物理层协议,是我们学习汽车以太网必须要了解的协议。在正式了解协议之前,我们先介绍下什么是IEEE802.3标准。............

weixin_39974126的博客 7109

Flowable工作流实战快速入门(一)

实际生活中有一些例如办公类流程需要多个环节人员进行审批,以达到对整个工作流程的控制与掌握。为提高效率,借助计算机对业务流程自动化执行管理,而Flowable框架就可以帮助我们进行工作流程进行管理工作。而Flowable可以帮助我们即是业务流程发送了变更,我们的业务流程代码也无需进行更新。Flowable的资源管理类,提供了管理和控制流程发布包和流程定义的操作。除了部署定义流程之外,此服务还支持查询引擎的发布包和流程定义。Flowable的流程运行管理类,可以从这个服务类中获取很多关于流程执行的相关信息。

GalenGao 1万+

保姆级教学,教你在vscode和cursor上调试matlab!!!

保姆级教你如何在vscode或者cursor上面调试matlab

yang_upup的博客 2083

不用变压器也能联网?手把手教你PHY芯片直连的3种实用方案

本文详细介绍了PHY芯片直连的3种实用方案,帮助开发者在物联网设备中实现更经济、更精简的网络连接设计。通过分析电压驱动型和电流驱动型PHY的核心原理,提供具体的电路配置和优化建议,确保信号质量的同时节省成本和空间。

smartcontract5的博客 333

工作流Flowable实战篇

文章目录1. 流程Demo案例2. 流程模板导入3. 流程模板部署4. 流程的模板的图片和xml显示5. 流程定义的挂起与激活6. 流程定义的删除7. 流程定义查看流程图和xml8. 流程实例的启动9. 流程实例挂起与激活10. 流程实例的删除11. 流程实例 跟踪流程12. 流程实例 终止流程13. 待办任务列表查询14. 已办任务列表查询15.我发起的流程实例查询16.办理任务17.流程实例撤回18.流程任务的转办19.任务委派20.任务签收 反签收21.加签 任务向前加签 向后加签22.驳回/回退

Gblfy_Blog 6536

I2C 协议在 Camera Sensor 驱动中的典型配置方式与实战应用

在 Linux Camera 系统中,Sensor 与主控之间的控制信令几乎都依赖于 I2C 总线完成。I2C 协议不仅承载了 Sensor 初始化、模式切换、AE/AF 等关键功能的指令传输,也是构建 v4l2\_subdev 驱动框架的核心基础。本文将围绕 Sensor 驱动中的 I2C 通信机制展开分析,从设备树节点声明到驱动代码中的传输接口调用,结合主流平台工程实战经验,详解如何构建稳定、高效、可维护的 I2C 控制路径。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1713

工作流-flowable

1. 简单介绍工作流 2. 使用flowable和java api写一个demo 3. 使用flowable集合springboot写一个demo

qq_62656514的博客 7312

《YOLO11魔术师专栏》专栏介绍 & 专栏目录

【原创自研模块】【多组合点优化】【注意力机制】【主干篇】【neck优化】【卷积魔改】 【block&多尺度融合结合】【损失&IOU优化】【上下采样优化】【小目标性能提升】【前沿论文分享】【训练实战篇】

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1万+

电源芯片MPQ3431A

MPQ3431A是一款具有宽输入范围的固定频率为450kHz的高度集成的升压转换器,其输入电压低至2.7V,采用恒定关断时间(COT)的控制拓扑,可提供快速的瞬态响应。芯片支持通过MODE管脚配置PSM(pulse-skip mode)、FCCM(forced continuous conduction mode)和USM(ultrasonic mode);还支持通过电流限制配置来达到精确的过流保护;同时芯片欠压保护(UVLO)和过温保护(OTP)。MPQ3431A采用QFN-13(3mmx4mm)封装。保

qflook的博客 1559

Flowable工作流引擎

Flowable是BPMN的一个基于java的软件实现,不过Flowable不仅仅包括BPMN,还有DMN决策表和CMMN Case管理引擎,并且有自己的用户管理、微服务API等一系列功能,是一个服务平台。

JJJJJJJJJAVA的博客 3376

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

工作流Flowable介绍

Flowable是一款轻量级开源BPM引擎,支持BPMN2.0、CMMN和DMN标准,适用于企业流程自动化。核心功能包括流程执行引擎、任务管理、历史数据存储和REST API集成。最新Flowable7版本基于SpringBoot3和JDK17+,改进了异步执行性能(提升30%)、动态流程修改和云原生支持(Kubernetes Operator),同时重构了REST API和表单系统。相比Flowable6,新版本在架构现代化、吞吐量优化和安全增强方面有显著提升,但数据库兼容性要求更高。其模块化设计和活跃社

Jessechanrui的博客 2463

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

工作流之Flowable

Flowable是一个基于Java的开源BPM框架,它在Activiti的基础上进行了扩展和升级。Flowable提供了全面的功能支持,包括流程定义、执行、监控、任务管理、历史数据管理和用户组管理等。其特点在于可扩展性、易用性、可视化、平台独立性、高性能和灵活性。通过Flowable,企业可以自动化处理内部流程、业务流程以及复杂业务逻辑,提高工作效率和准确性。

一个老Java开发的自白 3952

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

springboot集成flowable工作流

1、Flowable的所有数据库表都以ACT_开头。第二部分是说明表用途的两字符标示符。服务API的命名也大略符合这个规则。2、ACT_RE_: 'RE’代表repository。带有这个前缀的表包含“静态”信息,例如流程定义与流程资源(图片、规则等)。3、ACT_RU_: 'RU’代表runtime。这些表存储运行时信息,例如流程实例(process instance)、用户任务(user task)、变量(variable)、作业(job)等。

学海无涯,我用JAVA 4248
上一篇: 工作流Flowable实战 (五)自定义表单
sql_cc
博客等级 码龄12年 26粉丝 6原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值