在前面一節中簡單的講解了基本原理,從這節開始會詳細講解。首先需要講解的就是資料設計,下面就是資料庫的相關設計
表名:WorkflowTemplate--工作流程範本
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
TemplateID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
TemplateName |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 3 |
Workflow |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 4 |
RecordStatus |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 5 |
CreateDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 6 |
CreateUserID |
int |
4 |
0 |
|
|
是 |
|
|
| 7 |
ModifyDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 8 |
ModifyUserID |
int |
4 |
0 |
|
|
是 |
|
|
|
表名:WorkflowTemplateFlow--模板活動Activity
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
FlowID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
Activity |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 3 |
ActivityName |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 4 |
ActivityType |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 5 |
ApplicationCode |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 6 |
TemplateID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 7 |
ParentFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 8 |
ContainerFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 9 |
GroupID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 10 |
IsGroup |
int |
4 |
0 |
|
|
是 |
|
|
| 11 |
IsExpire |
bit |
1 |
0 |
|
|
是 |
|
|
| 12 |
IsNotice |
bit |
1 |
0 |
|
|
是 |
|
|
| 13 |
ExpireDay |
int |
4 |
0 |
|
|
是 |
|
|
| 14 |
Desciption |
nvarchar |
250 |
0 |
|
|
是 |
|
|
| 15 |
RecordStatus |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 16 |
CreateDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 17 |
CreateUserID |
int |
4 |
0 |
|
|
是 |
|
|
| 18 |
ModifyDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 19 |
ModifyUserID |
int |
4 |
0 |
|
|
是 |
|
|
|
表名:WorkflowFlowRole--Activity審批許可權
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
RoleID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
FlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 3 |
RefRoleTable |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 4 |
RefRoleID |
int |
4 |
0 |
|
|
是 |
|
|
| 5 |
RoleRemark |
nvarchar |
250 |
0 |
|
|
是 |
|
|
|
表名:WorkflowFlowCondition--分支節點條件
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
ConditionID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
FlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 3 |
TargetFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 4 |
EntityName |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 5 |
EntityFormula |
nvarchar |
250 |
0 |
|
|
是 |
|
|
| 6 |
EntityValue |
nvarchar |
250 |
0 |
|
|
是 |
|
|
| 7 |
EntityRemark |
nvarchar |
250 |
0 |
|
|
是 |
|
|
|
表名:WorkflowInstance--工作流程運行執行個體
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
InstanceID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
TemplateID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 3 |
TemplateName |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 4 |
Workflow |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 5 |
BizKey |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 6 |
OrgKey |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 7 |
RunStatus |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 8 |
RecordStatus |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 9 |
CreateDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 10 |
CreateUserID |
int |
4 |
0 |
|
|
是 |
|
|
| 11 |
ModifyDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 12 |
ModifyUserID |
int |
4 |
0 |
|
|
是 |
|
|
|
表名:WorkflowInstanceFlow--工作流程運行執行個體節點
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
InstanceFlowID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
InstanceID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 3 |
FlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 4 |
Activity |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 5 |
ActivityName |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 6 |
ActivityType |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 7 |
ApplicationCode |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 8 |
TemplateID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 9 |
ParentFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 10 |
ContainerFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 11 |
PrevFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 12 |
GroupID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 13 |
IsGroup |
int |
4 |
0 |
|
|
是 |
|
|
| 14 |
IsNotice |
bit |
1 |
0 |
|
|
是 |
|
|
| 15 |
IsExpire |
bit |
1 |
0 |
|
|
是 |
|
|
| 16 |
ExpireDay |
int |
4 |
0 |
|
|
是 |
|
|
| 17 |
Desciption |
nvarchar |
250 |
0 |
|
|
是 |
|
|
| 18 |
RecordStatus |
nvarchar |
36 |
0 |
|
|
是 |
|
|
| 19 |
CreateDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 20 |
CreateUserID |
int |
4 |
0 |
|
|
是 |
|
|
| 21 |
ModifyDate |
smalldatetime |
4 |
0 |
|
|
是 |
getdate |
|
| 22 |
ModifyUserID |
int |
4 |
0 |
|
|
是 |
|
|
|
表名:WorkflowInstanceRole--工作流程運行執行個體角色
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
InstanceRoleID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
InstanceFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 3 |
RoleID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 4 |
FlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 5 |
RefRoleTable |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 6 |
RefRoleID |
int |
4 |
0 |
|
|
是 |
|
|
| 7 |
RoleRemark |
nvarchar |
250 |
0 |
|
|
是 |
|
|
|
表名:WorkflowInstanceCondition--工作流程運行執行個體條件
| 序號 |
列名 |
資料類型 |
長度 |
小數位 |
標識 |
主鍵 |
允許空 |
預設值 |
說明 |
| 1 |
InstanceConditionID |
uniqueidentifier |
16 |
0 |
|
是 |
否 |
|
|
| 2 |
InstanceFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 3 |
ConditionID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 4 |
FlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 5 |
TargetFlowID |
uniqueidentifier |
16 |
0 |
|
|
是 |
|
|
| 6 |
EntityName |
nvarchar |
100 |
0 |
|
|
是 |
|
|
| 7 |
EntityFormula |
nvarchar |
250 |
0 |
|
|
是 |
|
|
| 8 |
EntityValue |
nvarchar |
250 |
0 |
|
|
是 |
|
|
| 9 |
EntityRemark |
nvarchar |
250 |
0 |
|
|
是 |
|
|
|
由上可以看出,運行執行個體是模板的複製,就是在啟動並執行時候把同一業務的流程進行複製,然後啟動並執行都是執行個體,操作執行個體對象。