概要:在管理信息化的领域中,业务流程标准化是一个管理能力提升的重要里程碑产物。流程引起的产生让管理者和软件开发者可以专注于业务本身,而不必太多关心单据审批流程的流转。
承接上文:https://ecloud.10086.cn/api/query/developer/user/home.html#L2FwaS9xdWVyeS9kZXZlbG9wZXIvYmxvZy9ibG9nZGV0YWlsLmh0bWw/YmxvZ19pZD03ZjZhYzcyNzE4NmY0MGI5YmIxZjZkYjRmMWQ5YThjMA==
本文重点介绍工作流中,如何进行流程定义实例化、活动定义实例化和工作项生成,即怎么进行工作流的流转。
首先,建立一下流程定义实例化、活动实例化和工作项生成的基本概念:
1、流程实例化是指流程定义的抽象化实例,可以套用面向对象的概念,流程定义是具备相同特性和行为的流程实例的抽象,流程定义的具体化就是流程实例。
2、活动实例化是指活动定义的抽象化实例,同样可以套用面向对象的概念,活动定义是具备相同特性和行为的活动实例的抽象,活动定义的具体化就是活动实例;
3、工作项是基于活动实例的衍生概念,是活动实例关联的一组任务的实例实例化,或者说是任务的具体化,也就是我们通常意义理解的待办和已办。
三者的关系:1)流程实例:活动实例=1:n,2)活动实例:工作项:1:m。
基于以上概念,不难得出,想要进行工作项的流转,必须经过以下步骤:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~我是可爱的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//流程定义 Class ProcessDef
//流程实例 Object processInst
//活动定义 Class ActivityDef
//活动实例 Object activityInst
//任务实体类 Class Workitem
//工作项 Object workitem
---------------------------------------------------------------------------
//第一步:创建流程实例,是一个流程定义的实例化,ProcessDefId是流程定义的标识。
ProcessDef processInst =new ProcessDef(ProcessDefId);
//第二步:更具用户界面选择的提交的活动环节(流程定义环节)来创建活动实例,活动定义是流程定义的一个环节(ActivityDefId是环节定义的标识),通过顺序流程(单向连线)关联。
ActivityDef activityInst =processInst.CreateActivity(ActivityDefId);
//第三步:创建该活动实例对应的工作项,任务是一个数据结构,工作项是任务的实例。赋值工作项的基本属性:待办接收人+待办创建时间+待办状态等。
Workitem workitem = activityInst.createWorkitem();
workitem.setParticipants(userIds);
workitem.setCreateTime(new Date());
workitem.setActivityInstId(activityInstId);
workitem.setStatus(pendingStaus);
......
//第四步:发送待办。
activityInst.sendWorkitem(workitem);
套用一个请假流程的具体实例:(小明请假)
//第一步:建工单
ProcessDef processInst =new ProcessDef(请假工单Id);
//第二步:选择提交组长审批环节
ActivityDef activityInst =processInst.CreateActivity(组长审批环节Id);
//第三步:选择组长
Workitem workitem = activityInst.createWorkitem();
workitem.setParticipants(组长Id);
workitem.setCreateTime("2022-06-21 08:00:00");
workitem.setActivityInstId(activityInstId);
workitem.setStatus("待处理");
......
//第四步:提交审批,待办给到组长
activityInst.sendWorkitem(workitem);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~我也是可爱的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
本文截至上述内容的介绍,主要先介绍了流程生效的具体步骤,初步建立待办生成的过程,后续博文将逐步给出子流程、网关、顺序流、流程历史等概念。