Skip to main content

取上一步执行人的直接上级

在请假申请案例的基础上,设置审批人为上一步执行人的直接上级。

案例下载

1. 介绍

info

往下学习之前,比须熟悉【案例-请假申请】的配置过程,约30分钟。

以【案例-请假申请】为例,在该案例的基础上,更改【部门经理审批】人工环节的执行人类型。

下面,在案例-请假申请的基础上,主要针对新功能部分进行配置讲解

2. 开发平台的配置

开发平台配置,几乎与案例-请假申请的配置一样,主要更改了流程的启动方式。

  • 在案例-请假申请中,通过打开 "流程启动" 窗体启动流程,该窗体在vbase_workflow_facade(VBase_流程管理)构件中;
  • 在本案例中,通过执行WorkFlowChainProcessStartByCode(按流程编号启动流程)方法启动流程,该方法在vbase_workflow(VBase流程管理_API)构件中。

因此,引入的流程管理构件有所不同。

2.1 添加引用

本案例,需要添加的引用:

添加引用作用
vbase_workflow(VBase流程管理_API)必须添加,配置流程启动时需要使用。
例如:通过执行WorkFlowChainProcessStartByCode(按流程编号启动流程)方法启动流程,该方法在vbase_workflow(VBase流程管理_API)构件中。
LoginComp(登录构件)主要用于获取当前登录用户信息赋值给表相关系统和业务字段
userName:用户名称
userId:用户Id
orgName:机构名称
orgId:机构Id

在案例-请假申请的基础上,新增vbase_workflow(VBase流程管理_API)引用。

img

引用构件的方法使用(包括:需要传入的方法输入,以及返回的方法输出),可以查看:流程常用方法-方法信息

2.2 【请假申请】窗体

在案例-请假申请的基础上,主要更改【提交】按钮的逻辑,配置通过执行WorkFlowChainProcessStartByCode(按流程编号启动流程)方法启动流程,具体配置如下:

(1)定义方法变量

编码名称类型初始值描述
isSuccess是否成功布尔False主要用于接收执行流程启动方法返回的参数,判断启动流程是否成功

(2)规则链

img

① 执行方法_WorkFlowChainProcessStartByCode(按流程编号进行流程启动)

  • processCode(流程编号):在流程管理中,进行流程定义时,对应的流程编号参数,必须赋值
  • bizId(业务ID)业务表单Id字段,业务的标识字段,通过唯一的业务ID标识业务流程(流程框架启动),必须赋值
  • topic(待办任务名称)格式可以自定义,用于待办任务和已办任务等环节查找流程时,标识流程任务名称。
  • componentWindowCode(构件窗体编码)构件编码.窗体编码,用于指定业务表单窗体。
  • starUserId(启动用户ID):一般是当前登录用户Id(或启动流程用户Id)。
  • starUserName(启动用户名称):一般是当前登录用户名称(或启动流程用户名称)。

img

② IF:BR_VAR_PARENT.isSuccess==False:按流程编号启动流程,不成功。

中断规则:退出当前规则链。

3. 执行平台的配置

执行平台配置,几乎与案例-请假申请的配置一样,主要更改了【部门经理审批】人工环节的执行人选择为“取上一步执行人的直接上级”。

3.1 上下级管理

在执行人选择为“取上一步执行人的直接上级”前,需要在“ 配置中心 → 业务系统初始化设置 → 流程管理 → 流程高级设置 →上下级管理 ”中,定义上下级关系。

例如:设置用户“赵六”的直接上级为“王五”。

img

img

参考文档:准备工作-流程上下级管理

3.2 人工节点设置-部门经理审批

在案例-请假申请的基础上,更改【部门经理审批】人工环节的执行人选择为“取上一步执行人的直接上级”。

img

img

3.3 功能演示

一般用户登录,进行“请假申请”启动流程。

本案例请假申请天数小于等于3,流程审批顺序:员工申请(开始)→ 部门经理审批 → 结束。

本案例请假申请天数大于3,流程审批顺序:员工申请(开始)→ 部门经理审批 → 总经理审批 → 结束。

若用户“赵六”提交请假申请1天,则对应的的直接上级用户“王五”会作为【部门经理审批】环节的审批人,审批后结束流程。