zoukankan      html  css  js  c++  java
  • jbpm 为任务自由选择办理人

    在JBPM4中,为TASK指定某个角色的用户,是十分常见的需求,本文针对这个大概讲解下思路。 
       如有填写申请--审批两个流程,分别由申请岗和审批岗两个岗位的人去执行, 可以设计流程文件如下: 
      <task  g="513,209,92,52" name="确认到帐"> 
    <assignment-handler class="AssignTask"/>  
          <transition g="-71,-17" name="to 审核" to="审核"/> 
       </task> 
       
       <task  g="533,439,92,52" name="审核"> 
    <assignment-handler class="AssignTask"/>  
          <transition g="-83,-17" name="非其他选项" to="exclusive1"/> 
       </task> 


    可以看到,这里每个TASK中,都使用了assignment-handler,这里没个task的name,设定为跟角色的名称一样,则在每个AssignTask中,可以这样写: 
     

    public class AssignTask  extends BaseBiz implements AssignmentHandler {   

        ProcessEngine processEngine=Configuration.getProcessEngine();     

        TaskService taskService=processEngine.getTaskService();     

      public void assign(Assignable arg0, OpenExecution execution) throws Exception {   

         List<String> list_user=new ArrayList();   

         String pid=execution.getProcessInstance().getId();     

         TaskImpl taskImpl = (TaskImpl)arg0;     

         ExecutionImpl executionImpl = (ExecutionImpl)execution;    

         String activityname=executionImpl.getActivityName();   

     

    //如果当前结点为确认到帐,则为其分配qr,qr1两个用户,这两个用户可以从数据库中,根据角色读取   

          if (activityname.equals("确认到帐"))   

          {   

        list_user.add("qr");   

        list_user.add("qr1");   

          }   

      

         //最后使用addCandidateUser把用户都加进去  

            for (String user : list_user) {   

            arg0.addCandidateUser(user);   

            }   



        可以看到,在实际应用中,应该把比如“确认到帐”这样的角色的用户加载进来,放到list_user中去。 
       最后要注意的是,如果遇到FORK-JOIN的话,必须用JBPM 4.4,用4.3的话,会遇到BUG的,开始还以为我的这个方法不行,其实是JBPM4.3的一个BUG,换成4.4都OK了

     

  • 相关阅读:
    关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)
    关于爬虫的制定
    关于scrapy 使用代理相关问题
    scrapy 关于特殊字符的处理
    scrapy
    关于数据去重
    零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(进阶篇)
    零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(代码篇)
    计算机编号、硬盘序列号和Mac地址查询方法
    统计学(第七版)第二章 数据的收集
  • 原文地址:https://www.cnblogs.com/javaMan/p/jackyrong.html
Copyright © 2011-2022 走看看