Activiti reassign task to another user
//早先胡乱尝试的其他方法,可能对于以后深入学习Activiti有些用处。
//taskService.delegateTask(taskId, receiveUserId);
//taskService.addCandidateUser(taskId, receiveUserId);
//taskService.setOwner(taskId, receiveUserId);
//taskService.claim(taskId, receiveUserId);
//比较权威的参考资料
//https://community.alfresco.com/thread/217952-reassign-task-to-another-user
//https://community.alfresco.com/thread/231396-reassign-a-task
//https://community.alfresco.com/thread/221688-task-reassign
//https://stackoverflow.com/questions/38767052/activiti-assign-reassign-process
//https://www.activiti.org/userguide/index.html#_update_a_task
//https://www.activiti.org/userguide/index.html#bpmnUserTaskAssignment
//上述第一个网址,说得很清楚。遇到同样的问题,并用如下代码解决了。
//ndt
//2011-12-15 下午5:30
//Had same problem, using this code solved it
//task.setAssignee(user.getId());
//getTaskService().setAssignee(task.getId(), user.getId());
task.setAssignee(receiveUserId);
taskService.setAssignee(task.getId(), receiveUserId);
//TOOD 上面的代码不奏效,既然是调用的Activiti的标准API,传递的参数也没问题。
//两个参数,其中taskId这个肯定没问题。
//而receiveUserId是咱们系统pf_user表的Id,而不是act_id_user表里的Id。
//Activiti框架不了解我们自定义用户模块,它的API只能处理它的用户表里的Id。
//因此,虽然调用的API方法没问题,传递userId也是有效值,但这个有效值并不是Activiti框架期望的值(存在act_id_user表里的Id)
//集中可能的解决方案:
//1 把我们的用户模块整合到Activiti框架中相关的act_id_xxx表中;
//2不调用Activiti框架上述的两个API方法,我们想法搞一套。
//3 重新启动一个新工作流,估计用户不会买账。
//哪个方案都不简单,综合来说只有1是一套循规蹈矩的方案。
//按照通用解决方案,很多系统直接对接,都是做集成,要想不用Activiti框架的用户模块,
//要么自己遵循Activiti的用户模块的接口自己开发一套系统,要么大企业似的用LDAP(Active Directory){没有的IT基础的,不考虑了}。
Activiti reassign task to another user的更多相关文章
- activiti任务TASK
一.概要 设计TASK的表主要是:ACT_RU_TASK,ACT_HI_TASKINST(见参考-activiti表): 任务主要有:人工任务(usertask),服务任务(servicetask)等 ...
- 流程开发Activiti 与SpringMVC整合实例
流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...
- Activiti工作流学习(三)Activiti工作流与spring集成
一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用sprin ...
- activiti当前任务高亮(解决乱码问题)
package com.xinwei; import java.io.File; import java.io.InputStream; import java.util.ArrayList; imp ...
- Liferay7 BPM门户开发之47: 集成Activiti待办已办任务清单和流程启动
首先增加两个Portlet,分别用于待办处理.流程启动.待办是别人发起的流程,流到自己这里的流程:流程启动用于发起新的流程. 程序文件放置于 在ACtivit中待办概念分两种,1是指派给你的,专门的指 ...
- Activiti之 Exclusive Gateway
一.Exclusive Gateway Exclusive Gateway(也称为XOR网关或更多技术基于数据的排他网关)经常用做决定流程的流转方向.当流程到达该网关的时候,所有的流出序列流到按照已定 ...
- activiti入门
一.Activiti简介 Activiti 是一个针对商务人士. 开发人员和系统管理员的轻量级的工作流和业务流程管理 (BPM) 平台.它的核心是Java的高速和可靠的 BPMN 2 流程引擎.它是开 ...
- 创建Activiti项目
1.创建项目 2.导入Activiti的jar包 项目上右击创建lib文件夹 将jar包复制进lib文件夹 3.导入数据库连接jar包 4.使用代码创建Activiti用来存放流程数据的23张表 pa ...
- activiti基础操作
package activitiTest; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInp ...
随机推荐
- linux永久配置ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0 i修改 DEVICE=eth() BOOTPROTO=static ONBOOT=yes IPADDR=192 ...
- 2、JUC--CAS算法
CAS (Compare-And-Swap) 是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问. CAS 是一种无锁的非阻塞算法的实现. C ...
- adb报错问题解决方法
1,报错信息:adb server version (31) doesn't match this client (40); killing 解决方法: 一: 主要是前面的31或者其他,比如32/31 ...
- Maven快照机制(SNAPSHOT)
文章转自 http://www.cnblogs.com/EasonJim/p/6852840.html 以下引用自https://ayayui.gitbooks.io/tutorialspoint-m ...
- JVM实践
package com.lsw.classloader; import java.io.FileInputStream;import java.lang.reflect.Field;import ja ...
- ThreadLocal可能引起的内存泄露
threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好 ...
- AIS系统(转)
船舶自动识别系统(Automatic Identification System, 简称AIS系统)由岸基(基站)设施和船载设备共同组成,是一种新型的集网络技术.现代通讯技术.计算机技术.电子信息显示 ...
- ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法
ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法 第一种情况,本地开发时,使用本地数据库,如下面的代码 <connectionStrings& ...
- Linux下修改/设置环境变量JAVA_HOME
export设置只对当前的bash登录session有效.这是存在内存里面的.你可以写入文件一般的文件.之后source它.或者放到/etc/profile 等等的位置里,不同的地方效果不同. 1. ...
- 51Nod 1677 treecnt
一道比较基础的计数题,还是一个常用的单独计算贡献的例子. 首先看题目和范围,暴力枚举肯定是不可行的,而且\(O(n\ logn)\)的算法貌似很难写. 那我们就来想\(O(n)\)的吧,我们单独考虑每 ...