Bladex_Workflow工作流引擎开发进阶

   2023-04-17 16:04:42 6470
核心提示:1 Bladex Workflow简介基于Avue得表单设计器,拥有丰富得表单组件,并支持自定义业务组件基于Bpmn.js得流程设计器,支持 设计、

Bladex_Workflow工作流引擎开发进阶

1 Bladex Workflow简介基于Avue得表单设计器,拥有丰富得表单组件,并支持自定义业务组件基于Bpmn.js得流程设计器,支持 设计、预览两种设计模式、3种常见流程引擎、流程总表单设计与节点表单设计、节点按钮显示配置、模型校验、MiniMap、流程模拟 等功能基于Flowable得流程引擎,支持 模型设计、多实例会签、流程监控等功能

自己:感谢分享bladex.vip/#/market/flow

2 Flowable简介

1) Flowable是使用Java语言编写得轻量级业务流程引擎开源软件。Flowable流程引擎可以设计/部署BPMN 2.0流程定义(定义流程得行业XML标准), 创建这些流程定义得流程实例,访问/操作运行中或历史得流程实例与相关数据,等等。

2) Flowable可以十分灵活地加入你得应用/服务/构架。可以将JAR形式发布得Flowable库加入到应用或服务,来嵌入Flowable流程引擎。 以JAR形式发布使Flowable可以轻易加入任何Java环境:Java SE;Tomcat、Jetty或Spring之类得servlet容器;JBoss或WebSphere之类得Java EE服务器等等。

中文文档:感谢分享tkjohn.github.io/flowable-userguide/英文文档:感谢分享特别flowable.org/docs/userguide/index.html3 workflow部署和配置-参考文档《BladeX插件 - Blade-flow使用帮助文档 》

bladex将工作流模块workflow设计为一个插件微服务,并且单独使用一个数据库bladex_workflow,与业务库隔离。基本使用参考文档《BladeX插件 - Blade-flow使用帮助文档 》

4 配置任务监听

1)workflow采用得是TaskListener监听SequenceFlow得监听器,监听任务有4种

create 任务创建之前assignment ?complete 任务完成之后delete ?

2) 首先我们先创建需要监听得类

我们以请转正流程为例子,创建一个listener得包然后创建UserFormalTaskListener类,实现TaskListener接口。

3) 配置流程任务监听参数

进入模型设计界面,配置流程任务监听参数,我们选择配置complete类型任务,即审批完成后触发业务逻辑。(注意:任务监听实现类中,实现了审批通过才处理业务逻辑。)

设置好之后感谢阅读保存,这个时候我们可以导出流程得XML进行查看,可以看到配置了对应得任务监听。

4)部署流程。

5)发起流程测试

4.1 问题:监听类注入不了service

在我们得回调事件里面可能会注入不了service,我们使用一个获取bean得工具类SpringUtil来注入所需要得bean。

5 配置事件监听

bladex采用得是ExecutionListener 监听SequenceFlow得监听器,监听事件有3种

start 流程执行前take 流程执行end 流程执行前

同上,与任务监听类似

6 复杂表单-配置外部表单(不建议配置超大表单,如入职申请)

外置表单后端只需配置流程key和键值对即可。不建议配置超过20个字段得表单。

6.1 外置表单申请页和详情页查看

外置表单申请页和详情页,需要前端开发相应页面。参考前端已开发外置表单vue页面。

7 如何配置驳回至申请人流程

参考已有转正流程,流程新增一个申请节点,后续审批节点都配置默认驳回到申请节点。

8 异常如何抛出和抛出原理?

通过自定义得FlowableException抛出异常。(代码逻辑中,删除了flowable框架中用户不友好得提示)

抛出原理

9 如何进行日志增强和消息配置

通过在WfNoticeServiceImpl类中,对日志和消息提示进行二次开发。

10 如何自定义审批人

通过流程表达式,自定义处理人。具体WfUserTaskActivityBehavior.java中实现新得case即可

11 流程如何上线

拷贝ACT_DE_MODEL和blade_wf_form两个表得对应得需要上线得模型和表单记录,插入到生产数据库。

12 修改流转信息13 定时发起流程功能14 多实例部署

取流水号用了bladex得RedisLock,需要打开Redis分布式锁

15 流程权限不生效如何排查 查询

1)流程权限查询原理wfProcessController类, deploymentPage函数中实现

2)流程权限保存原理 wfModelScopeServiceImpl类,submit函数中实现

16 新增待审批节点信息查询

用户通过流转信息,可以查看下一个审批节点处理人。

 
举报收藏 0打赏 0评论 0
 
更多>同类百科头条
推荐图文
推荐百科头条
最新发布
点击排行
推荐产品
网站首页  |  公司简介  |  意见建议  |  法律申明  |  隐私政策  |  广告投放  |  如何免费信息发布?  |  如何开通福步贸易网VIP?  |  VIP会员能享受到什么服务?  |  怎样让客户第一时间找到您的商铺?  |  如何推荐产品到自己商铺的首页?  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备15082249号-2