zoukankan      html  css  js  c++  java
  • 【JBPM4】任务节点-任务分配assignment-Handler


    JPDL

    <?xml version="1.0" encoding="UTF-8"?>

    <process key="task" name="task" xmlns="http://jbpm.org/4.4/jpdl">
    <start name="start1" g="243,29,48,48">
    <transition name="提交到任务A" to="任务A" g="-63,-11"/>
    </start>
    <end name="end1" g="243,393,48,48"/>
    <task name="任务A" g="224,115,92,52">
    <assignment-handler class="com.tgb.node.task.handler.AssignTask">
    </assignment-handler>
    <transition name="提交到任务B" to="任务B" g="-77,-11"/>
    </task>
    <task name="任务B" g="220,221,92,52">
    <assignment-handler class="com.tgb.node.task.handler.AssignTaskB">
    </assignment-handler>
    <transition name="提交到任务C" to="任务C" g="-83,-14"/>
    </task>
    <task name="任务C" g="224,308,92,52">
    <transition name="通过" to="end1" g="-62,-25"/>
    </task>
    </process>


    JAVA监听类

    以AssignTask为例,实现AssignmentHandler接口,即可在JPDL里应用监听

    public class AssignTask implements AssignmentHandler {

    private static final long serialVersionUID = 1L;

    @Override
    public void assign(Assignable assignable, OpenExecution execution)
    throws Exception {
    //设置流程处理(受理)人
    assignable.setAssignee("userA");
    }

    }


    流程操作代码与前一章相同

    部署流程

    repositoryService.createDeployment().addResourceFromClasspath("com/tgb/node/task/task.jpdl.xml").deploy();
    创建流程实例

    //流程部署KEY
    ProcessInstance processInstance = executionService.startProcessInstanceByKey("task");
    print("流程实例ID",processInstance.getId());

    获取当前节点
    //流程实例ID
    String name = executionService.createProcessInstanceQuery().processInstanceId("task.290001").uniqueResult().findActiveActivityNames().toString();
    print("当前节点名词:",name);

    获得任务列表
    List<Task> tasks = taskService.findPersonalTasks("A");
    print("任务数量",tasks.size());
    print("任务名词",tasks.get(0).getActivityName());
    print("任务ID",tasks.get(0).getId());

    完成任务
    //任务ID
    taskService.completeTask("290002");

  • 相关阅读:
    shell 使用Seq算出1-100的奇数之和
    Shell脚本判断是否是闰年
    shell脚本之使用bc工具实现数值转换(浮点转二进制)
    shell脚本之函数的参数
    shell脚本之while
    大数据JAVA基础第十六天
    大数据JAVA基础第十五天
    大数据JAVA基础第十四天
    大数据JAVA基础第十三天
    大数据JAVA基础第十二天
  • 原文地址:https://www.cnblogs.com/surge/p/3577730.html
Copyright © 2011-2022 走看看