//早先胡乱尝试的其他方法,可能对于以后深入学习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. cocos2d-x3.0 Vector和Map简单使用

    Vector<Node*> vec; auto node1 = Node::create(); node1->setTag(1); vec.pushBack(node1); auto ...

  2. xiaowuga poj3735—Training little cats(特殊操作转化为矩阵操作)

    题意:有n只猫,对其进行k次操作,然后反复这样操作m次. 其中g 表示 i 猫加1, e表示 i 猫为0:s表示  i 与 j 猫互换. 解释一下样例: 3 1 6g 1g 2g 2s 1 2g 3e ...

  3. PAT A1102 Invert a Binary Tree (25 分)——静态树,层序遍历,先序遍历,后序遍历

    The following is from Max Howell @twitter: Google: 90% of our engineers use the software you wrote ( ...

  4. PAT A1147 Heaps (30 分)——完全二叉树,层序遍历,后序遍历

    In computer science, a heap is a specialized tree-based data structure that satisfies the heap prope ...

  5. JS数组的需要注意的问题

    一.在js中数组是我们经常使用的数据类型,也为我们提供了很多方法.但是有些方法需要注意使用: 1.indexOf(args):匹配一个数组中与args相等的项的索引位置,如果该数组包含这个匹配项则返回 ...

  6. QT qss 初级介绍

    这篇文章来自于QT的帮助文档,你要是看了最新版的,会发现讲解得更棒.如果你的英文不是那么好,或者说看着头疼,那还是来看此篇吧. 在此之前说一个帮助文档的特别用法,绝不仅仅是搜单词,QT的文档非常强大的 ...

  7. 《Google软件测试之道》测试开发工程师

    拖延了将近半年的草稿,断断续续的写完了.之前草草翻看完这本书,关注点主要在TE上,而关于SET的部分则只是浏览,最近后知后觉,又翻出了这本书,重新看了一遍,又有新收获. 就说说Google的SET是如 ...

  8. spring HibernateTemplate.save() 方法的自动提交问题

    如题: service1: dao1.save(obj);   //失败,应该给spring捕获,但没有,程序继续执行下去了. redisService.fun1();  //被执行 service2 ...

  9. 三、java三大特性--多态

    面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...

  10. FFmpeg在JAVA中的使用以及Process.waitFor()引发的阻塞问题

    此文已由作者叶海啸授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. FFmpeg是一个开源免费跨平台的视频和音频流方案,可以快速对音视频流进行多方面的处理,本文主要介绍FFmp ...