如果一个人员离职了,你要变更这个人员所在的流程为其他的审批人,如果一个个的去检察,你是不是很累,这就是我们如果批量修改的原因。

场景很简单,就是人力告诉你有人离职了,需要变更为其他的人

做成界面一键式更新审批人

  • 目标:通过界面来修改审批人
  • 第一 、获取所有的最新的流程定义
  • 第二、修改每一个流程定义的审批人信息

目标:通过界面来修改审批人

1. 界面怎么做在这里就不用讲了


  • 第一 、获取所有的最新的流程定义

public ReturnVo<String> updateTaskAssignee(List<String> keys, String oldAssignee, String newAssignee) {ReturnVo<String> returnVo = new ReturnVo<>(ReturnCode.SUCCESS, "OK");//1. 查询最新的流程定义列表StringBuffer sql = new StringBuffer("SELECT a.* FROM act_re_procdef a INNER JOIN (SELECT key_,MAX(version_) max_version FROM act_re_procdef GROUP BY key_ ) b " +" ON a.key_ = b.key_ AND a.version_ = b.max_version ");StringBuffer inkeys = new StringBuffer("");if (CollectionUtils.isNotEmpty(keys)) {StringBuffer finalInkeys = inkeys;keys.forEach(key -> finalInkeys.append("'").append(key).append("'").append(","));if (inkeys.length() > 0) {inkeys = inkeys.deleteCharAt(inkeys.length() - 1);sql.append(" where a.key_ in (").append(inkeys.toString()).append(")");List<ProcessDefinition> processDefinitions = repositoryService.createNativeProcessDefinitionQuery().sql(sql.toString()).list();if (CollectionUtils.isNotEmpty(processDefinitions)) {processDefinitions.forEach(processDefinition -> this.updateTaskAssignee(processDefinition, oldAssignee, newAssignee));}}}return returnVo;}
  • 第二、修改每一个流程定义的审批人信息

public ReturnVo<String> updateTaskAssignee(ProcessDefinition processDefinition, String oldAssignee, String newAssignee) {ReturnVo<String> returnVo = new ReturnVo<>(ReturnCode.SUCCESS, "OK");BpmnModel model = repositoryService.getBpmnModel(processDefinition.getId());List<UserTask> userTasks = bpmnModelService.findUserTasksByBpmnModel(model);userTasks.forEach(userTask -> {if (userTask.getAssignee() != null && userTask.getAssignee().equals(oldAssignee) && !oldAssignee.equals(newAssignee)) {ObjectNode processInfo = dynamicBpmnService.changeUserTaskAssignee(userTask.getId(), newAssignee);dynamicBpmnService.saveProcessDefinitionInfo(processDefinition.getId(), processInfo);}});}

Flowable批量修改审批人相关推荐

  1. python修改文件内容_Python批量修改文本文件内容的方法详解

    这篇文章主要介绍了Python批量修改文本文件内容的方法的相关资料,需要的朋友可以参考下 Python批量替换文件内容,支持嵌套文件夹 import os path="./" fo ...

  2. 批量修改图片以及加水印

    好久木有来写点什么了.. 前段时间挺忙的. 今天上来分享一个,这几天我给商城图片加水印的代码吧.因为产品编辑那边是先把图片都上传完成了,所以只能做批量修改图片来完成给所有图片加水印的效果. 类似DX. ...

  3. idea 批量修改同一列_学会这个,1秒就可以批量处理文件

    [问题1]根据公司名称,批量创建文件夹 拿到老板给到的这个任务后,没关系我很有耐心,不就是右击新建文件夹重命名保存吗,然后加班点鼠标到天荒地老,终于完成了. 结果老板说有些公司名有误要改正过来,还有几 ...

  4. ansible批量修改linux服务器密码的playbook

    从网上找到批量修改Linux服务器root密码的playbook. 使用方法: 1.输入要修改的inventory组 2.按需要,在playbook中输入要修改的IP.新密码,如下: - hosts: ...

  5. 关于批量修改AD域用户的脚本

    最近几天帮人弄了个脚本,是修改域用户属性的脚本,今天看到徐火军写的 关于批量修改用户属性 脚本,觉得有必要把我的成果分享给大家.什么都不说了,上脚本: Dim oFSO, oTF, i Dim sLi ...

  6. python修改ppt的字体和颜色_使用python-pptx包批量修改ppt格式的实现

    最近实习需要对若干ppt进行格式上的调整,主要就是将标题的位置.对齐方式.字体等统一,人工修改又麻烦又容易错. 因此结合网上的pptx包资料,使用python脚本完成处理. 主要的坑点在于,shape ...

  7. idea批量修改变量快捷键mac_使用Mac自带功能批量修改图片名称、类型和压缩图片大小...

    Mac电脑自带的聚焦搜索功能已经很强大,可以快速准确的搜索电脑内的文件,但是从网上下载的文件,特别是一些图片文件都是一串数字组成的文件名,很难记忆和搜索,我们可以使用Mac自带的『自动操作』功能给图片 ...

  8. 批量修改文件名称(Python)

    本程序功能:批量修改文件名称 import os import redef replaceDirName(rootDir): # 修改rootDir路径下的文件夹名num = 0dirs = os.l ...

  9. 批量修改文件夹下图片名称(Python)

    本程序的功能是:批量修改文件夹下图片名称. import os import redef replcaeFileName(pic_path): # 修改pic_path路径下的文件名piclist = ...

最新文章

  1. 数据通信技术(四:链路聚合)
  2. linux远程执行shell命令行,linux shell 远程执行命令--ftp
  3. MySQL-主从架构的搭建
  4. MPI编程的常用接口速查
  5. poj2594(二分图,最小路径覆盖变形)
  6. php可以调用windowsapi吗_2.如何调用WindowsApi
  7. 如果财富都在部分人手里会怎样?
  8. 输出调节2.3——内模控制器设计
  9. angularjs姓名转拼音js
  10. [转]DOS批处理高级教程精选合编
  11. 雅虎免费邮箱片头动画:Liam系列
  12. 推荐3款手机远程控制电脑的软件 专业 好用 免费
  13. Android像素密度dpi/ppi计算公式,px、sp、dp互转工具类——概念解释
  14. 小程序 40163_小程序获取openid 出现null,{errcode:40163,errmsg:code been used, hints: [ req_id: WNUzlA0105t...
  15. Programming Languages PartB Week2学习笔记——用Racket编写解释器
  16. vue3+vant Failed to resolve import “E:/code3/jianmu-user-yd/node_modules/vant/lib/vant/es/icon/style
  17. 2011考研数学核心题型-陈文灯
  18. 【自然语言处理(NLP)】基于预训练模型的机器阅读理解
  19. html字数不同相同宽度的按钮,HTML_按钮在IE中两边被拉伸的 BUG,大家在写按钮(input、button) - phpStudy...
  20. 【硬刚大数据】2021年从零到大数据专家之数据仓库篇

热门文章

  1. [问题记录] spring-boot 打印启动时间
  2. SQL注入漏洞攻防必杀技
  3. UE4实现一个简单的炸弹爆炸与镜头振动效果
  4. 毕设 房价预测分析与可视
  5. 国产芯片替代ST很容易:记航顺HK32F103RET6替代STM32F103RET6
  6. SDN系统方法 | 8. 网络虚拟化
  7. 北斗导航试运行将可兼容GPS 2020年有望普及
  8. KVM使用Pass-through和SR-IOV
  9. 源码天堂JAVA_github下载的源码打包成jar
  10. 四:BeanFactory来获取bean对象