首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Activiti 开发案例之流程任务指派、转办以及委派

Activiti 开发案例之流程任务指派、转办以及委派

作者头像
小柒2012
发布于 2019-12-24 03:23:14
发布于 2019-12-24 03:23:14
4.3K00
代码可运行
举报
文章被收录于专栏:IT笔记IT笔记
运行总次数:0
代码可运行

指派

前提是流程中中配置了assignee变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Map<String,Object> variables=new HashMap<>();
variables.put("assignee", userId);
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).active().singleResult();
taskService.claim(taskId, userId);
taskService.complete(taskId, variables);

不需要配置变量,直接使用API

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Map<String,Object> variables=new HashMap<String,Object>();
variables.put("approve", "false");
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).active().singleResult();
//一定要认领任务之后,重新获取当前任务,然后分配角色。
taskService.claim(task.getId(), userId);
taskService.complete(task.getId(), variables);
task = taskService.createTaskQuery().processInstanceId(processInstanceId).active().singleResult();
//指派任务
taskService.addCandidateUser(task.getId(),userId);
//如果是指派角色
taskService.addCandidateGroup(task.getId(),roleId);

转办

转办:直接将办理人换成别人,这时任务的拥有着不再是转办人。

如果是第一种方式的指派:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//直接转派就可以覆盖掉之前的
taskService.setAssignee(taskId,userId);

如果是第二种方式的指派:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
* 删除指派人重新指派
*/
taskService.deleteCandidateUser(taskId,"原用户ID");
taskService.addCandidateUser(taskId,"新用户ID");

如果要查询转给他人处理的任务,可以同时将OWNER进行设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
taskService.setOwner(taskId, userId);

委派

委派:是将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//将任务进行委派
taskService.delegateTask(taskId, userId);
//被委派人办理任务后
taskService.resolveTask(taskId,variables);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Activiti 开发案例之动态指派任务
流程图 以上是一个请假的流程图,以下为流程任务节点描述: 员工发起请假流程 部门经理审批 同意则进入人事审批 拒绝则调整申请或者直接结束流程 人事审批通过则进入销假环节 人事审批拒绝则调整申请或者直接
小柒2012
2019/12/05
8620
Activiti 开发案例之多实例并行子流程
以上是一个公司内部合同评审的内嵌子流程流程图,一个合同的通过是需要经过多个部门的层层审核,最终才得以通过。
小柒2012
2019/12/05
4.1K0
Flowable 任务如何认领,回退?
上篇文章松哥和大家分享了 Flowable 中设置任务处理人的四种方式,不过那四种方式都是针对单个任务处理人,有的时候,一个任务节点会存在多个候选人,例如 zhangsan 提交一个任务,这个任务即可以 lisi 处理,又可以 wangwu 处理,那么针对这种多个任务候选人的情况,我们该如何处理?今天一起来看看。
江南一点雨
2023/01/04
1.8K0
Flowable 任务如何认领,回退?
Activiti开发案例之会签多实例任务
Activiti 中有互斥网关和并行网关,但是在实际项目开发中,经常会出现一些看起来离奇的需求,比如任务分配给多人审批,只要指定数量的人审批通过就可以进入下一个流程。
小柒2012
2019/12/05
2.6K0
【第九篇】Flowable中的候选人讲解
  在流程定义中在任务结点的 assignee 固定设置任务负责人,在流程定义时将参与者固定设置在.bpmn 文件中,如果临时任务负责人变更则需要修改流程定义,系统可扩展性差。针对这种情况可以给任务设置多个候选人或者候选人组,可以从候选人中选择参与者来完成任务。
用户4919348
2022/04/13
3.3K0
【第九篇】Flowable中的候选人讲解
SpringBoot:Camunda 流程引擎简介及实践
为流程引擎,可以通过他获取相关service,里面集成了很多相关service,默认实现如下:
Freedom123
2024/03/29
6.2K0
SpringBoot:Camunda 流程引擎简介及实践
工作流引擎之activiti委托功能实现
异常的意思就是完成任务是要先解决委托,委托任务必须有解决委托这一步骤,当解决委托后,流程并不是进行到下一个节点,而是需要被委托人有完成任务操作时方可进行到下一步,而中国式需求中大多都是解决委托就是完成任务,需要解决这个问题的话可以在调用解决委托后执行一个完成任务代码操作。因此在完成任务时,要判断是否是委托任务。
lyb-geek
2018/09/27
4K0
工作流引擎之activiti委托功能实现
【第七篇】Camunda系列-身份服务
  在流程定义中在任务结点的 assignee 固定设置任务负责人,在流程定义时将参与者固定设置在.bpmn 文件中,如果临时任务负责人变更则需要修改流程定义,系统可扩展性差。针对这种情况可以给任务设置多个候选人或者候选人组,可以从候选人中选择参与者来完成任务。
用户4919348
2022/10/28
3K0
【第七篇】Camunda系列-身份服务
activiti(十)组任务Group
部署流程 开启流程 查看当前人的组任务 组任务拾取个人任务 完成任务(组任务最后也要个人来完成)
周杰伦本人
2023/10/12
3600
activiti(十)组任务Group
项目实践工作流之Activiti学习(三十七)
也可以通过 setAssignee 方法将任务委托给其它用户负责,注意被委托的用户可以不是候选人(建议不要这样使用)
用户1289394
2023/11/19
2150
项目实践工作流之Activiti学习(三十七)
flowable 流程引擎API与服务
引擎API是与Flowable交互的最常用手段。总入口点是ProcessEngine。
FHAdmin
2022/03/23
1.1K0
第六节:Activiti6.0——流程任务:候选人、持有人和代理人
介绍:任务和候选人的关系是一个中间表(act_ru_identitylink)来保存的,所有任务和候选人的关系是多对多。
凡人飞
2020/09/20
4.5K0
Activiti 开发案例之获取当前活动任务节点
移动端需求,在工作审批流中发起一个流程实例,会通知到下一个指派人或者相关角色,后台把相关审批参数发送给微信端来实现移动端办公。
小柒2012
2019/12/05
6.5K0
七万字掌握热门工作流引擎框架Activiti7,附带视频讲解哦
  工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。文章中涉及的相关软件资料扫左侧哦。
用户4919348
2022/01/07
1.7K0
七万字掌握热门工作流引擎框架Activiti7,附带视频讲解哦
项目实践工作流之Activiti学习(三十六)
用户1289394
2023/11/18
1600
项目实践工作流之Activiti学习(三十六)
activiti(九)个人任务userTask
个人任务及三种分配方式: 1:在taskProcess.bpmn中直接写 assignee=“张三丰” 2:在taskProcess.bpmn中写 assignee=“#{userID}”,变量的值要是String的。 使用流程变量指定办理人 3,使用TaskListener接口,要使类实现该接口,在类中定义: delegateTask.setAssignee(assignee);// 指定个人任务的办理人 使用任务ID和办理人重新指定办理人: processEngine.getTaskService()// .setAssignee(taskId, userId);
周杰伦本人
2023/10/12
4250
activiti(九)个人任务userTask
2021全网最全Activiti7教程04(Activiti7进阶篇-欢迎收藏)
  本篇重点给大家介绍下Activiti中的高级内容,比如流程实例,个人任务,流程变量,组任务及网关。
用户4919348
2021/06/17
3.9K1
2021全网最全Activiti7教程04(Activiti7进阶篇-欢迎收藏)
day59_BOS项目_11
第一步:创建一个流程实例管理ProcessInstanceAction,提供list()方法,查询流程实例列表数据
黑泽君
2018/11/07
6430
搭建单体SpringBoot项目 集成Activiti7 进阶
一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。
郭顺发
2023/07/17
8260
搭建单体SpringBoot项目 集成Activiti7 进阶
Flowable 快速入门教程:Flowable 入门开发案例,结合流程设计器详细讲解
本文以一个简答的 Demo 为案例,按节点讲解,目的是为了让刚接触流程引擎的人能更快的熟悉流程引擎开发,了解业务系统与流程引擎结合的思路。
全栈程序员站长
2022/08/31
3.3K0
Flowable 快速入门教程:Flowable 入门开发案例,结合流程设计器详细讲解
相关推荐
Activiti 开发案例之动态指派任务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档