Skip to main content

用户任务

1 说明

用户任务元件是工作流中最核心的元件,用于指定人员完成某项任务。在该元件中,涉及到人员、任务表单、任务截止时间、触发事件、任务结果分支的定义。用户任务元件是唯一设置任务表单(即页面编辑器页面)的元件。

2 配置

2.1 任务

2.1.1 执行者

执行者指当前任务被分配至的处理人员。指派形式分为 XPath 形式与逻辑调用形式。

XPath 形式指派参考逻辑元件检索对象中 XPath 的使用,XPath 指派的本质是提取解析出的 SQL 语句中的 gonggong_id,所以一般建议 XPath 抽取的数据对象为用户相关或和用户相关联的实体或非持久化实体表。例如,我们需要指派一个公司的 hr 来处理一条离职流程,就可以写作:

select * from user where user_role='HR';

*这里的返回如果是一条的话类似下面的对应指派单个指派人情况,多条对应一类人或者角色候选情况。

逻辑指派是通过写一条返回结果为长整型(共工 id)或对象集合的逻辑,来选定用户。这种方式不关心逻辑中执行的逻辑,只约束最终的返回结果形式,如不满足要求则不能完成指派。

类型说明指派模式
长整型(Long)一般返回需要执行的也即指派人的用户 id对应指派单个指派人情况
对象集合(List)返回一个用户对象集合,其中每个用户对象都包含用户 id对应一类人或者角色候选情况

2.1.2 截止时间

截止时间设置分为 XPath 模式与公式编辑器模式,XPath 模式同上,需要提取解析出的 SQL 语句包含的与日期相关的数据字段。

公式编辑器可以查看共工表达式文档中时间函数的说明。

2.1.3 页面

指当前的用户任务在真正运行执行时对应的页面编辑器页面,页面上绑定了流程流转需要的数据表单。

2.1.4 是否跳过

可以设置是否开启跳过节点,如经典的发起请假场景,作为发起人往往自己是第一个节点,在发起后其实不用再看到第一个节点了,设置跳过系统会自动帮你完成该任务进入接下来的流程。默认关闭。开启后分为设置自动跳过或者条件表达式跳过,设置自动跳过在到达该节点时,系统会帮助自动跳过该节点到后续流程。设置条件跳过则通过设置公式编辑器条件,只有在满足公式编辑器计算条件时才会跳过该节点,否则正常流转。

2.2 事件

触发事件是用户任务后的附加动作,通过指定逻辑以实现。比如,一个用户任务是离职,该任务需要附带一个触发事件为“向执行人发送邮件通知”,就可以在这里绑一条预先写好的发邮件的逻辑。

触发动作为异步执行,成功失败不会影响后续的流程执行。

2.3 结果

用户任务可以添加设置任务的输出结果,对应的结果后会附带一条对应的流程分支线,可在分支线上继续构建后续的流程,同时此处的任务结果作为后续的完成任务条件,用户任务选择了对应的条件则可流转不同的条件分支。

注意:这里有几个结果分支,在绑定的任务表单页面就需要有几个对应的按钮。当用户在页面上点击了相应的按钮,就会在工作流这边流向不同的分支。

2.4 基础设置

基础设置栏主要用于定义当前元件名称,方便后续的业务辨认和检查异常排查。