Activiti动态审批实现方案
工作流系统特性:
动态审批实现方案:
一、采用监听器实现方案
二、扩展参与人适配器实现方案
三、采用指派实现动态审批方案
人员信息存储
- 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动态审批实现方案相关推荐
- activiti动态办理人_Activiti动态设置办理人扩展
Activiti动态设置办理人扩展 作者:邓家海 扩展是要求对Activiti基础有一定的功底的 我们一直在努力,不是为了改变世界,只是不让世界去改变我们. 关键词:Assignee.Candidat ...
- .net core中的高效动态内存管理方案
.net core在新增的System.Buffers中引入了一大堆高效内存管理的类,如span和memory.内存池.本文今天这里介绍一个高效动态内存访问方案. ReadOnlySequenceSe ...
- Android M版本和非M版本动态权限适配方案
动态权限适配方案 1. 背景 目前在Google官方推出的最新的AndroidM版本上,对于应用权限的调用做了大大的修改.在M版本之前,应用App需要用到什么权限只需要在AndroidManifes ...
- 联想网上审批系统方案
<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; ...
- 使用python有趣地解决一道动态币值规划方案
使用python有趣地解决一道动态币值规划方案 题目 币值规划目的 解法一 解法二 解法三 更新部分 总结 大家好,最近碰到一道动态币值规划问题,通过几种方法求解,深得其奥妙,也十分有趣,特将我的心路 ...
- freeswitch之SIP动态注册及动态配置拨号方案
本文档描述freeswitch的动态配置SIP账户,以及动态修改拨号方案的问题. 一. 环境配置 服务器 centos 6.9 (64bit) Java jdk1.8 Freeswitch 1.6.1 ...
- Unity(iOS)AssetBundle资源内存动态分块加密方案
一.背景 AssetBunlde资源包是unity引擎游戏对资源(声音.图片.脚本等)的压缩包,那我们为啥要保护AssetBunlde(以下简称AB包)?对于一般技术人员都清楚, 游戏逆向者(游戏外挂 ...
- Android一键生成包含.dex的Jar及动态加载方案
Android一键生成包含.dex的Jar及动态加载方案 背景:谈到动态加载相信很多小伙伴都会想到 热更新 及 动态加载dex 的技术,最近也因为项目重构的需求,折腾了下这方面的技术点,以前研究过但时 ...
- Salesforce 动态审批
由于Salesforce只支持根据条件动态选择审批分支,如果我们想进一步支持动态根据页面的某种条件选择审批人,Salesforce是不支持的.因此我们只能通过override salesforce审批 ...
最新文章
- 金融量化alpha和beta值的意义
- AB1601低功耗时烧写代码注意事项
- ambari mysql error code: 1665_ambari安装中常见的问题
- antd listView中onEndReached()失效
- 异常检测机器学习_使用机器学习检测异常
- 前端:CSS/11/CSS浮动和清除,CSS继承性,CSS优先级
- ccs中display:none visibility:hidden opacity:0的区别
- 神器!人工智能分离歌曲中的人声和背景音乐
- python turtle库下载_python3中安装turtle库
- C语言文件读写常用函数
- 名人漏网之语 --联合早报2007-01-28
- 白话前沿IT技术系列—云计算
- Mac生成和查看SSH Key
- linux系统编译时make出错,centos 编译安装cmake和常见过程错误解决办法(linux系统均适用,以爬坑。。)...
- colormap保存 matlab_matlab中colormap用法
- 小功率机械无级变速器结构设计
- 4399游戏存档的那些事儿
- uniapp ----小程序上下滑动页面,视频自动播放(完整代码)
- 读书读书 吼吼~~
- 重置Google云服务器密码