【审批】转交 功能的实现和思考

本文讨论了如何在使用Activiti框架的审批系统中实现【转交】功能。解释了转交、委托和委派的区别,并指出Activiti的delegateTask API虽然名为授权,但实际效果与用户期望的转交不同。核心思想是转交相当于替换审批人,涉及修改流程变量和记录转交记录。最后,强调了在设计审批系统时,应预留直接替换接口以确保数据一致性和无隐患。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提问和思考

如果你是使用Activiti系列框架做的审批系统,那么当用户提出需要【转交】功能的时候,你需要如何实现?

如果你们的审批系统是自己设计的,没用框架,那么为了满足【转交】这个功能,设计时需要考虑哪些?

功能介绍

Activiti框架支不支持转交功能,有没有API?

答案是:这个可以有。

你要知道,这些工作流框架都是外国人写的,是,你可以说也有中国人提交mr,但是架构和思想还是遵从着西方人那一套。

如果你是工作流相关业务的开发人员,你一定听说过一个名词:中国式工作流。

delegateTask感兴趣的可以搜一搜这个API,虽然翻译是:授(权);把(工作、权力等)委托(给下级);选派(某人做某事)

但是你细究他的底层实现,以及调用这一系列API后,数据库表的变化,你会发现,效果和你想的,和用户想的根本不是一回事。


  /**
   * 将任务委托给另一个人,修改act_ru_task表记录
   * 如果没有任务所有者(owner_),则将该字段置为任务的当前受理人
   * 委托状态(delegation_)变更为PENDING
   * 当前审批人(assignee_)变更为被委托人
   */
  void delegateTask(String taskId, String userId);
 
 
  /**
   * 被加签人处理完毕,节点处理人回转到委托人
   * 只有在委托状态(delegation_)为PENDING才能执行
   * 委托状态(delegation_)变更为RESOLVED
   * 当前审批人(assignee_)变更为 委托人
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值