很多时候,工作流引擎就是系统的核心,可是很多工作流框架太过死板,配置项也比较麻烦,归根结底工作流引擎也不过是帮助我们完成事件的框架,其实可以根据自己的需求自己设计数据库,完成工作流
首先工作流必备的几张表有:历史表,步骤表,步骤历史表和事件当前状态表,这四张表是最基础的,如果工作里比较复杂也可以根据自己的工作流自行增加删减
历史表:历史表是对事件办理完成后的归档保存处理,所以历史表必须要包含事件的所有字段,这里就不给出具体表结构,根据自己的事件自己设计。
步骤表:步骤表的作用,首先定义每个工作流的步骤,当流程开始时流程的每一步以及下一步是什么大致表结构如下:
CREATE TABLE "FLOW_STATE"
("CODE" NVARCHAR2(255),
"STATE_CODE" NVARCHAR2(255),
"BEROF_NUM" NVARCHAR2(255),
"AFTER_NUM" NVARCHAR2(255),
"STATE_NAME" NVARCHAR2(255),
"EXPLAIN" NVARCHAR2(255)
)
该表包括主键、步骤code、上一步code、下一步code,当前步骤名称,及步骤注释。
步骤历史表:记录每个事件,每一步的历史留痕,事件每走一步,这张表就插入一条数据,表结构如下:
CREATE TABLE "FLOW_STEP"
("CODE" NVARCHAR2(255),
"CREATE_DATE" NVARCHAR2(255),
"PERSON_CODE" NVARCHAR2(255),
"BEFOR_STEP" NVARCHAR2(255),
"AFTER_STEP" NVARCHAR2(255),
"OPINION" NVARCHAR2(255),
"STEP_STATE" NVARCHAR2(255),
"MAIN_CODE" NVARCHAR2(255)
)
该表包括主键,操作时间按,操作人,上一步操作人,下一步操作人,意见,步骤code,以及事件当前状态表code。
事件当前状态表:主要记录事件分类,事件当前状态等信息,表结构如下:
CREATE TABLE "ARES"."FLOW_MAIN"
( "CODE" NVARCHAR2(255),
"CREATE_DATE" NVARCHAR2(255),
"PERSON_CODE" NVARCHAR2(255),
"EVENT_CODE" NVARCHAR2(255),
"EVENT_STATE" NVARCHAR2(255) DEFAULT NULL,
"EVENT_NAME" NVARCHAR2(255),
"STEP_NUM" NVARCHAR2(255)
)
此表关联所有表的相关信息,包括主键,创建时间,创建人,事件code,事件状态,事件名称code以及事件步骤code