文档章节

Activiti工作流小结

工作流流流流流
 工作流流流流流
发布于 02/13 10:27
字数 914
阅读 1
收藏 0

最近公司做的项目用到了工作流,便买了一本书进行学习和应用,

感觉activiti限制颇多,很多功能实现不了中国式全自由流程,

自由流是一种选择,但是因为不能让用户选择领导部门,所以就把这个方案给否了。

然后就开始模仿activiti机制自己写一套流程机制,

从节点的类型【顺序节点、分支节点、结束节点、子流程节点等】

到自定义表单,表单对应当前模型,每个节点也对应的相关展示表单项,实现动态控制流程和表单

目前这种实现方案还在继续使用,但总归自己封装的,没有activiti机制封装的好

所以又采用 acitviti+自己定义的动态表单 实现一版,作为后续升级更新版本

个人感觉这个版本还挺方便的,虽然开发工作量大,

但后期使用和维护人员会很轻松,开发可以不介入创建流程等操作。

对于实现分方法做一个简单的总结,不足之处欢迎大家给我指出。

第一步:activiti-modeler模型设计器,在上几篇文章中有体现,包括代码什么的都很详细,具体的项目再百度云盘里,文章结尾有连接。

 设计节点期间,我没有采用activiti自带的用户和组相应机制,所以我这里除了开始节点、结束节点、和发起表单节点以外采用的都是统一格式

采用会签节点来放置一个 transactorIdList 容器,这样做比较灵活

我们可以在代码中动态获取下一节点id,然后根据配置的节点处理人动态来创建代办。

##############################################################################################

获取下一节点:

之后根据返回的节点id(这里包含了网关,任务接单,以及子例程等情况), 根据下一节点id 获取下一节点处理人这一块是自己配置的。

对于网关,可在线上写流转条件, 然后在 上图 variables动态设置流转条件。

###############################################################################

 

流程发布时 保存节点和子节点信息

记得要去重, 这里我是根据节点id来去重的。

###################################################################################################

 

配置好以后在办理过程中就很简单了,回显方面可采用 自己创建的动态表单+历史表 创建视图进行回显。

如果时间允许,自己定义实例表单,存储自己需要的节点处理历史更好。

最理想的方式就是 activiti流转机制+动态表单+动态处理人   

activiti本身自带的组、用户、历史等全部可以丢掉,

发起办理时的表单、处理的时的表单回显(这里使用的freemaker直接生成的html代码块)、办理时获取节点处理人等我就不一一贴代码,业务不同,表结构不同获取方式也不同,

处理时遇到的子流程、调用活动、撤回、驳回、非正常结束等一些特殊节点和功能,会有特殊介绍。

 

运行效果:

模型配置表单

节点配置表单和处理人 :

© 著作权归作者所有

共有 人打赏支持
工作流流流流流
粉丝 16
博文 4
码字总数 2271
作品 0
郑州
程序员
私信 提问
activiti工作流的web流程设计器整合视频教程 SSM和独立部署

本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流程设计器和其它工作流项目分开...

ITjavaxue
2017/04/15
0
0
java activiti工作流的web流程设计器整合视频教程 SSM和独立部署

本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流程设计器和其它工作流项目分开...

niuyangyang87
2017/04/14
0
0
怎么样实现activiti 工作流的二次开发

怎么样实现activiti 工作流的二次开发,比如说有没有什么activiti 工作流的二次开发手册之类的什么东西,比如说我想基于activiti 工作流开发一个activiti 工作流现在不存大的功能怎么做到呢,...

gtandsn
2014/12/05
2.3K
2
十分钟认识Activiti6.0工作流引擎

概述 了解Activiti 假如你还不知道Activiti是什么,那么工作流引擎对你来说一定也是新的,解决Activiti和工作流知识盲点,所以看到到这里就对了,还有Android同学会误以为是“Activity”,工...

JimmyNo1
2018/06/13
0
0
java activiti5 在线web流程设计器整合视频教程 SSM和独立部署

本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流程设计器和其它工作流项目分开...

m17095936074
2017/06/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

四、RabbitMQ3.7在CentOS7下的安装

安装依赖 sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git 创建yum源 vi /etc/yum.repos.d/rabbitmq-erlang.repo [......

XuePeng77
今天
2
0
android 延长Toast的时长

示例:myToast(5000,"hello"); public void myToast(int showTime, String msg) { Toast hello = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT); new CountDownTimer(......

雨焰
昨天
4
0
浅谈mybatis的日志适配模式

Java开发中经常用到的日志框架有很多,Log4j、Log4j2、slf4j等等,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。有关适配器模式例子可以参考 设计...

算法之名
昨天
13
0
大数据教程(13.6)sqoop使用教程

上一章节,介绍了sqoop数据迁移工具安装以及简单导入实例的相关知识;本篇博客,博主将继续为小伙伴们分享sqoop的使用。 一、sqoop数据导入 (1)、导入关系表到HIVE ./sqoop import --connect...

em_aaron
昨天
3
0
Git cherry-pick 使用总结

应用背景:假设现在有两个分支:dev_01, dev_02. 如果我想把dev_01分支上的某几个commit合并到dev_02分支, 那么怎么办呢? 这就是cherry-pick的工作了。cherry-pick会捡选某些commit, 即把某...

天王盖地虎626
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部