Package com.founder.fix.fixflow.core.task

Examples of com.founder.fix.fixflow.core.task.TaskQuery


      // 任务第一步提交完还需找到一个待办事宜再执行掉才算真正完成
      String processInstanceId = processInstanceQueryTo.getId();

     
      TaskQuery taskQuery = taskService.createTaskQuery()
          .processInstanceId(processInstanceId);

      //先去找独占任务没有的话就去找共享任务并完成他
      List<TaskInstance> taskQueryList = taskQuery.taskAssignee(initiator).taskNotEnd()
          .list();

      for (TaskInstance instanceQueryTo : taskQueryList) {
        //String nodeId = instanceQueryTo.getNodeId();
        //String processDefinitionId = instanceQueryTo
        //    .getProcessDefinitionId();
        //List<TaskCommandInst> commandList = taskService.getTaskCommandById(processDefinitionId, nodeId);
       
        //TaskCommandInst userCommand = commandList.get(0);
       
       
        ExpandTaskCommand expandTaskCommand=new ExpandTaskCommand();
        expandTaskCommand.setCommandType("submit");
        expandTaskCommand.setTaskComment(this.taskComment);
        expandTaskCommand.setTaskId(instanceQueryTo.getId());
        expandTaskCommand.setUserCommandId(this.userCommandId);
        expandTaskCommand.setTransientVariables(transientVariables);
        expandTaskCommand.setBusinessKey(businessKey);
        expandTaskCommand.setInitiator(initiator);

        if(this.agent!=null&&!this.agent.equals("")){
          expandTaskCommand.setAgent(this.agent);
        }
     

        taskService.expandTaskComplete(expandTaskCommand, null);
      }
     
     
     
      if (taskQueryList.size() <= 0) {
        TaskQuery taskQueryNew=taskService.createTaskQuery().processInstanceId(processInstanceId);
        List<TaskInstance> taskQueryCandidateList = taskQueryNew.taskCandidateUser(initiator).taskNotEnd().list();

        for (TaskInstance instanceQueryTo : taskQueryCandidateList) {

         
         
View Full Code Here


    // 拿到流程实例ID
    String processInstanceId = processInstance.getId();
    // 验证是否成功启动
    assertNotNull(processInstanceId);

    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    // 由于条件不满足,不能往后走,抛出异常,没有生成任务实例
    //=====================================
    //如果条件满足则产生两个任务实例,作用同包容网关
    assertEquals(2, taskInstances.size());
  }
View Full Code Here

    // 拿到流程实例ID
    String processInstanceId = processInstance.getId();
    // 验证是否成功启动
    assertNotNull(processInstanceId);

    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //当变量是123时应该结束任务了,任务数为0
    assertEquals(0, taskInstances.size());

    //下面是变量不为123时的判断
    // 验证是否成功启动
View Full Code Here

    Object variableValue = runtimeService.getProcessInstanceVariable(processInstanceId, "testEvent");
    //流程定义的启动事件中会将此变量设置为“启动” 详细请参考processEventTest.bpmn的流程定义
    assertEquals("启动", variableValue);
   
    // 创建任务查询
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    // 获取一条任务
    TaskInstance taskInstance = taskInstances.get(0);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandGeneral=new ExpandTaskCommand();
    //设置命令为领取任务
View Full Code Here

    processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    //获取流程实例编号
    processInstanceId = processInstance.getId();
   
    // 创建任务查询
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    // 获取一条任务
    TaskInstance taskInstance = taskInstances.get(0);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandGeneral=new ExpandTaskCommand();
    //设置命令为领取任务
View Full Code Here

    // 拿到流程实例ID
    String processInstanceId = processInstance.getId();
    // 验证是否成功启动
    assertNotNull(processInstanceId);

    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    TaskInstance taskInstance = taskInstances.get(0);
    //启动子流程,并且令牌停留在UserTask_2节点
    assertEquals("UserTask_2", taskInstance.getNodeId());

    //创建一个处理命令
    expandTaskCommand = new ExpandTaskCommand();
    // 设置流程名
    expandTaskCommand.setProcessDefinitionKey("SubProcessTest");
    // 设置流程的业务关联键
    expandTaskCommand.setBusinessKey("1234567890");
    // 命令类型,通用按钮
    expandTaskCommand.setCommandType("general");
    // 设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //设置任务ID
    expandTaskCommand.setTaskId(taskInstance.getId());
    //执行处理命令
    taskService.expandTaskComplete(expandTaskCommand, null);
   
    taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    taskInstance = taskInstances.get(0);
    //令牌停留在UserTask_3节点
    assertEquals("UserTask_3", taskInstance.getNodeId());
   
    //创建一个处理命令
    expandTaskCommand = new ExpandTaskCommand();
    // 设置流程名
    expandTaskCommand.setProcessDefinitionKey("SubProcessTest");
    // 设置流程的业务关联键
    expandTaskCommand.setBusinessKey("1234567890");
    // 命令类型,通用按钮
    expandTaskCommand.setCommandType("general");
    // 设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //设置任务ID
    expandTaskCommand.setTaskId(taskInstance.getId());
    //执行处理命令
    taskService.expandTaskComplete(expandTaskCommand, null);
   
    taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    taskInstance = taskInstances.get(0);
    //令牌停留在UserTask_4节点
    assertEquals("UserTask_4", taskInstance.getNodeId());
  }
View Full Code Here

    // 拿到流程实例ID
    String processInstanceId = processInstance.getId();
    // 验证是否成功启动
    assertNotNull(processInstanceId);

    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    // 由于是包容网关,设定的金额为1500,同时满足后面两个线条,会发散成两个任务,任务实例应该有2个
    assertEquals(2, taskInstances.size());

    //定义测试通过标志
    boolean result = false;
    String tmp = "";
    // 循环2个任务
    for (int i = 0; i < taskInstances.size(); i++) {
      // 创建一个同意命令
      expandTaskCommand = new ExpandTaskCommand();
      // 设置流程名
      expandTaskCommand.setProcessDefinitionKey("InclusiveGatewayTest");
      // 设置流程的业务关联键
      expandTaskCommand.setBusinessKey("1234567890");
      // 命令类型,可以从流程引擎配置中查询 启动并提交为通用
      expandTaskCommand.setCommandType("general");
      // 设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
      expandTaskCommand.setUserCommandId("HandleCommand_2");
      // 设置任务ID
      expandTaskCommand.setTaskId(taskInstances.get(i).getId());
      // 执行处理命令
      taskService.expandTaskComplete(expandTaskCommand, null);
      String nodeId = taskInstances.get(i).getNodeId();
      //主要验证两个任务一个为UserTask_2,另一个为UserTask_3且顺序不定
      //如果已经存在UserTask_2,则此节点应该为UserTask_3
      if("UserTask_2".equals(tmp)){
        if("UserTask_3".equals(nodeId)){
          result = true;
        }
      }else if("UserTask_3".equals(tmp)){
        //如果已经存在UserTask_3,则此节点应该为UserTask_2
        if("UserTask_2".equals(nodeId)){
          result = true;
        }
      }else{
        //如果tmp为空则表示i==0,给tmp赋值
        tmp = nodeId;
      }
    }

    // 走完两个任务,任务停留在UserTask_5上
    assertEquals("UserTask_5", taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0).getNodeId());
  }
View Full Code Here

    //拿到流程实例ID
    String processInstanceId = processInstance.getId();
    // 验证是否成功启动
    assertNotNull(processInstanceId);
   
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //由于是排他网关,只会走后面线条中的一条,所以任务实例应该只有1个
    assertEquals(1, taskInstances.size());
    //根据设置的金额来判断走哪条路线,上面设置的是700,应该走到UserTask_3节点
    assertEquals("UserTask_3", taskInstances.get(0).getNodeId());
View Full Code Here

    // 拿到流程实例ID
    String processInstanceId = processInstance.getId();
    // 验证是否成功启动
    assertNotNull(processInstanceId);

    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    // 由于是并行网关,会发散成两个任务,任务实例应该有2个
    assertEquals(2, taskInstances.size());

    // 循环2个任务
    for (int i = 0; i < taskInstances.size(); i++) {
      // 创建一个同意命令
      expandTaskCommand = new ExpandTaskCommand();
      // 设置流程名
      expandTaskCommand.setProcessDefinitionKey("ParallelGatewayTest");
      // 设置流程的业务关联键
      expandTaskCommand.setBusinessKey("1234567890");
      // 命令类型,可以从流程引擎配置中查询 启动并提交为通用
      expandTaskCommand.setCommandType("general");
      // 设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
      expandTaskCommand.setUserCommandId("HandleCommand_2");
      // 设置任务ID
      expandTaskCommand.setTaskId(taskInstances.get(i).getId());
      // 执行处理命令
      taskService.expandTaskComplete(expandTaskCommand, null);

      if (i == 0) {
        // 第一个任务停靠在UserTask_2上
//        assertEquals("UserTask_2", taskInstances.get(i).getNodeId());
        // 第一个任务执行完,应该只剩下一个任务实例了
        assertEquals(1, taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().size());
      }
      if (i == 1) {
        // 第二个任务停靠在UserTask_3上
//        assertEquals("UserTask_3", taskInstances.get(i).getNodeId());
        // 第二个任务执行完,会走合并的并行网关,应该还有一个任务实例
        assertEquals(1, taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().size());
      }
    }

    // 走完吧、合并的并行网关,任务停留在UserTask_4上
    assertEquals("UserTask_4", taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0).getNodeId());
  }
View Full Code Here

    //拿到流程实例ID
    String processInstanceId = processInstance.getId();
    // 验证是否成功启动
    assertNotNull(processInstanceId);

    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();

    // 脚本任务没有停留,流程实例应该结束,任务实例应该为0
    assertEquals(0, taskInstances.size());
   
    //看打印语句是否已经打印到控制台
View Full Code Here

TOP

Related Classes of com.founder.fix.fixflow.core.task.TaskQuery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.