acitviti6工作流--delegateTask审批任务委托

activiti版本:6.0.0

接口路径:org.activiti.engine.TaskService

方法描述:

  /**
   * 将任务委托给另一个人,修改act_ru_task表记录
   * 如果没有任务所有者(owner_),则将该字段置为任务的当前受理人
   * 委托状态(delegation_)变更为PENDING
   * 当前审批人(assignee_)变更为被委托人
   * 
   * @param taskId 需要转交的任务节点ID
   * @param userId 被委托人
   * @throws ActivitiObjectNotFoundException 无法找到任务节点ID
   */
  void delegateTask(String taskId, String userId);


  /**
   * 被加签人处理完毕,节点处理人回转到委托人
   * 只有在委托状态(delegation_)为PENDING才能执行
   * 委托状态(delegation_)变更为RESOLVED
   * 当前审批人(assignee_)变更为 委托人
   * 
   * @param taskId 任务节点ID
   * @throws ActivitiObjectNotFoundException 无法找到任务节点ID
   */
  void resolveTask(String taskId);

执行效果:该节点的审批人变更为被委托人,在被委托人审批之后,无论同意还是拒绝,都会返回给委托人再次处理

业务场景:委托人无法判断如何审批,向被委托人征询意见,但是最终决定权保留在委托人手上

数据库变更:

委托执行前:owner_与 delegation_均为null

委托执行后(执行delegateTask方法):owner_ 置为委托人  delegation_ 置为 PENDING

被委托人审批后(执行resolve方法):assignee_置回委托人  delegation_ 置为 RESOLVED

发布了19 篇原创文章 · 获赞 2 · 访问量 2460

猜你喜欢

转载自blog.csdn.net/Azhuzhu_chaste/article/details/98037753