流程控制表设计 博客分类: 表设计 workflow
程序员文章站
2024-03-26 11:54:23
...
/*
1、WF_WorkFlow用于存放流程定义表
*/
Create Table WF_WorkFlow(
Flow_ID serial not null,
Flow_Caption varchar(50), /*流程名称*/
Flow_Descript varchar(150), /*流程描述*/
Flow_ParentID integer, /*父流程ID*/
Flow_Type integer, /*0流程库,1流程*/
Flow_InitiatorType integer, /*流程启动者类型*/
Flow_Initiator varchar(50), /*流程启动者*/
Flow_Cycle integer, /*流程生命周期小时*/
Flow_CreateTime timestamp with time zone, /*流程创建时间*/
Flow_Status integer, /*流程状态*/
CONSTRAINT WF_WorkFlow_pkey PRIMARY KEY (Flow_ID)
);
/*
2、WF_FlowNode用于存放工作流流程描述
*/
Create Table WF_FlowNode(
Node_ID serial not null,
Flow_ID integer, /*关联,wf_workflow表的flow_id流程编号*/
FormName varchar(150), /*处理表单名称*/
PreNodeID integer, /*前序节点编号*/
NextNodeID integer, /*后续节点编号*/
Node_Caption integer, /*节点名称*/
Node_Description varchar(50), /*节点描述*/
Node_Type integer, /*节点类型,开始节点0,与节点1,或节点2,结束节点3,通知节点4,聚合节点5,发散节点6,子流程节点7*/
ChildFlowID integer, /*子流程编号*/
Runner_Flag integer, /*执行者类型(用户0,部门1,岗位2,部门3,用户组4,其它5,启动者6,多项选择7)*/
Node_Status integer, /*节点状态0开始,2结束,3正常*/
R_UserID varchar(50), /*执行用户标识*/
R_DepartID varchar(50), /*执行部门编号*/
R_JobID varchar(50), /*执行岗位编号*/
R_UserGroupID varchar(50), /*执行工作组编号*/
R_OtherFlowID integer, /*其它指定流程编号*/
R_RunnerOfJog integer, /*一年可动者上级职务编号*/
IsMuliSelect integer, /*是否多选*/
IsOtherMan integer, /*是否允许转发其它人*/
IsAuAssignMan integer, /*是否允许由代理人处理*/
IsBackTaskSelf integer, /*是否允许撤销*/
IsPreTask integer, /*是否允许回退*/
Condition integer, /*执行条件*/
MergerType integer, /*归并类型*/
CONSTRAINT WF_FlowNode_pkey PRIMARY KEY (Node_ID)
);
/*
3、WF_Instance用于存放工作流实例启动描述
*/
Create Table WF_Instance(
Instance_ID serial not null,/*工作流实例ID*/
Flow_ID varchar(50), /*工作流ID*/
Start_UserID varchar(150), /*流程实例发起人*/
Start_Time timestamp with time zone, /*实例开始时间*/
Finish_UserID varchar(50), /*流程实例完成人ID*/
FinishTime timestamp with time zone, /*流程实例完成时间*/
Instance_State varchar(50), /*工作流实例状态*/
Form_ID integer, /*实例相关数据(表单)ID,格式如:表名+ID*/
Instance_Type integer, /*实例类型,0主流程任务,1子流程任务*/
ParentInstanceID integer,/*父实例ID*/
ParentActiveID integer,/*父实例活动ID*/
CONSTRAINT WF_Instance_pkey PRIMARY KEY (Instance_ID)
);
/*
4、WF_Active用于存放流程实例活动描述
*/
Create Table WF_Active(
Active_ID serial not null,/*活动ID*/
Instance_ID varchar(50), /*关联的实例ID*/
Node_ID varchar(150), /*活动所在的工作流节点*/
PreNode_ID integer, /*活动回退节点ID*/
Node_Type integer, /*活动所在的工作流节点类型*/
PreNode_Type integer, /*活动回退节点类型*/
Split_ID integer, /*活动分支Id*/
Active_CreateDate timestamp with time zone, /*流程创建日期*/
Active_CreateTime timestamp with time zone, /*流程创建时间*/
Active_Type integer,/*活动类型*/
Active_IsFinish integer,/*活动是否完成*/
PreActiveID integer, /*回退活动ID*/
CONSTRAINT WF_Active_pkey PRIMARY KEY (Flow_ID)
);
/*
5、WF_MergeActive用于存放流程聚合活动关系
*/
Create Table WF_MergeActive(
ID serial not null,
Active_ID varchar(50), /*所在活动ID*/
Node_ID varchar(150), /*所在活动的节点ID*/
MergeNode_ID integer, /*聚合节点ID*/
Split_ID integer, /*活动分支ID*/
CONSTRAINT WF_MergeActive_pkey PRIMARY KEY (ID)
);
/*
6、WF_WorkItemList用于存放工作项
*/
Create Table WF_WorkItemList(
Item_ID serial not null,
Active_ID varchar(50), /*所在活动ID*/
User_ID varchar(150), /*所在活动的节点ID*/
User_RunStatus integer, /*聚合节点ID*/
User_Type integer, /*活动分支ID*/
Remark varchar(254), /*备注*/
FileName varchar(254), /*附件地址*/
Exe_RealMan varchar(50), /*实际执行人*/
Exe_Type integer, /*执行类型,与下一节点类型相同*/
TransmitUser_ID varchar(50), /*转发人用户ID*/
Instance_ID varchar(50), /*实例ID*/
CONSTRAINT WF_WorkItemList_pkey PRIMARY KEY (Item_ID)
);
/*
7、o_User用于存放工作项
*/
Create Table O_User(
User_ID serial not null,
User_Name varchar(50), /*所在活动ID*/
User_PSW varchar(150), /*所在活动的节点ID*/
User_Age integer, /*聚合节点ID*/
CONSTRAINT O_User_pkey PRIMARY KEY (User_ID)
);
/*
8、O_Organize用于存放组织信息
*/
Create Table O_Organize(
Depart_ID varchar(50), /*部门ID*/
Depart_Name varchar(50), /*所在活动ID*/
Parent_ID varchar(150), /*所在活动的节点ID*/
CONSTRAINT O_Organize_pkey PRIMARY KEY (Depart_ID)
);
/*
9、O_Group用于存放工作组信息
*/
Create Table O_Group(
Group_Id varchar(50),
Group_Name varchar(50) /*所在活动ID*/
);
/*
10、O_Position用于存放岗位信息
*/
Create Table O_Position(
Position_Id serial not null,
Position_Name varchar(50), /*岗位名称*/
);
/*
11、R_User_Group用于存放用户和工作组的映射关系
*/
Create Table R_User_Group(
User_ID varchar(50),
Group_ID varchar(50), /*工作组ID*/
);
/*
12、R_User_Org_Pos用于存放,用户组织,岗位映射关系
*/
Create Table R_User_Org_Pos(
User_ID varchar(50),
Oganize_ID varchar(50), /*部门ID*/
Position_ID,varchar(50),/*岗位ID*/
);
1、WF_WorkFlow用于存放流程定义表
*/
Create Table WF_WorkFlow(
Flow_ID serial not null,
Flow_Caption varchar(50), /*流程名称*/
Flow_Descript varchar(150), /*流程描述*/
Flow_ParentID integer, /*父流程ID*/
Flow_Type integer, /*0流程库,1流程*/
Flow_InitiatorType integer, /*流程启动者类型*/
Flow_Initiator varchar(50), /*流程启动者*/
Flow_Cycle integer, /*流程生命周期小时*/
Flow_CreateTime timestamp with time zone, /*流程创建时间*/
Flow_Status integer, /*流程状态*/
CONSTRAINT WF_WorkFlow_pkey PRIMARY KEY (Flow_ID)
);
/*
2、WF_FlowNode用于存放工作流流程描述
*/
Create Table WF_FlowNode(
Node_ID serial not null,
Flow_ID integer, /*关联,wf_workflow表的flow_id流程编号*/
FormName varchar(150), /*处理表单名称*/
PreNodeID integer, /*前序节点编号*/
NextNodeID integer, /*后续节点编号*/
Node_Caption integer, /*节点名称*/
Node_Description varchar(50), /*节点描述*/
Node_Type integer, /*节点类型,开始节点0,与节点1,或节点2,结束节点3,通知节点4,聚合节点5,发散节点6,子流程节点7*/
ChildFlowID integer, /*子流程编号*/
Runner_Flag integer, /*执行者类型(用户0,部门1,岗位2,部门3,用户组4,其它5,启动者6,多项选择7)*/
Node_Status integer, /*节点状态0开始,2结束,3正常*/
R_UserID varchar(50), /*执行用户标识*/
R_DepartID varchar(50), /*执行部门编号*/
R_JobID varchar(50), /*执行岗位编号*/
R_UserGroupID varchar(50), /*执行工作组编号*/
R_OtherFlowID integer, /*其它指定流程编号*/
R_RunnerOfJog integer, /*一年可动者上级职务编号*/
IsMuliSelect integer, /*是否多选*/
IsOtherMan integer, /*是否允许转发其它人*/
IsAuAssignMan integer, /*是否允许由代理人处理*/
IsBackTaskSelf integer, /*是否允许撤销*/
IsPreTask integer, /*是否允许回退*/
Condition integer, /*执行条件*/
MergerType integer, /*归并类型*/
CONSTRAINT WF_FlowNode_pkey PRIMARY KEY (Node_ID)
);
/*
3、WF_Instance用于存放工作流实例启动描述
*/
Create Table WF_Instance(
Instance_ID serial not null,/*工作流实例ID*/
Flow_ID varchar(50), /*工作流ID*/
Start_UserID varchar(150), /*流程实例发起人*/
Start_Time timestamp with time zone, /*实例开始时间*/
Finish_UserID varchar(50), /*流程实例完成人ID*/
FinishTime timestamp with time zone, /*流程实例完成时间*/
Instance_State varchar(50), /*工作流实例状态*/
Form_ID integer, /*实例相关数据(表单)ID,格式如:表名+ID*/
Instance_Type integer, /*实例类型,0主流程任务,1子流程任务*/
ParentInstanceID integer,/*父实例ID*/
ParentActiveID integer,/*父实例活动ID*/
CONSTRAINT WF_Instance_pkey PRIMARY KEY (Instance_ID)
);
/*
4、WF_Active用于存放流程实例活动描述
*/
Create Table WF_Active(
Active_ID serial not null,/*活动ID*/
Instance_ID varchar(50), /*关联的实例ID*/
Node_ID varchar(150), /*活动所在的工作流节点*/
PreNode_ID integer, /*活动回退节点ID*/
Node_Type integer, /*活动所在的工作流节点类型*/
PreNode_Type integer, /*活动回退节点类型*/
Split_ID integer, /*活动分支Id*/
Active_CreateDate timestamp with time zone, /*流程创建日期*/
Active_CreateTime timestamp with time zone, /*流程创建时间*/
Active_Type integer,/*活动类型*/
Active_IsFinish integer,/*活动是否完成*/
PreActiveID integer, /*回退活动ID*/
CONSTRAINT WF_Active_pkey PRIMARY KEY (Flow_ID)
);
/*
5、WF_MergeActive用于存放流程聚合活动关系
*/
Create Table WF_MergeActive(
ID serial not null,
Active_ID varchar(50), /*所在活动ID*/
Node_ID varchar(150), /*所在活动的节点ID*/
MergeNode_ID integer, /*聚合节点ID*/
Split_ID integer, /*活动分支ID*/
CONSTRAINT WF_MergeActive_pkey PRIMARY KEY (ID)
);
/*
6、WF_WorkItemList用于存放工作项
*/
Create Table WF_WorkItemList(
Item_ID serial not null,
Active_ID varchar(50), /*所在活动ID*/
User_ID varchar(150), /*所在活动的节点ID*/
User_RunStatus integer, /*聚合节点ID*/
User_Type integer, /*活动分支ID*/
Remark varchar(254), /*备注*/
FileName varchar(254), /*附件地址*/
Exe_RealMan varchar(50), /*实际执行人*/
Exe_Type integer, /*执行类型,与下一节点类型相同*/
TransmitUser_ID varchar(50), /*转发人用户ID*/
Instance_ID varchar(50), /*实例ID*/
CONSTRAINT WF_WorkItemList_pkey PRIMARY KEY (Item_ID)
);
/*
7、o_User用于存放工作项
*/
Create Table O_User(
User_ID serial not null,
User_Name varchar(50), /*所在活动ID*/
User_PSW varchar(150), /*所在活动的节点ID*/
User_Age integer, /*聚合节点ID*/
CONSTRAINT O_User_pkey PRIMARY KEY (User_ID)
);
/*
8、O_Organize用于存放组织信息
*/
Create Table O_Organize(
Depart_ID varchar(50), /*部门ID*/
Depart_Name varchar(50), /*所在活动ID*/
Parent_ID varchar(150), /*所在活动的节点ID*/
CONSTRAINT O_Organize_pkey PRIMARY KEY (Depart_ID)
);
/*
9、O_Group用于存放工作组信息
*/
Create Table O_Group(
Group_Id varchar(50),
Group_Name varchar(50) /*所在活动ID*/
);
/*
10、O_Position用于存放岗位信息
*/
Create Table O_Position(
Position_Id serial not null,
Position_Name varchar(50), /*岗位名称*/
);
/*
11、R_User_Group用于存放用户和工作组的映射关系
*/
Create Table R_User_Group(
User_ID varchar(50),
Group_ID varchar(50), /*工作组ID*/
);
/*
12、R_User_Org_Pos用于存放,用户组织,岗位映射关系
*/
Create Table R_User_Org_Pos(
User_ID varchar(50),
Oganize_ID varchar(50), /*部门ID*/
Position_ID,varchar(50),/*岗位ID*/
);
推荐阅读
-
流程控制表设计 博客分类: 表设计 workflow
-
流程控制表设计 博客分类: 表设计 workflow
-
jBPM 4.0.0 alpha1 用户指南翻译 第1章 博客分类: jBPM JBPMJBossEclipse设计模式Workflow
-
一本书的摘要 博客分类: 生活、工作、学习 软件测试编程应用服务器设计模式Workflow
-
一本书的摘要 博客分类: 生活、工作、学习 软件测试编程应用服务器设计模式Workflow
-
如何设计数据库表? 博客分类: 项目经验 Oracle
-
在Tapestry中使用redirect-after-post模式控制表单提交 博客分类: Tapestry4 Tapestry设计模式ApacheOOAjax
-
在Tapestry中使用redirect-after-post模式控制表单提交 博客分类: Tapestry4 Tapestry设计模式ApacheOOAjax
-
如何设计数据库表? 博客分类: 项目经验 Oracle