用户任务
“用户任务”用于对需要人工完成的工作进行建模。当流程执行到达此类用户任务时,会在分配给该任务的任何用户或组的任务列表中创建一个新任务。
用户任务可视化为典型任务(圆角矩形),左上角有一个小用户图标。
用户任务在 XML 中定义如下。该ID是必需的属性,在名称属性是可选的。
<userTask id="theTask" name="Important task" />
用户任务也可以有描述。事实上,任何 BPMN 2.0 元素都可以有一个描述。描述是通过添加文档元素来定义的。
<userTask id="theTask" name="Schedule meeting" >
<documentation>
Schedule an engineering meeting for next week with the new hire.
</documentation>
描述文本可以通过标准 Java 方式从任务中检索:
task.getDescription()
每个任务都有一个字段,指示该任务的截止日期。Query API 可用于查询在给定日期之前、之前或之后到期的任务。
有一个活动扩展,允许您在任务定义中指定一个表达式,以在创建任务时设置其初始截止日期。该表达式应始终解析为 java.util.Date、java.util.String(ISO8601 格式)、ISO8601 时间持续时间(例如 PT50M)或 null。例如,您可以使用在流程中的先前表单中输入或在先前服务任务中计算的日期。如果使用时间持续时间,则截止日期将根据当前时间计算并按给定时间段递增。例如,当“PT30M”用作dueDate 时,任务将在30 分钟后到期。
<userTask id="theTask" name="Important task" flowable:dueDate="${dateVariable}"/>
也可以使用 TaskService 或使用传递的 DelegateTask 在 TaskListeners 中更改任务的截止日期。