用户任务
1 说明
用户任务元件是工作流中最核心的元件,用于指定人员完成某项任务。在该元件中,涉及到人员、任务表单、任务截止时间、触发事件、任务结果分支的定义。用户任务元件是唯一设置任务表单(即页面编辑器页面)的元件。
2 配置
2.1 任务
执行者指当前任务被分配至的处理人员,需要先配置类型,再根据所选的类型配置具体的执行者。
- 执行者类型:用户、部门、发起人的上级、角色、逻辑、表达式。
- 其中用户、部门、发起人上级、角色仅在该应用的安全模式为【企业空间管理】时可使用,使用的是企业空间控制台里的基础数据。
- 逻辑和表达式在安全模式非【关闭】的模式下均可使用。
- 具体的执行者配置:
- 用户:需选择指定用户,范围是当前企业空间内的用户,可多选
- 部门:需选择指定部门,范围是当前企业空间内的部门,可多选
- 发起人上级:由发起流程的用户所处部门的负责人审批,无需额外配置
- 角色:需选择指定角色,范围是当前企业空间内的角色,可多选
- 逻辑:需要配置一条逻辑,其返回结果需要为长整型(共工 id)或对象集合,以此来选定用户。这种方式不关心逻辑中执行的逻辑,只约束最终返回结果形式,如不满足要求则不能完成指派。
类型 | 说明 | 指派模式 |
---|---|---|
长整型(Long) | 一般返回需要执行的也即指派人的用户 id | 对应指派单个指派人情况 |
对象集合(List) | 返回一个用户对象集合,其中每个用户对象都包含用户 id | 对应一类人或者角色候选情况 |
- 表达式:即 XPath 形式,可参考 XPath 帮助文档,XPath 指派的本质是提取解析出的 SQL 语句中的 gonggong_id,所以一般建议 XPath 抽取的数据对象为用户相关或和用户相关联的实体或非持久化实体表。例如,我们需要指派一个公司的 hr 来处理一条离职流程,就可以写作:
select * from user where user_role='HR';
*这里的返回如果是一条的话类似下面的对应指派单个指派人情况,多条对应一类人或者角色候选情况。
2.2 页面
指当前的用户任务在真正运行执行时对应的页面编辑器页面,页面上绑定了流程流转需要的数据表单。
2.3 审批设置
- 审批类型:会签、或签两种类型
- 跳过发起人:开启后若流程流转到该节点时执行人为发起人时自动跳过该节点。
- 自动通过:因节点被驳回重新发起流程时,已执行过该节点的执行人自动沿用上次的执行结果,无需重新操作。
2.4 事件
触发事件是用户任务后的附加动作,通过指定逻辑以实现。比如,一个用户任务是请假审批,该任务需要附带一个触发事件为“向执行人发送邮件通知”,就可以在这里绑一条预先写好的发邮件的逻辑。
触发动作为异步执行,成功失败不会影响后续的流程执行。
2.5 结果
用户任务可以添加设置任务的输出结果,对应的结果后会附带一条对应的流程分支线,可在分支线上继续构建后续的流程,同时此处的任务结果作为后续的完成任务条件,用户任务选择了对应的条件则可流转不同的条件分支。
注意:这里有几个结果分支,在绑定的任务表单页面就需要有几个对应的按钮。当用户在页面上点击了相应的按钮,就会在工作流这边流向不同的分支。
2.6 基础设置
基础设置栏主要用于定义当前元件名称,方便后续的业务辨认和检查异常排查。