工作流系统特性:

动态审批实现方案:

一、采用监听器实现方案

二、扩展参与人适配器实现方案

三、采用指派实现动态审批方案

人员信息存储

  • act_ru_identitylink表存放组任务的办理人,表示正在执行的任务
  • act_hi_identitylink表存放所有任务的办理人,包括个人任务和组任务表示历史任务

taskService.addUserIdentityLink(task.getId(), "user102", IdentityLinkType.CANDIDATE);

这个方法各向act_ru_identitylink表和act_hi_identitylink表中插入taskId、userId、type为candidate的一条记录

taskService.addUserIdentityLink(task.getId(), "user102", IdentityLinkType.OWNER);

这个方法向act_ru_task表中修改id为taskId的记录的OWNER字段为userId

taskService.addUserIdentityLink(task.getId(), "user102", IdentityLinkType.ASSIGNEE);

这个方法向act_ru_task表中修改id为taskId的记录的ASSIGNEE字段为userId

taskService.getIdentityLinksForTask("task102");
这个方法调用会查出act_ru_identitylink表中TASK_ID字段为taskId的记录 以及 act_ru_task表中OWNER、ASSIGNEE两个字段中非空的字段生成对应的IdentityLink对象。

如果OWNER字段非空会生成一个IdentityLink对象,包含了OWNER和TASK的相关属性。如果ASSIGNEE字段非空,也会生成一个单独的IdentityLink对象包含ASSIGNEE和TASK相关属性。

其中的原因就是,owner是任务所有者只能是一个,assignee是任务确定的接收者,也只能是一个,candidate是可领取任务的人,那么就会有很多,所以candidate单独放在identitylink表中关联task,而前两个就直接在task表中标明即可,统计的时候这三种情况都要统计进去。

分配个人任务的三种方式

一、直接指定

二、参数指定

三、监听器指定

Activiti动态审批实现方案相关推荐

  1. activiti动态办理人_Activiti动态设置办理人扩展

    Activiti动态设置办理人扩展 作者:邓家海 扩展是要求对Activiti基础有一定的功底的 我们一直在努力,不是为了改变世界,只是不让世界去改变我们. 关键词:Assignee.Candidat ...

  2. .net core中的高效动态内存管理方案

    .net core在新增的System.Buffers中引入了一大堆高效内存管理的类,如span和memory.内存池.本文今天这里介绍一个高效动态内存访问方案. ReadOnlySequenceSe ...

  3. Android M版本和非M版本动态权限适配方案

    动态权限适配方案 1.  背景 目前在Google官方推出的最新的AndroidM版本上,对于应用权限的调用做了大大的修改.在M版本之前,应用App需要用到什么权限只需要在AndroidManifes ...

  4. 联想网上审批系统方案

    <script type="text/javascript"> google_ad_client = "pub-8800625213955058"; ...

  5. 使用python有趣地解决一道动态币值规划方案

    使用python有趣地解决一道动态币值规划方案 题目 币值规划目的 解法一 解法二 解法三 更新部分 总结 大家好,最近碰到一道动态币值规划问题,通过几种方法求解,深得其奥妙,也十分有趣,特将我的心路 ...

  6. freeswitch之SIP动态注册及动态配置拨号方案

    本文档描述freeswitch的动态配置SIP账户,以及动态修改拨号方案的问题. 一. 环境配置 服务器 centos 6.9 (64bit) Java jdk1.8 Freeswitch 1.6.1 ...

  7. Unity(iOS)AssetBundle资源内存动态分块加密方案

    一.背景 AssetBunlde资源包是unity引擎游戏对资源(声音.图片.脚本等)的压缩包,那我们为啥要保护AssetBunlde(以下简称AB包)?对于一般技术人员都清楚, 游戏逆向者(游戏外挂 ...

  8. Android一键生成包含.dex的Jar及动态加载方案

    Android一键生成包含.dex的Jar及动态加载方案 背景:谈到动态加载相信很多小伙伴都会想到 热更新 及 动态加载dex 的技术,最近也因为项目重构的需求,折腾了下这方面的技术点,以前研究过但时 ...

  9. Salesforce 动态审批

    由于Salesforce只支持根据条件动态选择审批分支,如果我们想进一步支持动态根据页面的某种条件选择审批人,Salesforce是不支持的.因此我们只能通过override salesforce审批 ...

最新文章

  1. 金融量化alpha和beta值的意义
  2. AB1601低功耗时烧写代码注意事项
  3. ambari mysql error code: 1665_ambari安装中常见的问题
  4. antd listView中onEndReached()失效
  5. 异常检测机器学习_使用机器学习检测异常
  6. 前端:CSS/11/CSS浮动和清除,CSS继承性,CSS优先级
  7. ccs中display:none visibility:hidden opacity:0的区别
  8. 神器!人工智能分离歌曲中的人声和背景音乐
  9. python turtle库下载_python3中安装turtle库
  10. C语言文件读写常用函数
  11. 名人漏网之语 --联合早报2007-01-28
  12. 白话前沿IT技术系列—云计算
  13. Mac生成和查看SSH Key
  14. linux系统编译时make出错,centos 编译安装cmake和常见过程错误解决办法(linux系统均适用,以爬坑。。)...
  15. colormap保存 matlab_matlab中colormap用法
  16. 小功率机械无级变速器结构设计
  17. 4399游戏存档的那些事儿
  18. uniapp ----小程序上下滑动页面,视频自动播放(完整代码)
  19. 读书读书 吼吼~~
  20. 重置Google云服务器密码

热门文章

  1. SQL:mysql中如何使用isnull函数
  2. C++ constexper
  3. html5 手游制作,HTML5游戏制作(九)——炮塔游戏
  4. 地風升 (易經大意 韓長庚)
  5. BugkuCTF: 啊哒
  6. 超详解Tomcat的下载、安装、启动等问题
  7. iOS 之 UI界面概述
  8. java 实例化bean_spring实例化bean
  9. python模拟生产者消费者进程可视化tkinter
  10. 驭势科技出席2023智慧机坪新技术交流研讨会,以无人驾驶加速共建智慧机场新生态...