工作流实战_21_flowable 加签 任务向前加签 向后加签

项目地址https://gitee.com/lwj/flowable.git
代码分支flowable-base
视频讲解地址https://www.bilibili.com/video/av78471660/
用户名密码
0000001test
0000002test
0000003test
0000004test

文章目录

      • 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);}}}

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

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

相关文章

视频直播常见问题与解决办法汇总【系列二—直播截图】

摘要&#xff1a; 使用场景 用户常需要对视频直播的内容进行分析。例如&#xff0c;需要对直播中的某一帧的内容作为封面图片或者对于直播内容进行鉴黄以查看内容合法性等需求。因此&#xff0c;视频直播提供了实时截图功能满足用户的截图需求。 截图功能介绍 截图功能配置 配置…

采用C语言求出最大公约数和最小公倍数

第一种&#xff0c;用辗转相除法 求最大公约数和最小公倍数的时候&#xff0c;通常采用遍历的方式&#xff0c;这种方式虽然能求&#xff0c;但是如果要求的两个数比较大时&#xff0c;就会出现遍历时长过长的问题。于是想采用一种简洁的方式求出。 比如&#xff1a;输入15和9这…

hibernate 复合主键 根据主键删除_Python 之 MySql“未解之谜”11--主键 id 那些事

主键 id 用自增和 uuid 有什么区别&#xff1f;● uuid 有 16 个字节&#xff0c;比 int(4 byte)和 bigint(8 byte)占用更多存储空间有大量数据的时候 uuid 主键不会像自增主键那样越界&#xff0c;如果使用自增 id&#xff0c;字段类型一般选择 bigint● 如果 InnoDB 表的数据…

工作流实战_20_flowable 任务签收 反签收

项目地址https://gitee.com/lwj/flowable.git代码分支flowable-base视频讲解地址https://www.bilibili.com/video/av78411429/ 用户名密码0000001test0000002test0000003test0000004test文章目录一、 演示1.1. 签收1.2. 反签收一、 演示 签收&#xff1a;一般情况就是多个候选…

上万条数据撕开微博热搜的真相!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 徐麟&#xff0c;某互联网公司数据分析狮来源 | 数据森麟&#xff08;id&#xff1a;shujusenlin&#xff09;吃瓜前言关于新浪微博&#xff0c;向来都是各路吃瓜群众聚集之地&#xff0c;大家在微博中可以尽情吃瓜&#xff…

机器学习与Scikit Learn学习库

摘要&#xff1a; 本文介绍机器学习相关的学习库Scikit Learn&#xff0c;包含其安装及具体识别手写体数字案例&#xff0c;适合机器学习初学者入门Scikit Learn。在我科研的时候&#xff0c;机器学习&#xff08;ML&#xff09;是计算机科学领域中最先吸引我的一门学科。虽然这…

工作流实战_19_flowable 任务委派

项目地址https://gitee.com/lwj/flowable.git代码分支flowable-base视频讲解地址https://www.bilibili.com/video/av78294766/ 用户名密码0000001test0000002test0000003test0000004test文章目录场景分析1. 演示2. 代码分享3. 委派的执行处理场景分析 解释&#xff1a;委派 A…

【视频点播最佳实践】使用OSS SDK上传视频到点播

摘要&#xff1a; 场景 点播上传SDK缺乏需要的语言版本&#xff08;如C/C、Go等&#xff09;或相应的功能&#xff08;如网络流上传、追加上传&#xff09;&#xff0c;可以直接使用OSS的SDK进行上传。 准备工作 确认已开通点播服务并完成了相关配置。确认已准备了阿里云账号AK…

pythonxml库_对python 生成拼接xml报文的示例详解

最近临时工作要生成xml报名&#xff0c;通过MQ接口发送。简单小程序。 自增长拼成xml报文 Test_001.py # encodingutf-8 import time orderId s1 "\n" # for ID in range(1,5): item1 "" \ "" str(ID) "" \ "" time…

字符串数组长度的几种求法

第一种 根据库函数求出字符串的长度&#xff0c;采用这种方法要引入头文件string.h #include<string.h> int main() {char arr[] "abcdef";int sz strlen(arr);printf("%d", sz);return 0;}第二种 采用计数器的方法求得字符串的方法 int my_strl…

Aruba 推出Instant On 为中小型企业提供安全、高速的无线连接

戳蓝字“CSDN云计算”关注我们哦&#xff01;让你过几天没有Wi-Fi的生活&#xff0c;是一种什么样的感受&#xff1f;在现代人的生活里&#xff0c;离不开Wi-Fi已经成为日常&#xff0c;超市、酒店、住宅、医院、高铁……你能想到的所有场景几乎都已经部署了Wi-Fi。从个人角度来…

NSURLProtocol 拦截 NSURLSession 请求时body丢失问题解决方案探讨

摘要&#xff1a; “IP直连方案”主要在于解决DNS污染、省去DNS解析时间&#xff0c;通常情况下我们可以在项目中使用 NSURLProtocol 拦截 NSURLSession 请求&#xff0c;下面将支持 Post 请求中面临的一个挑战&#xff0c;以及应对策略介绍一下。 “IP直连方案”主要在于解决D…

工作流实战_18_flowable 流程任务的转办

项目地址https://gitee.com/lwj/flowable.git代码分支flowable-base视频讲解地址https://www.bilibili.com/video/av78184848/ 用户名密码0000001test0000002test0000003test0000004test文章目录1. 演示2. 代码分享1. 演示 2. 代码分享 public ReturnVo<String> turnTa…

深入解读:获Forrester大数据能力高评价的阿里云DataWorks思路与能力

摘要&#xff1a; Forrester发布了Now Tech: Cloud Data Warehouse Q1 2018报告&#xff0c;报告对云化数据仓库&#xff08;Cloud Data Warehouse, CDW&#xff09;的主要功能、区域表现、细分市场和典型客户等进行了全面评估。 1.前言 本文基于Now Tech: Cloud Data Warehous…

用C语言倒置字符串

要逆置这个字符串&#xff0c;有很多种方法&#xff0c;在此说一次比较巧妙的方法 首先&#xff0c;逆置这个字符串&#xff0c;可以考虑单独的把每个单词都逆序一下&#xff0c;在对整个字符串进行逆序 考虑本题中的I like beijing. 首先对I、like、beijing. 中的每个单词逆序…

java中怎么把生成文件到项目根目录_[SpringBoot2.X] 02- 项目结构介绍

POM文件继承Spring Boot 的父级依赖&#xff0c;只有继承它项目才是 Spring Boot 项目。 spring-boot-starter-parent 是一个特殊的 starter&#xff0c;它用来提供相关的 Maven 默认依赖。使用它之后&#xff0c;常用的包依赖可以省去 version 标签。也就是继承的是springboot…

大咖云集、精彩议题、独家内容,2019 AI ProCon震撼来袭!(日程出炉)

2019年9月5-7日&#xff0c;面向AI技术人的年度盛会—— 2019 AI开发者大会 AI ProCon&#xff0c;火热来袭&#xff01; 继2018 年由CSDN成功举办AI 开发者大会一年之后&#xff0c;全球AI市场正发生着巨大的变化。顶尖科技企业和创新力量不断地进行着技术的更迭和应用的推进。…

机器学习的未来——深度特征融合

摘要&#xff1a; 深度特征融合是一项能够克服机器学习不足&#xff0c;为机器学习打开通往未来大门的新技术。新技术要不要了解一下&#xff1f;即使是最敏锐的技术布道师也无法预测大数据对数字革命的影响。因为他们最初的关注点都聚焦在了扩大基础设施以构建现有服务上。在提…

flowable 图片缓存

背景 由于我们的每次显示图片的话&#xff0c;都将需要大量的查询和相关的流。这样对我们的系统压力极大&#xff0c;用户体验极差。 所以使用了缓存把图片流缓存起来&#xff0c;这样就可以解决问题了。 实现 这里我用的是ehcache&#xff0c;由于他小巧依赖少。 1.把我们的…

原码,反码,补码的关系和大小端字节序存储的关系

在看如下代码之前&#xff0c;要知道原码&#xff0c;反码&#xff0c;补码之间的关系 首先要知道第一位是符号位&#xff0c;0代表是正数&#xff0c;1代码是负数 正数的原码&#xff0c;反码&#xff0c;补码相同 负数的反码是符号位不变&#xff0c;其他位按位取反 负数的补…