项目地址 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 加签 任务向前加签 向后加签相关推荐

  1. matlab 加频偏,关于BPSK用dmod调制后加频偏的问题

    这是我做的关于伪码捕获的仿真其中用了dmod 函数进行调制和解调  现在要在信道中加频偏  请问怎么加  不要信道衰减  不要延时  只要频偏 %%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  2. 【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )

    文章目录 一.自定义路径加载插件 二.系统路径加载插件 三.用户同意后加载插件 四.隐藏恶意插件 一.自定义路径加载插件 插件化应用中 , 宿主应用 加载 插件 APK , 需要获取该插件 APK 文 ...

  3. 21.flowable 加签 向前加签 向后加签

    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 视频讲解地址 https://www.bilibili.com/video/av7847 ...

  4. awt jtable 多线程加载图片_Java项目实战之天天酷跑(三):缓冲加载游戏界面

    前文,我们完成了开始游戏界面的搭建.本文将实现缓冲加载界面的搭建.并搭建与前面俩界面间的桥梁.实现输入正确用户名密码后,进入开始游戏界面,点击开始游戏按钮后,进入缓冲加载界面的功能. 界面示意图: 具 ...

  5. uniapp实战项目 (仿知识星球App) - - 实现图片懒加载

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  6. [TensorFlow深度学习入门]实战七·简便方法实现TensorFlow模型参数保存与加载(ckpt方式)

    [TensorFlow深度学习入门]实战七·简便方法实现TensorFlow模型参数保存与加载(ckpt方式) 个人网站–> http://www.yansongsong.cn TensorFl ...

  7. python加载项向导_什么是 Python 加载项?

    加载项是一种自定义项,它可以插入到 ArcGIS for Desktop 应用程序(即 ArcMap.ArcCatalog.ArcGlobe 和 ArcScene)中以便提供补充功能以完成自定义任务, ...

  8. MTK平台Metadata的加载(4)—Q版本后

    (1)Loading static metadata(senosor and 3A) 与 Android P 加载流程一致,在 Android Q 中 buildStaticInfo 首先通过 imp ...

  9. three.js通过CubeTexture加载环境贴图,和RGBELoader加载器加载hdr环境贴图

    一.使用CubeTexture进行环境贴图 1.CubeTexture使用介绍 Three.js中可以通过使用CubeTexture进行环境贴图,CubeTexture需要将6张图片(正面.反面.上下 ...

最新文章

  1. 计算机在线咨询,计算机科学与技术
  2. 最重要的事情只有一件
  3. android闹钟——原代码【转】
  4. 程序员修神之路--做好分库分表其实很难之一
  5. Vue中message.split().reverse().join()函数用法
  6. 想要一本Linux书籍?投出您想要的Linux书籍,由红联论坛邮寄给您(2007新增)(转)...
  7. oracle迁移需要注意配置文件,xtts迁移实践
  8. Python 2 寿命即将终结,​是时候将 3500 万行代码迁移到 Python 3 了!
  9. markdown公式编辑参考
  10. android混合编程 pdf,混合编程在A/D转换中的应用.pdf
  11. 【2022】APP-IOS客户端Android客户端安全性测试-常见问题
  12. EDA技术与应用课笔记
  13. 病毒手动查杀(威金 q盗 熊猫烧香)
  14. android系统修改开机动画效果,Android手机开机动画的修改
  15. native react 图片裁剪_React Native图片选择裁剪组件
  16. 有赞BI平台实现原理
  17. canvas 水墨画效果
  18. php和mysql_用php和mysql做登陆注册系统
  19. AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)daiding
  20. 【云速建站如何个人备案】

热门文章

  1. 全面永久退出!又一巨头被逼上绝路!
  2. 1224 哥德巴赫猜想(2)
  3. osg学习笔记(一)
  4. 使用IntelliJ IDEA导入 Flink 消费kafka报错 Error: A JNI error has occurred, please check your installation an
  5. Kerberos 下运行spark 报错 Requested user hdfs is not whitelisted and has id 995,which is below the minimu
  6. 阿里云 AI 编辑部获 CCBN 创新奖,传媒行业解决方案背后的黑科技
  7. 内含干货PPT下载|一站式数据管理DMS及最新解决方案发布
  8. 简单五步,实现物联网批量创建设备
  9. 如何造一个“钉钉”?谈谈消息系统架构的实现
  10. Flutter高内聚组件怎么做?阿里闲鱼打造开源高效方案!