activiti6 任务委派
我理解的是 :一个流程 当到了一个节点 是张三审批 张三有事顾不上 张三直接委派给李四。 然后这个待办任务就去到李四用户上 当李四给审批通过后 这个待办任务会变成已办任务 这个已办任务会跑到张三的已办表中 所以说李四待办已办都不会有记录
下面所有代码 根据我自己的需求
DelegateTaskVO
@Data
public class DelegateTaskVO {/*** activiti代办节点号**/private String taskId;/*** 委托人id**/private String userId;/*** 被委托人id**/private String consignee;/*** 委托说明**/private String description;}
Controller
@PostMapping("/delegateTask")@ApiOperation(value = "任务委派", httpMethod = "POST", notes = "任务委派")public ResponseVo delegateTask(@RequestBody DelegateTaskVO delegateTaskVO){jbpmProcessinstanceService.delegateTask(delegateTaskVO);return ResponseVo.ok();}
Service
@Transactional(rollbackFor = Exception.class)public void delegateTask(DelegateTaskVO delegateTaskVO) {activitiInstanceService.claimTask(BaseContextHandler.getUserId(), delegateTaskVO.getTaskId());//获取用户idString userId = delegateTaskVO.getUserId();JbpmUserInfo jbpmUserInfo = null;if (null != userId && 0 < userId.trim().length()) {// 先查userIdjbpmUserInfo = jbpmUserService.getUserByUserId(userId.trim());}//查找task任务Task task = activitiInstanceService.getTaskByTaskId(delegateTaskVO.getTaskId());QueryWrapper<JbpmProcessinstance> queryWrapper = new QueryWrapper<>();queryWrapper.eq("process_instance_id", task.getProcessInstanceId());//查找实例JbpmProcessinstance jbpmProcessinstance = this.getOne(queryWrapper, true);if (null == task) {throw new JbpmProcessinstanceException(JbpmProcessinstanceErrorCode.JbpmProcessinstance_NOT_EXIST_ERROR.getCode());}// 保存审批记录JbpmWfApprove jbpmWfApprove = new JbpmWfApprove();jbpmWfApprove.setApproveDate(new Date());jbpmWfApprove.setApproverId(userId);if (null != jbpmUserInfo) {jbpmWfApprove.setApproverLoginname(jbpmUserInfo.getLoginName());jbpmWfApprove.setApproverName(jbpmUserInfo.getName());}jbpmWfApprove.setInstanceId(jbpmProcessinstance.getId());jbpmWfApprove.setActivitiInstanceId(jbpmProcessinstance.getProcessInstanceId());jbpmWfApprove.setTaskId(delegateTaskVO.getTaskId());jbpmWfApprove.setNodeId(task.getTaskDefinitionKey());jbpmWfApprove.setResult("委派");jbpmWfApprove.setOption(delegateTaskVO.getDescription());jbpmWfApproveService.save(jbpmWfApprove);taskService.delegateTask(delegateTaskVO.getTaskId(), delegateTaskVO.getConsignee());}
activiti6 任务委派相关推荐
- 【弄nèng - Activiti6】Activiti6入门篇(五)—— 流程网关
文章目录 1. 连线 1.1 流程设计 1.2 测试类 1.3 运行 1.3.1 查询任务 1.3.2 完成任务 2. 排他网关 2.1 流程设计 2.2 测试类 2.3 运行 2.3.1 查询任务 ...
- 【弄nèng - Activiti6】Activiti6入门篇(十九)—— 结束事件
文章目录 1. 结束事件 1.1 简介 2. 错误结束事件 2.1 简介 2.2 流程设计 2.3 测试类 2.4 运行 2.4.1 启动任务 3. 终止结束事件 3.1 简介 4.2 流程设计 3. ...
- 【弄nèng - Activiti6】Activiti6入门篇(十一)—— 定时边界事件
文章目录 1. 简介 1.1 事件(Event) 1.2 事件定义 1.3 定时器事件定义 2. 定时器边界事件 2.1 简介 2.2 流程设计 2.3 测试类 2.4 运行 2.4.1 启动任务 源 ...
- 【弄nèng - Activiti6】Activiti6入门篇(十)—— 脚本任务
文章目录 1. 脚本任务 1.1 流程设计 1.2 测试类 1.5 运行 1.5.1 启动任务 源码地址 项目推荐 Activiti中脚本任务一般是用在当前的监听器或者监听服务类都不能满足的情形下面, ...
- 【弄nèng - Activiti6】Activiti6入门篇(二十四)—— 并行网关一个结束全部结束
文章目录 1. 并行网关提前结束 1.1 流程设计 1.2 测试类 1.3 运行 1.3.1 启动任务 1.3.2 查询任务 1.3.3 完成任务 2. 终止结束事件terminateAll属性测试 ...
- 【弄nèng - Activiti6】Activiti6入门篇(七)—— 多实例任务
文章目录 1. 多实例 1.1 流程设计 1.2 测试类 1.3 运行 1.3.1 查询任务 1.3.2 完成发起会议任务 1.3.3 完成一个签到任务 1.3.4 完成第二个签到任务 2. 多实例- ...
- 解决:无法创建该DNS 服务器的委派
第一次安装AD DNS的时候,你可能遇到以下的提示,无法创建该DNS 服务器的委派,这是一个提示,而不是一个报错. 以下是详细的说明. 将具有 DNS 服务器的新 Windows Server 200 ...
- 类加载器双亲委派模式
双亲委派模型的工作流程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把请求委托给父加载器去完成,依次向上,因此,所有的类加载请求最终都应该被传递到顶层的启动类加载器中,只 ...
- 我竟然被“双亲委派”给虐了
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 最近一段时间,我在面试的过程中,很喜欢问双亲委派的一些问题 ...
最新文章
- 开源Python做的火币和ZB搬砖差价监控程序
- .NET Remoting的新特性-IpcChannel(.NET Framework 2.0)
- ASP.NET Core - 基于IHttpContextAccessor实现系统级别身份标识
- matlab 误差椭圆,求3倍标准差误差椭圆分析的程序
- 考研复试考java_2019考研复试经验帖:过来人谈5件“小事”
- 图论 —— 网络流 —— 最小割 —— 平面图与对偶图
- 岭南师范C语言程序设计真题_2021南京师范大学现代教育技术考研经验分享
- 95-230-010-源码-WordCount走读-概述
- 小程序入门学习03--navigator组件
- 数组模拟乘法(大数乘法)
- Java学习心得(集合、泛型)
- windows8没有剪贴板查看器clipbrd怎么办?
- 使用DCMTK实现DICOM文件浏览器dicom explorer
- 20172304 蓝墨云实验哈夫曼树
- 冰狐智能辅助入门教程
- 【OJ每日一练】1044 - 下落又弹起的小球
- Android WebView简要介绍和学习计划
- DNS服务在企业网络中的应用(四)
- 【必看】企业网站IPv6改造升级方案---中科三方
- mysql基础入门SQL基本语法