Activiti7 任务委派【十四】

Activiti 7系列文章目录

文章代码下载

Activiti7 工作流设计器【一】
Activiti7 创建表【二】
Activiti7 表结构介绍 【三】
Activiti7 设计器创建流程 【四】
Activiti7 部署流程【五】
Activiti7 查询流程【六】
Activiti7 删除流程【七】
Activiti7 生成SVG图片【八】
Activiti7 发起任务【九】
Activiti7 查询任务执行流程图【十】
Activiti7 完成任务【十一】
Activiti7 历史数据【十二】
Activiti7 任务办理人、委派、转办、持有人、候选人、候选人组、审批意见【十三】
Activiti7 监听器【十四】
Activiti7 流程变量【十五】
Activiti7 网关Gateway【十六】
Activiti7 整合SpringBoot【十七】
Activiti7 多种任务类型【十八】
Activiti7 子流程【十九】
Activiti7 流程回退、流程拒绝【二十】

任务委派

任务委派只是任务人将当前的任务交给接收人进行审批,完成任务后又重新回到任务人身上。委派人查询任务与完成任务与正常的有区别。

/**
 * 指定代办人
 */
@Test
public void delegateTask() {
    List<Task> list = taskService.createTaskQuery().list();
    String taskId = list.get(0).getId();
    String loginName = "李四";
    taskService.delegateTask(taskId, loginName);
}

插入数据表

==>  Preparing: insert into ACT_HI_IDENTITYLINK (ID_, TYPE_, USER_ID_, GROUP_ID_, TASK_ID_, PROC_INST_ID_) values (?, ?, ?, ?, ?, ?)
==> Parameters: 2501(String), participant(String), 李四(String), null, null, 4(String)
<==    Updates: 1
==>  Preparing: insert into ACT_RU_IDENTITYLINK (ID_, REV_, TYPE_, USER_ID_, GROUP_ID_, TASK_ID_, PROC_INST_ID_, PROC_DEF_ID_) values (?, 1, ?, ?, ?, ?, ?, ?)
==> Parameters: 2501(String), participant(String), 李四(String), null, null, 4(String), null
<==    Updates: 1

修改的数据表

==>  Preparing: update ACT_RU_TASK SET REV_ = ?, NAME_ = ?, PARENT_TASK_ID_ = ?, PRIORITY_ = ?, CREATE_TIME_ = ?, OWNER_ = ?, ASSIGNEE_ = ?, DELEGATION_ = ?, EXECUTION_ID_ = ?, PROC_DEF_ID_ = ?, DESCRIPTION_ = ?, DUE_DATE_ = ?, CATEGORY_ = ?, SUSPENSION_STATE_ = ?, FORM_KEY_ = ?, CLAIM_TIME_ = ? where ID_= ? and REV_ = ?
==> Parameters: 2(Integer), 经理审批(String), null, 50(Integer), 2023-07-28 11:00:14.096(Timestamp), null, 李四(String), PENDING(String), 5(String), test03:1:3(String), null, null, null, 1(Integer), null, null, 8(String), 1(Integer)
<==    Updates: 1
==>  Preparing: update ACT_HI_TASKINST set PROC_DEF_ID_ = ?, EXECUTION_ID_ = ?, NAME_ = ?, PARENT_TASK_ID_ = ?, DESCRIPTION_ = ?, OWNER_ = ?, ASSIGNEE_ = ?, CLAIM_TIME_ = ?, END_TIME_ = ?, DURATION_ = ?, DELETE_REASON_ = ?, TASK_DEF_KEY_ = ?, FORM_KEY_ = ?, PRIORITY_ = ?, DUE_DATE_ = ?, CATEGORY_ = ? where ID_ = ?
==> Parameters: test03:1:3(String), 5(String), 经理审批(String), null, null, null, 李四(String), null, null, null, null, sid-BD4D49BD-E99D-4D9A-9688-7778F37E3180(String), null, 50(Integer), null, null, 8(String)
<==    Updates: 1
==>  Preparing: update ACT_HI_ACTINST set EXECUTION_ID_ = ?, ASSIGNEE_ = ?, END_TIME_ = ?, DURATION_ = ?, DELETE_REASON_ = ? where ID_ = ?
==> Parameters: 5(String), 李四(String), null, null, null, 7(String)

这里关键是将ACT_RU_TASK的ASSIGNEE_设置为新待办人

被委派人处理任务

/**
 * 正在运行的任务表中被委派人办理任务后任务会回到委派人 ,历史任务表中也一样,只是多了一个人进行审批
 */
@Test
public void resolveTask() {
    List<Task> list = taskService.createTaskQuery().list();
    String taskId = list.get(0).getId();

    taskService.resolveTask(taskId);
}

执行的SQL语句

==>  Preparing: update ACT_RU_TASK SET REV_ = ?, NAME_ = ?, PARENT_TASK_ID_ = ?, PRIORITY_ = ?, CREATE_TIME_ = ?, OWNER_ = ?, ASSIGNEE_ = ?, DELEGATION_ = ?, EXECUTION_ID_ = ?, PROC_DEF_ID_ = ?, DESCRIPTION_ = ?, DUE_DATE_ = ?, CATEGORY_ = ?, SUSPENSION_STATE_ = ?, FORM_KEY_ = ?, CLAIM_TIME_ = ? where ID_= ? and REV_ = ?
==> Parameters: 3(Integer), 经理审批(String), null, 50(Integer), 2023-07-28 11:00:14.096(Timestamp), null, null, RESOLVED(String), 5(String), test03:1:3(String), null, null, null, 1(Integer), null, null, 8(String), 2(Integer)
<==    Updates: 1
==>  Preparing: update ACT_HI_ACTINST set EXECUTION_ID_ = ?, ASSIGNEE_ = ?, END_TIME_ = ?, DURATION_ = ?, DELETE_REASON_ = ? where ID_ = ?
==> Parameters: 5(String), null, null, null, null, 7(String)
<==    Updates: 1
==>  Preparing: update ACT_HI_TASKINST set PROC_DEF_ID_ = ?, EXECUTION_ID_ = ?, NAME_ = ?, PARENT_TASK_ID_ = ?, DESCRIPTION_ = ?, OWNER_ = ?, ASSIGNEE_ = ?, CLAIM_TIME_ = ?, END_TIME_ = ?, DURATION_ = ?, DELETE_REASON_ = ?, TASK_DEF_KEY_ = ?, FORM_KEY_ = ?, PRIORITY_ = ?, DUE_DATE_ = ?, CATEGORY_ = ? where ID_ = ?
==> Parameters: test03:1:3(String), 5(String), 经理审批(String), null, null, null, null, null, null, null, null, sid-BD4D49BD-E99D-4D9A-9688-7778F37E3180(String), null, 50(Integer), null, null, 8(String)
<==    Updates: 1

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Activiti 7 的 Activiti API 包括以下几个部分: 1. RuntimeService: 用于管理流程实例和执行对象。 2. TaskService: 用于管理任务。 3. IdentityService: 用于管理用户和组。 4. HistoryService: 用于管理历史数据。 5. FormService: 用于管理表单。 6. ManagementService: 用于管理流程引擎。 7. DynamicBpmnService: 用于动态修改 BPMN 模型。 8. ModelService: 用于管理 BPMN 模型。 9. QueryService: 用于查询流程数据。 10.FilterService: 用于管理流程过滤器。 ### 回答2: Activiti 7 是一个开源的工作流引擎,它提供了一系列的 Activiti API,用于实现业务流程的管理和执行。下面是 Activiti 7 中常用的几个 API。 1. ProcessEngine API:ProcessEngine 是 Activiti 7 的核心类,它提供了与 Activiti 引擎的交互方式。通过 ProcessEngine,可以获取一些基本的服务,如 TaskService(任务服务)、RuntimeService(运行时服务)、RepositoryService(仓库服务)等。 2. TaskService API:TaskService 提供了与任务相关的操作,如查询当前用户的任务、完成任务委派任务、创建子任务等。通过 TaskService,可以对任务进行增删改查等操作。 3. RuntimeService API:RuntimeService 提供了与流程实例相关的操作,如启动流程实例、查询流程实例、挂起或激活流程实例、设置流程变量等。通过 RuntimeService,可以管理流程实例的运行状态。 4. RepositoryService API:RepositoryService 提供了与流程定义相关的操作,如部署流程定义、查询流程定义、删除流程定义等。通过 RepositoryService,可以管理流程定义的生命周期。 5. FormService API:FormService 提供了与表单相关的操作,如获取表单字段、提交表单数据等。通过 FormService,可以实现与用户交互的表单功能。 6. HistoryService API:HistoryService 提供了与历史数据相关的操作,如查询历史流程实例、任务、变量等。通过 HistoryService,可以获取历史数据,用于流程的审计和分析。 7. ManagementService API:ManagementService 提供了与底层引擎相关的操作,如查询引擎的配置信息、数据库表的创建和删除等。通过 ManagementService,可以管理和监控 Activiti 引擎的运行状态。 以上是 Activiti 7 中常用的几个 API,通过这些 API,可以实现业务流程的管理和执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员一灯

请给我打钱!!!谢谢,不客气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值