工作流实战_21_flowable 加签 任务向前加签 向后加签
项目地址 | https://gitee.com/lwj/flowable.git |
---|---|
代码分支 | flowable-base |
视频讲解地址 | https://www.bilibili.com/video/av78471660/ |
用户名 | 密码 |
---|---|
0000001 | test |
0000002 | test |
0000003 | test |
0000004 | test |
文章目录
- 1. 场景分析
- 2. 演示:
- 3. 代码分享
- 3.1. 加签的方法
- 3.2. 审批环节处理
1. 场景分析
加签:同时让多人处理任务
1、向前加签
任务在A这里,A这个时候需要BCD核对一下,等BCD核对之后又回到A这里
2、向后加签
任务在A这里,A这个时候需要BCD处理这个事情,处理完毕之后就不用管了,继续后面的审批环节
实际情况中,我们应该只有一种加签比较合适,因为用户的使用的时候,如果是一排按钮的话,他自己都搞不清楚到底点击哪个了。我在实际的情况下是使用向后加签的。
2. 演示:
3. 代码分享
3.1. 加签的方法
public ReturnVo<String> addSignTask(AddSignTaskVo addSignTaskVo, Boolean flag) {ReturnVo<String> returnVo = null;TaskEntityImpl taskEntity = (TaskEntityImpl) taskService.createTaskQuery().taskId(addSignTaskVo.getTaskId()).singleResult();//1.把当前的节点设置为空if (taskEntity != null) {//如果是加签再加签String parentTaskId = taskEntity.getParentTaskId();if (StringUtils.isBlank(parentTaskId)) {taskEntity.setOwner(addSignTaskVo.getUserCode());taskEntity.setAssignee(null);taskEntity.setCountEnabled(true);if (flag) {taskEntity.setScopeType(FlowConstant.AFTER_ADDSIGN);} else {taskEntity.setScopeType(FlowConstant.BEFORE_ADDSIGN);}//1.2 设置任务为空执行者taskService.saveTask(taskEntity);}//2.添加加签数据this.createSignSubTasks(addSignTaskVo, taskEntity);//3.添加审批意见String type = flag ? CommentTypeEnum.HJQ.toString() : CommentTypeEnum.QJQ.toString();this.addComment(addSignTaskVo.getTaskId(), addSignTaskVo.getUserCode(), addSignTaskVo.getProcessInstanceId(),type, addSignTaskVo.getMessage());String message = flag ? "后加签成功" : "前加签成功";returnVo = new ReturnVo<>(ReturnCode.SUCCESS, message);} else {returnVo = new ReturnVo<>(ReturnCode.FAIL, "不存在任务实例,请确认!");}return returnVo;}
3.2. 审批环节处理
//4.处理加签父任务
String parentTaskId = taskEntity.getParentTaskId();if (StringUtils.isNotBlank(parentTaskId)) {String tableName = managementService.getTableName(TaskEntity.class);String sql = "select count(1) from " + tableName + " where PARENT_TASK_ID_=#{parentTaskId}";long subTaskCount = taskService.createNativeTaskQuery().sql(sql).parameter("parentTaskId", parentTaskId).count();if (subTaskCount == 0) {Task task = taskService.createTaskQuery().taskId(parentTaskId).singleResult();//处理前后加签的任务taskService.resolveTask(parentTaskId);if (FlowConstant.AFTER_ADDSIGN.equals(task.getScopeType())) {taskService.complete(parentTaskId);}}}
工作流实战_21_flowable 加签 任务向前加签 向后加签相关推荐
- matlab 加频偏,关于BPSK用dmod调制后加频偏的问题
这是我做的关于伪码捕获的仿真其中用了dmod 函数进行调制和解调 现在要在信道中加频偏 请问怎么加 不要信道衰减 不要延时 只要频偏 %%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- 【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )
文章目录 一.自定义路径加载插件 二.系统路径加载插件 三.用户同意后加载插件 四.隐藏恶意插件 一.自定义路径加载插件 插件化应用中 , 宿主应用 加载 插件 APK , 需要获取该插件 APK 文 ...
- 21.flowable 加签 向前加签 向后加签
项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 视频讲解地址 https://www.bilibili.com/video/av7847 ...
- awt jtable 多线程加载图片_Java项目实战之天天酷跑(三):缓冲加载游戏界面
前文,我们完成了开始游戏界面的搭建.本文将实现缓冲加载界面的搭建.并搭建与前面俩界面间的桥梁.实现输入正确用户名密码后,进入开始游戏界面,点击开始游戏按钮后,进入缓冲加载界面的功能. 界面示意图: 具 ...
- uniapp实战项目 (仿知识星球App) - - 实现图片懒加载
实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...
- [TensorFlow深度学习入门]实战七·简便方法实现TensorFlow模型参数保存与加载(ckpt方式)
[TensorFlow深度学习入门]实战七·简便方法实现TensorFlow模型参数保存与加载(ckpt方式) 个人网站–> http://www.yansongsong.cn TensorFl ...
- python加载项向导_什么是 Python 加载项?
加载项是一种自定义项,它可以插入到 ArcGIS for Desktop 应用程序(即 ArcMap.ArcCatalog.ArcGlobe 和 ArcScene)中以便提供补充功能以完成自定义任务, ...
- MTK平台Metadata的加载(4)—Q版本后
(1)Loading static metadata(senosor and 3A) 与 Android P 加载流程一致,在 Android Q 中 buildStaticInfo 首先通过 imp ...
- three.js通过CubeTexture加载环境贴图,和RGBELoader加载器加载hdr环境贴图
一.使用CubeTexture进行环境贴图 1.CubeTexture使用介绍 Three.js中可以通过使用CubeTexture进行环境贴图,CubeTexture需要将6张图片(正面.反面.上下 ...
最新文章
- 计算机在线咨询,计算机科学与技术
- 最重要的事情只有一件
- android闹钟——原代码【转】
- 程序员修神之路--做好分库分表其实很难之一
- Vue中message.split().reverse().join()函数用法
- 想要一本Linux书籍?投出您想要的Linux书籍,由红联论坛邮寄给您(2007新增)(转)...
- oracle迁移需要注意配置文件,xtts迁移实践
- Python 2 寿命即将终结,​是时候将 3500 万行代码迁移到 Python 3 了!
- markdown公式编辑参考
- android混合编程 pdf,混合编程在A/D转换中的应用.pdf
- 【2022】APP-IOS客户端Android客户端安全性测试-常见问题
- EDA技术与应用课笔记
- 病毒手动查杀(威金 q盗 熊猫烧香)
- android系统修改开机动画效果,Android手机开机动画的修改
- native react 图片裁剪_React Native图片选择裁剪组件
- 有赞BI平台实现原理
- canvas 水墨画效果
- php和mysql_用php和mysql做登陆注册系统
- AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)daiding
- 【云速建站如何个人备案】
热门文章
- 全面永久退出!又一巨头被逼上绝路!
- 1224 哥德巴赫猜想(2)
- osg学习笔记(一)
- 使用IntelliJ IDEA导入 Flink 消费kafka报错 Error: A JNI error has occurred, please check your installation an
- Kerberos 下运行spark 报错 Requested user hdfs is not whitelisted and has id 995,which is below the minimu
- 阿里云 AI 编辑部获 CCBN 创新奖,传媒行业解决方案背后的黑科技
- 内含干货PPT下载|一站式数据管理DMS及最新解决方案发布
- 简单五步,实现物联网批量创建设备
- 如何造一个“钉钉”?谈谈消息系统架构的实现
- Flutter高内聚组件怎么做?阿里闲鱼打造开源高效方案!