第14篇:Flowable-BPMN操作流程之任务完成

接上一篇:
第13篇: Flowable-BPMN操作流程之流程进展查看之流程图
https://blog.csdn.net/weixin_40816738/article/details/102902629

文章目录

  • 一、背景
  • 二、原理
  • 三、API
    • 3.1. 直接完成任务
    • 3.2. 完成任务并且设置任务参数
  • 四、实现
    • 4.1. 接口
    • 4.2. 接口实现
    • 4.3. 控制器实现
  • 五、验证
    • 5.1. 创建流程
    • 5.2. 启动任务
    • 5.3. 查看任务ID
    • 5.4. 任务完成
    • 5.5. 流程进展查看
    • 源码下载

一、背景

  • 流程启动后,Flowable的核心操作UserTask,SystemTask等以任务的形式来组织,而对于一个流程由若干任务来完成,完成一个任务后,再自动启动另外一个任务直到走到终点,所以任务的完成动作很关键。

二、原理

Flowable的TaskService提供了对任务的操作,其中完成任务complete函数提供了任务结束操作。

三、API

Flowable的任务完成实现如下:

3.1. 直接完成任务

void	complete(String taskId)
Called when the task is successfully executed.

3.2. 完成任务并且设置任务参数

void	complete(String taskId, Map<String,Object> variables)
Called when the task is successfully executed, and the required task parameters are given by the end-user.

四、实现

4.1. 接口

   /*** 完成任务*/boolean completeTask(String taskId,Map<String,Object> paras);

4.2. 接口实现

   /*** 完成任务*/@Overridepublic boolean completeTask(String taskId,Map<String,Object> paras) {Task task = taskService.createTaskQuery().taskId(taskId).singleResult();if (task == null) {return false;}if (null == paras){taskService.complete(taskId);}else {taskService.complete(taskId,paras);}return true;}

4.3. 控制器实现

 @RequestMapping("/complete")@ResponseBodypublic Map<String,Object> completeTask(@RequestBody @RequestParam(required = false) Map<String,String> paras){Map<String,Object> res =new HashMap<>();Map<String,String> data = new HashMap<>();if (MapUtils.isEmpty(paras)){res.put("msg","请输入任务参数");res.put("res","0");res.put("data",data);return res;}String taskId = paras.get("taskId");if (StringUtils.isEmpty(taskId)){res.put("msg","请输入任务ID");res.put("res","0");res.put("data",data);return res;}Map<String,Object> flowParas=new HashMap<>();flowParas.putAll(paras);boolean bok = flowService.completeTask(taskId,flowParas);if (bok){data.put("taskId",taskId);res.put("msg","启动流程成功");res.put("res","1");}else {data.put("taskId",taskId);res.put("msg","启动流程失败");res.put("res","0");}res.put("data",data);return res;}

五、验证

5.1. 创建流程

http://localhost:8989/flow/create

在这里插入图片描述

5.2. 启动任务

http://localhost:8989/flow/start?processKey=test_bpmn

结果返回如下:

{"msg":"启动流程成功","res":"1","data":{"processId":"be53f529-0078-11ea-83cb-f8a2d6bfea5a"}}

在这里插入图片描述

5.3. 查看任务ID

后台打印如下: be5ccece-0078-11ea-83cb-f8a2d6bfea5a
注意:任务id就是taskid,不是processId
在这里插入图片描述

5.4. 任务完成

http://localhost:8989/flow/complete?taskId=be5ccece-0078-11ea-83cb-f8a2d6bfea5a
在这里插入图片描述

5.5. 流程进展查看

http://localhost:8989/flow/processDiagram?processId=be53f529-0078-11ea-83cb-f8a2d6bfea5a

在这里插入图片描述
从这里可以很容易的看到我们用户任务完成表示审核完成任务了,因为后面直接到结束了,所以看到红色圈已经到结束了。

源码下载

gitlab链接:https://gitlab.com/gb-heima/flowablestudy/tree/master/flowablelech14
码云链接:https://gitee.com/gb_90/flowable-study/tree/master/flowablelech14

下一篇:
第15篇: Flowable-BPMN操作流程之排他网关
https://blog.csdn.net/weixin_40816738/article/details/102902674

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java垃圾回收 分代_Java分代垃圾回收策略原理详解

一、为什么要分代分代的垃圾回收策略&#xff0c;是基于这样一个事实&#xff1a;不同的对象的生命周期是不一样的。因此&#xff0c;不同生命周期的对象可以采取不同的收集方式&#xff0c;以便提高回收效率。在Java程序运行的过程中&#xff0c;会产生大量的对象&#xff0c;…

MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发

摘要&#xff1a; 2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF&#xff0c;万众期待的功能终于支持啦&#xff0c;我怎么能不一试为快&#xff0c;今天就分享如何通过Studio进行Python udf开发。 点此查看原文&#xff1a;http://click.aliyun.com/m…

如何填报大数据相关专业? | Alfred数据室

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | AlfredWu来源 | Alfred数据室高考出分了&#xff0c;又是一年一度各位考生和家长手忙脚乱开始填报志愿的时候了。很多考生和家长纷纷咨询Alfred&#xff1a;大数据现在不是很火吗&#xff1f;大数据专业怎么样呀&#xff1f…

第15篇: Flowable-BPMN操作流程之排他网关

接上一篇&#xff1a; 第14篇&#xff1a;Flowable-BPMN操作流程之任务完成 https://blog.csdn.net/weixin_40816738/article/details/102902647 文章目录一、背景二、定义三、流程准备四、流程文件五、控制器六、流程通过验证6.1. 创建新流程6.2. 启动流程6.3. 控制台查看任务…

阿里云视频AI全能力解读

摘要&#xff1a; 结合人工智能视频理解流程和用户的需求场景&#xff0c;我们将视频AI的功能分成四个大部分&#xff0c;视频智能审核、视频内容理解、视频智能编辑、视频版权保护。其中视频审核功能包括视频鉴黄、暴恐涉政识别、广告二维码识别、无意义直播识别等&#xff0c…

阿里云智能视频 AI 重装来袭

摘要&#xff1a; 近日&#xff0c;阿里云重磅推出视频点播新功能——视频AI &#xff0c;基于深度学习、计算机视觉技术和海量数据&#xff0c;为广大用户提供多场景的视频AI服务。 点此查看原文&#xff1a;http://click.aliyun.com/m/40809/ 近日&#xff0c;阿里云重磅推出…

Hadoop精华问答 | Hadoop框架中最核心的设计是什么?

Hadoop能够进行大批量数据的离线处理,但是在实时计算上的表现实在是不尽如人意;而Storm就可以担当这部分的角色&#xff0c;今天&#xff0c;就让我们看看关于Storm的精华问答吧。1Q&#xff1a;hadoop发展史A&#xff1a;2Q&#xff1a;Hadoop 有哪些优点&#xff1f;A&#x…

SpringBoot2.x整合Swagger2 实现API文档实时生成

我们提供Restful接口的时候&#xff0c;API文档是尤为的重要&#xff0c;它承载着对接口的定义&#xff0c;描述等&#xff0c;本文主要介绍了SpringBoot集成Swagger2生成接口文档的方法示例&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 我们提供Restful接口的时候&a…

阿里云 ESS 弹性伸缩服务新功能来袭,更全面、更自动化的使用体验

摘要&#xff1a; 2017年9月阿里云弹性伸缩服务伸缩配置新增了实例自定义数据、秘钥对、实例RAM角色、标签新特性&#xff1b;近日&#xff0c;阿里云又发布了VSWitchIds.N多可用区新特性。 点此查看原文&#xff1a;http://click.aliyun.com/m/40810/ 弹性伸缩是一种根据业务需…

java 提取轮廓_TensorFlow 卷积操作模拟sobel算子提取图像轮廓

注意&#xff1a;sobel算子不保证结果在0-255&#xff0c;需要做一次归一化处理&#xff0c;再乘以255输出的数据shape与图像的shape不一样&#xff0c;需要一次转化效果代码import matplotlib.pyplot as plt # plt 用于显示图片import matplotlib.image as mpimg # mpimg 用于…

阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能

摘要&#xff1a; 目前阿里云大数据产品已经免费向全部用户开放了多种公用数据集。开放的数据类别包括&#xff1a;股票价格数据&#xff0c;房产信息&#xff0c;影视及其票房数据。 点此查看原文&#xff1a;http://click.aliyun.com/m/40813/ 目前阿里云MaxCompute大数据产品…

豪投10亿!华为放话:3年培养100万AI人才!网友神回应了

近期&#xff0c;AI测试权威软件AI Benchmark的测试数据显示&#xff0c;中国华为研发的7nm旗舰手机芯片麒麟810的AI分数&#xff0c;远远超过美国高通骁龙855了&#xff01;麒麟810芯片AI分数是3300多&#xff0c;名列第一。而骁龙855手机则是2700多。大家振奋的同时&#xff…

阿里云大数据利器Maxcompute学习之-假如你使用过hive

摘要&#xff1a; 如果您是一个大数据开发工程师并且使用过hadoop的hive框架&#xff0c;那么恭喜您&#xff0c;阿里云的大数据计算服务-Maxcompute&#xff0c;您已经会了90%。这篇文章就来简单对比下Maxcompute和hive的异同&#xff0c;来方便刚开始使用Maxcompute的用户&am…

阿里云大数据利器Maxcompute-使用mapjoin优化查询

摘要&#xff1a; small is beautiful&#xff0c;small is powerful 点此查看原文&#xff1a;http://click.aliyun.com/m/40815/ 大数据计算服务&#xff08;MaxCompute&#xff0c;原名 ODPS&#xff09;是一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案。 https://help…

GitHub下载文件时缓慢的问题

用记事本打开hosts文件&#xff0c;路径为 C:\Windows\System32\drivers\etc将下面3行添加到hosts文件中 140.82.114.3 github.com151.101.185.194 github.global.ssl.fastly.net192.30.253.121 codeload.github.com以管理员身份运行CMD&#xff0c;执行命令ipconfig /flushdn…

阿里云大数据利器之-RDS迁移到Maxcompute实现动态分区

摘要&#xff1a; 当前&#xff0c;很多用户的业务数据存放在传统关系型数据库上&#xff0c;例如阿里云的RDS&#xff0c;做业务读写操作。当数据量非常大的时候&#xff0c;此时传系关系型数据库会显得有些吃力&#xff0c;那么会经常有将mysql数据库的数据迁移到[大数据处理…

SaaS前世今生:老树开新花

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 文东海出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcould&#xff09;2019年3月26日&#xff0c;Adobe和微软宣布&#xff0c;两家公司准备展开一项合作&#xff0c;来提升双方的“销售和营销软件”的能力&#xff0c;进…

初体验-阿里云短视频 SDK For Android 快速接入

摘要&#xff1a; 近期的一些创意短视频 App 风靡年轻群体&#xff0c;比较典型的例如抖音、MUSE 等&#xff0c;阿里云也适时地推出了简单易用的短视频 SDK&#xff0c;帮助开发者们以较低的成本快速引入功能完备的创意短视频功能。本文主要介绍如何快速接入阿里云短视频 SDK …

解决Chrome插件安装时出现的“程序包无效”问题

https://blog.csdn.net/ysq5202121/article/details/50809494

【 CDN 最佳实践】CDN 命中率优化思路

摘要&#xff1a; CDN 在静态资源的加速场景中是将静态资源缓存在距离客户端较近的CDN 节点上&#xff0c;然后客户端访问该资源即可通过较短的链路直接从缓存中获取资源&#xff0c;而避免再通过较长的链路回源获取静态资源。因此 CDN的缓存命中率的高低直接影响客户体验&…