关于工作流程引擎表结构的设计概要说明.
- 流程引擎表结构的设计
流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表。理解表结构,掌握状态字段,相关字段变化的规律,就掌握的整个流程引擎运转的规律了。
- 流程引擎表的作用
流程引擎表,是用来存储流程运行中信息的表。
流程在运行过程中,需要把中间数据写入到该表中。
一个流程启动后,就创建一个workid,就在流程引擎注册表里注册一条数据,有一个字段WFState来表示该流程的运行状态,一个FK_Node标识该流程运行到的节点。
流程启动发送到下一个节点,系统就会产生下一个节点的工作人员,每个人员都有一条记录写入到WF_GenerWorkerList。 在这个WF_GenerWorkerList表里,有FK_Emp,WorkID,FK_Node三个字段作为联合主键。
WF_GenerWorkerList的字段IsRead标明该 待办该文件是否读取, IsPass标识该待办的状态,是否通过/处理过,关于这两张表大详细信息请参考下一章节。
当一个流程结束之后,WF_GenerWorkerlist这个表关于该流程实例的workid数据被全部清除掉,这个workid的流程在这个表的使命已经完成。在WF_GenerWorkFlow表里的状态字段(WFState) 标记已经完成状态,可以供历史流程查询。
工作流程引擎的待办列表是通过这两个表联合组成一个视图实现的。
- 流程状态设计
流程在整个生命周期中有不同的状态,合理的设计流程状态,正确的划分是系统协调一致稳定运行的基础。
我们把流程分为如下状态。
流程状态变化的概要说明:
操作员启动一个流程,创建一个workid,这个时候的状态是空白状态,也叫站位状态,如果在启动之前已经有了这个站位状态,它就不在创建新的workid而是取出来这个workid作为当前流程的实例。
如果启用了草稿规则,并且允许有草稿的模式下:
这个时间,如果用户点击保存该状态从空白状态转化为草稿状态,如果用户执行发送当前节点就运行到下一个节点上去了,当前状态变为运行中的状态。如果用户直接关闭了,这个时间的状态就是草稿状态,可以在草稿里找到这条实例记录。
如果不启用草稿,在这种模式下:
这个时间,如果用户点击保存,仍然是空白状态。用户点击发送后,由空白状态转化为运行中状态,当前节点运动到下一个节点上去,下一个节点的工作人员就产生了待办。
如果上一个节点退回了,执行了退回操作,当前的流程状态就变成为退回状态,上一个节点人被退回人就有了待办工作,被退回人打开后,就可以看到退回消息,他点击发送后又变成了运行中的状态,发送到下一个节点上去了。
流程走到最后一个节点,点击发送,整个流程就结束了,状态变为流程完成状态。
- 流程引擎表结构
每个字段的详细意思,请参考数据表结构如下图:
流程注册表
流程工作人员表
重要字段解析:
WF_GenerWokFlow
字段名 |
中文名 |
解释 |
WorkID |
工作ID |
唯一的主键,该表不能重复。 |
WFState |
状态 |
流程运行状态: 请参考流程状态设计 |
Title |
标题 |
流程的标题 |
FK_Flow |
流程模版编号 |
|
FK_Node |
停留节点 |
停留到那个节点上去了。 |
Starter |
发起人 |
|
RDT |
发起日期 |
工作人员列表: WF_GenerWokerList
字段名 |
中文名 |
解释 |
WorkID |
工作ID |
主键 |
FK_Emp |
状态 |
主键 |
FK_Node |
标题 |
主键 |
IsPass |
是否通过? |
0=未通过,1=通过 |
IsRead |
是否读取? |
0=未读,1=已读 |
SDT |
应完成日期 |
|
RDT |
到达日期 |
|
CDT |
实际完成日期 |
流程运行完毕后,根据当前的工作ID,把数据删除掉。
关于工作流程引擎表结构的设计概要说明.相关推荐
- 驰骋工作流引擎设计系列04 流程引擎表结构的设计
第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 流程引擎表结构的设计 流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表.理 ...
- Activity流程引擎表结构
一.表结构介绍 工作流Activity总共有23张表,总共可以分为5大类: ACT_RE_*:RE表示repository,总共有3张表,带此前缀的表包含的是静态信息,如:流程定义,流程部署,流程设计 ...
- 驰骋工作流程引擎 ccflow
驰骋工作流程引擎 ccflow 驰骋工作流程引擎,工作流程管理系统:简称ccflow. 是来解决政府机关.企事业单位管理经营活动中的业务作业过程中规范化.合理化的软件管理系统.它以多样的终端(计算机. ...
- 驰骋工作流程引擎,ccflow,如何把子线程的数据汇总到合流节点表单中去?
为什么80%的码农都做不了架构师?>>> 驰骋工作流程引擎,ccflow,如何把子线程的数据汇总到合流节点表单中去?对于分合流程来说,一般的模式就是分流 – 子线程 – 合流. ...
- MySQL数据库表结构的设计
一.前言 1.1 关系型数据库 数据库关系型模型的概念最早由"关系数据库之父"之称的埃德加·弗兰克·科德(Edgar Frank Codd或E. F. Codd)博士提出,1970 ...
- MySQL的MyISAM和InnoDB存储引擎表结构
MySQL的MyISAM和InnoDB存储引擎表结构: MyISAM存储引擎: MyISAM表:每一个表都有3个文件,都位于数据库目录中. tb_name.frm 表结构定义 tb_name.MYD ...
- ezdml 支付mysql 吗_关于EZDML数据库表结构制作设计工具使用踩的坑
我使用的是一款EZDML的数据库表结构制作设计工具 最开始在数据库创建数据库名为personalmall,基字符集为默认,数据库排序规则也是默认,创建完成之后 去EZDML生成SQL 点击执行sql ...
- 驰骋工作流程引擎案例-水质检测工作流程设计开发实现过程
2019独角兽企业重金招聘Python工程师标准>>> Technorati Tags: 开源驰骋工作流引擎, .NET工作流,表单设计器,ccflow, jflow, 案例,水质监 ...
- java中自定义表单和流程_让驰骋工作流程引擎 ccbpm使用自定义表单来实现自己的业务逻辑....
1.1.1.1: SDK表单 概要说明:我们把流程引擎与表单引擎统称为ccbpm,但是有一些用户并不想使用表单引擎,而是用自己的表单,仅仅使用流程引擎,这样的方式就要采用ccbpm的sdk表单开发模式 ...
最新文章
- 服务器访问后不显示jsp,访问jsp服务器中遇到的问题
- 关于Scrum中sprint的规模估算的对话
- 基于FPGA的红外遥控解码与PC串口通信
- Dart 3-Day
- 三、Arcgis api js -- 图形管理 Layer
- iris数据_Python数据分析02-Iris-直方图与KDE
- KCdoes NetUSB 严重漏洞影响多家厂商的数百万台路由器
- 400元DIY实现手机 笔记本 GPS导航
- springboot项目实现站内信功能记实
- 7种网页图片切换方式代码
- DouPHP模块化企业网站管理系统源码 v1.6
- 长安链ChainMaker的多链隔离设计
- 动态软件测试是什么意思,什么是动态测试?
- 大数据时代的背景与变化
- 自动化测试学习daytwo(接口自动化概论)
- 黑磷量子点/铂杂化介孔二氧化硅纳米颗粒/负载黑磷量子点红细胞膜纳米囊泡BPQD-EMNVs的应用
- 2.Elasticsearch集群实现
- 在线特长培训机构搭建小程序报名平台教程!
- 龙梦3A4000代码获Kernel 5.5合并
- GIS开发:使用QGIS下载osm开放数据
热门文章
- 功率曲线k值_基于K-均值聚类分析的风力机功率曲线统计应用
- office 文件在线协作编辑——解决方案1(基于sharepoint的二次开发)
- QQ上线新功能,微信用户要羡慕哭了!
- 如何快速找出两直线交点?
- 中国风道德教学课件PPT模板
- PHP实现调取 百度文字转语音SDK
- Layui富文本编辑器图片上传接口(.NET C#)
- 第3章第4节:利用PowerPoint提供的颜色工具调整图片色彩 [PowerPoint精美幻灯片实战教程]
- EndNote使用笔记
- 渡鸦音箱独家测评: 代表百度AI技术尊严的DuerOS, 用户体验真的能过关吗?