ASTRO轻应用 ASTROZERO-为AstroZero工作流添加活动类图元:用户任务

时间:2024-10-21 11:35:26

用户任务

用户任务用来表示,业务流程中由用户参与完成的工作。当引擎处理到该节点时,给指定的用户(参与者)或者一组用户(如某泳道的工作队列)创建待处理的任务项,等待用户的处理。

  • 用户任务配置:在用户任务配置界面,配置任务接收人和活动界面。
    图1 用户任务配置页面
    • 任务标题:显示在任务界面的标题。
    • 任务描述:显示在任务界面的任务描述。
    • 优先级:在下拉框中,选择任务的优先级,如正常、高和低等。
    • 渲染类型:用户处理的界面,可以是标准页面、标准表单或高级页面。当配置为标准表单时,需要配置用户可执行的动作(例如同意或拒绝)。如何创建标准表单,请参见创建标准表单
    • 类型:待处理任务的用户类型。
      • 当前泳道:设置为“当前泳道”,将泳道和工作队列绑定,则处于该泳道的用户任务图元,由该泳道对应工作队列中的成员去处理。工作队列中的成员可以是多个用户业务用户公共组中成员、角色或带有下属的角色中成员。
      • 流程发起人的主管:设置为“流程发起人的主管”时,需要配置“部门经理层级”,即主管所属的部门。
      • 名称和表达式:设置为“名称和表达式”时,可以通过“表达式”、“用户”和“组”三种方式分配该任务的参与者。这时,泳道中的工作队列配置不起作用。
      • 基于规则:当配置为该类型时,需要配置具体的“规则”。
    • 参与者:当类型为“名称和表达式”时,该参数才会显示。参与者类型可以是用户、业务用户、组或者表达式。
      • 用户:在“取值”中,选择接收该任务的用户,不包括业务用户。
      • 业务用户:在“取值”中,选择接收该任务的业务用户。
      • 组:在“取值”中选择公共组,则该任务由公共组的成员去处理。公共组的成员可以是用户业务用户其他公共组的成员、角色或带有下属的角色中成员。如何创建公共组,请参见管理应用中的公共组
      • 表达式:将参与者类型配置为“表达式”时,实际是一个变量。在“取值”中,可设置变量的值,变量值支持以下几种:
        • 用户的用户名或用户ID,其中用户名前需要加“user:”前缀。
        • 业务用户的用户名或业务用户ID,其中业务用户名前需要加“puser:”前缀。
        • 公共组名称或者公共组ID,其中公共组名称前需要加“group:”前缀。
        • 角色名称或者角色ID,其中角色名称前需要加“role:”前缀。

        例如,分配任务接受者为用户名为“PortalUser1”的业务用户、用户名为“User1”的用户、用户ID为“10XX000000XXXXXXX”的用户、公共组名称为“group1”和角色名称为“role1”的合集,则取值为“"puser:PortalUser1,user:User1,10XX000000XXXXXXX,group:group1,role:role1"”。多个取值之间用英文逗号“,”分隔,取值外加英文双引号。

    • 规则:接收人满足的规则。类型为“基于规则”时,该参数才会显示。
    • 审批类型:选择审批的类型。
      • 如果选择了“或签:任一个分配人均可审批”,则只需要接收人中的某一用户完成了审批,即可推动任务流程,走向下一个任务。
      • 如果选择了“会签:每个分配人都需要审批”,则需要接收人中的用户群体满足您设置的审批条件才可推动任务流程,走向下一个任务。
    • 如果审批人中包含群组,则群组中任意一人审批即认为该群组已经审批。当审批类型为“会签:每个分配人都需要审批”时,该参数才会显示。
      • 勾选,表示如果审批人中包含群组,则群组中任意一人第一个审批即认为该群组已经审批,不需要其他用户再进行审批,该群组只算一个有效审批人数。
      • 不勾选,选表示如果审批人中包含群组,则群组中每个人都需要审批,都计算在有效审批人数内。
    • 投票结果门槛:该参数取值表示百分比,如果达到设置的百分比,审批结果中最高的得票结果将覆盖 “$BP.TaskOutcome”系统变量,即将执行最高得票的审批结果。
    • 默认结果:审批百分比(已审批的人数/总的有效审批人数)未达到“投票结果门槛”百分比时,默认的审批结果。当审批类型为“会签:每个分配人都需要审批”时,该参数才会显示。
    • 结果触发方式:当审批类型为“会签:每个分配人都需要审批”时,该参数才会显示。
      • 当最小百分比满足时,立即触发投票结果。
      • 等待所有投票完成,触发投票结果。
    • 审批动作:设定一些候选的动作,作为默认审批结果。
    • 当存在以下动作时立即终止任务:当存在设定的某个或者某些动作时,立即终止任务。
    • 自动审批:AstroZero支持用户任务自动审批功能,例如设置“主管审核”任务自动审批。在用户任务配置界面,指定该任务具体接收人,可使用表达式的形式将任务指派给某一用户,在自动审批中进行设置。
      图2 自动审批设置
      • 流程触发人自动通过:如果勾选该选项,任务接收人是流程触发人时,该用户任务会被自动审批。
      • 已审批过该流程的审批人自动通过:如果勾选该选项,任务接收人在当前工作流实例中已审批过其他用户任务,则该用户任务会被自动审批。

      当任务接收人设置为“当前泳道”对应的工作队列或用户组时,将无法使用自动审批功能。只有任务接收人设置为某一用户时,才可以进行自动审批。

    • 自动审批时默认选择的动作:勾选自动审批时,可以设置自动审批默认选择的动作。
  • 动作配置:为该用户任务配置前置或者后置动作。
    图3 动作配置
    • 前置动作:流程执行该用户任务前执行的动作。
      • 触发条件:触发该动作的条件表达式。
      • 动作类型:满足触发条件时,执行的具体动作。
        • 通知经理:发邮件通知经理。
        • 通知分配人:发邮件通知任务分配人。
        • 调用服务编排:调用已启用的服务编排。
        • 调用脚本:调用已激活的脚本。
        • 发送事件:发送某一事件。
        • 转移:将该用户任务转移给其他用户或工作队列中的用户处理。
        • 设置状态:设置该用户任务的状态。
        • 完成任务:完成某一任务,超期会自动完成任务。
    • 后置动作:流程执行该用户任务后,执行的动作,请参考“前置动作”进行配置。
  • 数据映射:对该用户任务的输入输出参数,进行数据映射。
    图4 数据映射
  • SLA:为用户任务设置定时器,时间逾期可增加紧急程度并执行相应动作。
    图5 启用SLA定期器
    • 开始时间:定时器的开始时间。
      • 任务创建后:设置任务创建的时间作为定时器开始的时间。
      • 由变量指定:通过指定时间变量,来确定开始时间。
      • 由表达式指定:通过表达式指定开始时间,例如支持特定时间的相对时间,设置为“STRING2TIME('yyyy-MM-dd hh:mm:ss.S', {!variable1})”。动态指定时间的相对时间,设置为“TIMEADD({!$Flow.CurrentDateTime}, 100)”。
    • 目标期限:任务在目标期限内且即将过期时,满足触发条件后触发一个指定的动作。
    • 截止限期:任务过期,满足触发条件后触发一个指定的动作。
    • 紧急程度:定时器的紧急程度。
    • 动作:时间逾期后执行的相应动作。单击“添加”,可以新增动作。
      • 触发条件:触发该动作的条件表达式。
      • 动作类型:满足触发条件时,执行的具体动作。
        • 通知经理:发邮件通知经理。
        • 通知分配人:发邮件通知任务分配人。
        • 调用服务编排:调用已启用的服务编排。
        • 调用脚本:调用已激活的脚本。
        • 发送事件:发送某一事件。
        • 转移:将该用户任务转移给其他用户或工作队列中的用户处理。
        • 设置状态:设置该用户任务的状态。
        • 赋值:给用户的任务赋值。
        • 完成任务:完成某一任务,超期会自动完成任务。
support.huaweicloud.com/usermanual-astrozero/astrozero_05_9180.html