对工作流的理解(纯属个人理解)

 

启动活动:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.涉及到工作流的表设计时增加实例化过程ID”,” 实例化活动ID”

每一个流程只有一个启动活动,并且活动(Workflow_Act_M)的功能模块(menu_id)也是唯一的。

2.实例化过程(Workflow_Process_RT)的同时要实例化启动活动。

3.而后根据传递进来的操作值,判断后续活动IDM),实例化后续活动IDRT)。

4.实例化依赖变迁(RT),实例化条件判断(RT)。

 

传递进来的值:@MenuID功能模块ID),@OperateValue操作值

Output值:@ProcessID_RT过程ID(RT)),@CurrentlyActID_RT当前活动ID(RT)),@AfterActID_RT后续活动ID(RT)

 

根据Output@ProcessID_RT过程ID(RT)),@CurrentlyActID_RT当前活动ID(RT))将之保存到某一具体流程数据表内。

 

过程(RTWorkflow_Process_RT   过程实例状态:初始化

当前活动(RTWorkflow_Act_RT   活动实例状态:初始化

后续活动(RTWorkflow_Act_RT   活动实例状态:初始化

注:启动活动无前趋活动

判断时候有启动活动的权利。

 

 

执行活动(通过):

1.  根据活动类型判断活动是否启动活动,如果是启动活动,将过程(Workflow_Process_RT 过程实例状态变更为:由 初始化 变更为 运行中后续活动活动实例状态变更为  运行中。如果是结束活动,执行完以后将改变过程(RTWorkflow_Process_RT过程实例状态:结束 

2.  如果为人工活动、自动处理活动,判断当前活动实例状态(没有启动、初始化、就绪等待、运行中、挂起、与汇聚同步、终止、完成),当为 运行中 时,该活动可以运行。

3.  人工活动、自动处理活动:根据某一流程的 实例化过程ID、实例化活动ID ,首先查询实例化过程的状态(初始化、运行中、挂起、终止、结束),执行当前活动(首先要求判断当前活动的活动实例状态(没有启动、初始化、就绪等待、运行中、挂起、与汇聚同步、终止、完成),运行中时可以执行,挂起的活动解除挂起,方可执行。没有启动的活动实例,只有等过程实例启动方可执行。),并且要根据条件得到后续活动ID(M),实例化后续活动IDRT。同时要求查询出前趋活动IDRT,将之实例化 依赖变迁(RT)、条件判断(RT)

 

传递进来的值:@MenuID功能模块ID),@OperateValue操作值

Output值:

 

 

 

 

执行活动(不通过)

1.  Update依赖变迁(RTWorkflow_Transmit_RTafter_act_id_rt启动活动ID

2.  如果是结束活动,需要改变该活动的 活动实例状态 ,需要将 活动类型 结束活动 改变。改变为 人工活动 将后续活动IDM)变为活动类型 启动活动ID。同时要求查询出前趋活动IDRT,将之实例化 依赖变迁(RT)、条件判断(RT)

3.  如果是人工活动、自动处理活动 ,执行你的操作,将后续活动IDM)变为活动类型 启动活动ID。 同时要求查询出前趋活动IDRT,将之实例化 依赖变迁(RT)、条件判断(RT)

 

 

活动的挂起,同时要求过程挂起。

活动的解除挂起,同时要求解除过程挂起。

活动的终止,过程也终止。

转载于:https://www.cnblogs.com/RedStarLiu/archive/2006/03/07/344491.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值