BPM系统提炼通用的业务模型三

43 阅读3分钟

image.png

点击提交按钮

先获取和当前流程相关的模版数据

  • 流程数据

image.png

  • 流程节点数据

image.png

节点编号2为申请人,节点编号4表示部门经理,节点编号8表示出纳,节点编号3表示结束。approveStrategy是节点的审批策略,比如节点下的所有人都进行审批。

节点类型枚举定义(节点类型编号、含义):
 
Start(0,"开始"),
Activity(1,"审批"),
Condition(3,"条件"),
Split(4,"分流"),
Join(5,"合流"),
Notify(6,"通知"),
End(8,"结束")
  • 节点连接线信息

image.png

每个连接线都是一个动作,比如第一条数据表示提交动作,从2到4即申请人到部门经理,再从4到8即从部门经理到出纳,再从8到3即从出纳到结束,正好对应流程审批方式设置页面image.png

conditionValue是条件,对应界面上的添加的条件

image.png

表示从一个节点流转到下一个节点需要满足一定的条件才可以流转

  • 节点处理人
    image.png
    节点编号4表示部门经理,谁是部门经理呢?从指定表指定子段获取部门经理是谁;节点编号8表示出纳,谁是出纳呢?根据出纳这个角色找到对应的人
  • 和当前业务流程所关联的表
    image.png
    一个主表多个明细表

创建流程任务

有了模版数据之后,就去创建一个任务,核心字段包括任务编号、任务名称、流程编号、请求者编号、请求时间

image.png

保存业务数据(表单数据)

因为提交的表单数据包含主表和多张明细表,所以需要把这些信息保存到对应的表中,通过taskId进行关联起来

  • 主表信息

image.png

  • 费用明细表信息
    记录了费用类别是什么(比如交通费-飞机)、费用多少钱、明细生成时间、申请人、附件等

image.png

接下来流程开始流转了

先从流程节点中获取开始节点即节点类型为0的,

image.png

有了开始节点之后,接着组装开始步骤信息,包括任务编号、当前节点是什么(开始节点、节点名称是申请人)、节点的拥有者(即申请人节点的拥有者是表单提交人)、处理者(谁审批这个节点),处理完成时间

image.png

知道了开始节点之后,然后从连接线信息中找开始节点的下个流转节点是什么,再获取下个节点之前先判断下有设置节点条件,如果有设置,看是否满足,满足的话,才可以获取下个节点。

image.png

从连接线信息中得知开始节点的下个节点是4即部门经理节点,这个节点的类型是审批策略是5,表示这个节点的所有处理人都需要审批。获取该流程下部门经理这个节点的所有处理人列表

image.png

(这里只有一个处理人),handerPara1中指定了主表和具体的字段即从这里获取用户信息作为这个节点的处理人。

有了当前部门经理这个节点的处理人之后,遍历每一个处理人,组装当前这个节点的处理步骤信息

image.png

然后把前一个步骤和当前这个步骤关联起来,表示从一个步骤到另外一个步骤,记录在步骤路由表

image.png

部门经理这个处理人登录系统之后,就可以看到需要他审批的这个流程了。

通过流程图也可以看到当前流程到哪了,该谁审批了

image.png