//早先胡乱尝试的其他方法,可能对于以后深入学习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的更多相关文章

  1. activiti任务TASK

    一.概要 设计TASK的表主要是:ACT_RU_TASK,ACT_HI_TASKINST(见参考-activiti表): 任务主要有:人工任务(usertask),服务任务(servicetask)等 ...

  2. 流程开发Activiti 与SpringMVC整合实例

    流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...

  3. Activiti工作流学习(三)Activiti工作流与spring集成

    一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用sprin ...

  4. activiti当前任务高亮(解决乱码问题)

    package com.xinwei; import java.io.File; import java.io.InputStream; import java.util.ArrayList; imp ...

  5. Liferay7 BPM门户开发之47: 集成Activiti待办已办任务清单和流程启动

    首先增加两个Portlet,分别用于待办处理.流程启动.待办是别人发起的流程,流到自己这里的流程:流程启动用于发起新的流程. 程序文件放置于 在ACtivit中待办概念分两种,1是指派给你的,专门的指 ...

  6. Activiti之 Exclusive Gateway

    一.Exclusive Gateway Exclusive Gateway(也称为XOR网关或更多技术基于数据的排他网关)经常用做决定流程的流转方向.当流程到达该网关的时候,所有的流出序列流到按照已定 ...

  7. activiti入门

    一.Activiti简介 Activiti 是一个针对商务人士. 开发人员和系统管理员的轻量级的工作流和业务流程管理 (BPM) 平台.它的核心是Java的高速和可靠的 BPMN 2 流程引擎.它是开 ...

  8. 创建Activiti项目

    1.创建项目 2.导入Activiti的jar包 项目上右击创建lib文件夹 将jar包复制进lib文件夹 3.导入数据库连接jar包 4.使用代码创建Activiti用来存放流程数据的23张表 pa ...

  9. activiti基础操作

    package activitiTest; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInp ...

随机推荐

  1. hashCode相关性能优化

    学习下hashMap中用到的关于hashCode性能优化技巧.作为笔记.为之后并发深入作基础. 1.关于提高性能的hash算法 在被模的位数为2的n次方时,用位与取代效率低下的模运算.位与效率相比模运 ...

  2. MyCat不适用场景(使用时避免)

    1.非分片字段查询 Mycat中的路由结果是通过分片字段和分片方法来确定的.例如下图中的一个Mycat分库方案: ·        根据 tt_waybill 表的 id 字段来进行分片 ·      ...

  3. 第一行代码 -3-1 软件也要拼脸蛋-UI界面

    <ListView android:id="@+id/list_view" android:layout_width="match_parent" and ...

  4. WebService(基于AXIS的WebService编程)

    一.服务端代码 1.创建Maven工程 注意pom.xml文件的配置,需要引入axis的相关包 <project xmlns="http://maven.apache.org/POM/ ...

  5. webpack4对第三方库css,项目全局css和vue内联css文件提取到单独的文件(二十二)

    在讲解提取css之前,我们先看下项目的架构如下结构: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有 ...

  6. ARM汇编语言基础

    ARM 与 Thumb 寄存器对应关系 PC寄存器: ARM状态为R15,Thumb状态为PC LR寄存器: ARM状态为R14,Thumb状态为LR SP寄存器: ARM状态为R13,Thumb状态 ...

  7. python关联eureka实现高并发

    弥补网上python关联微服务空白,结合多个pythonweb框架实践,找到一个可行的方案python加入到eureka,实现java和python的完美结合 # coding:utf- import ...

  8. 软概(lesson 2):课堂测试

    一.测试题目 二.完成过程 1.设计思想 ①连接mysql数据库 ②设计user类,增加参数 ③设计add类,向数据库内增加内容 ④设计addInput页面,完成录入操作 ⑤设计add页面,接收录入的 ...

  9. CF908D New Year and Arbitrary Arrangement 期望、DP

    题目传送门 题意:给出正整数$pa,pb,k$,最开始你有一个空串,每一次你有$\frac{pa}{pa + pb}$的概率向串最后放一个$a$,有$\frac{pb}{pa + pb}$的概率向串最 ...

  10. xhtml和html的区别 html5和xhtml的区别

    xhtml和html的区别 - 分为两大类比较:一个是功能上的差别,另外是书写习惯的差别.关于功能上的差别,主要是XHTML可兼容各大浏览器.手机以及PDA,并且浏览器也能快速正确地编译网页,- XH ...