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

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


    ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
   
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    TaskInstance taskInstance = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //查询可退回的节点
    List<UserTaskBehavior> userTaskBehaviors = taskService.getRollBackNode(taskInstance.getId());
    //验证可退回节点数为1
    assertEquals(1, userTaskBehaviors.size());
    //获得可退回的节点
View Full Code Here


    ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
   
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    TaskInstance taskInstance = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //获取任务的上一步骤任务对象(非会签情况下上一步骤只有一个任务,会签情况下可能会有多个任务)
    List<TaskInstance> taskInstances = taskService.getPreviousStepTaskByTaskId(taskInstance.getId());
    //验证任务数是否为1
    assertEquals(1, taskInstances.size());
    //获得任务
View Full Code Here

   * 测试任务的各种查询,任务查询中,除了(共享,独占)和(类别)分别为or关系,其他查询之间均为and关系,taskQuery每次查询都会保存一个条件,所以需要时注意重置查询
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceTest.bpmn"})
  public void testTaskQuery(){
   
    TaskQuery taskQuery = taskService.createTaskQuery();
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processDefinitionKey("Process_TaskServiceTest").taskNotEnd().list();
    for(int i = 0;i<50;i++){
      //创建一个通用命令
      ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
      //设置流程名
      expandTaskCommand.setProcessDefinitionKey("Process_TaskServiceTest");
      //设置流程的业务关联键
      expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
      //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
      expandTaskCommand.setCommandType("startandsubmit");
      //设置提交人
      expandTaskCommand.setInitiator("1200119390");
      //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
      expandTaskCommand.setUserCommandId("HandleCommand_2");
     
     
      Map<String, Object> mapVariables = new HashMap<String, Object>();
      //设置变量,流程线条上用到,amount<300时走独占任务,否则都共享任务
      int amount = 280+i;
      mapVariables.put("amount", amount);
      expandTaskCommand.setTransientVariables(mapVariables);
      //执行这个启动并提交的命令,返回启动的流程实例
      ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
      String processInstanceId = processInstance.getId();
      //验证是否成功启动
      assertNotNull(processInstanceId);
    }
   
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstances = taskQuery.taskAssignee("1200119390").processDefinitionKey("Process_TaskServiceTest").taskNotEnd().list();
    //验证独占任务为20
    assertEquals(20, taskInstances.size());
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    //取得此流程,此用户的共享任务
    List<TaskInstance> taskInstancesCandidate = taskQuery.taskCandidateUser("1200119390").processDefinitionKey("Process_TaskServiceTest").taskNotEnd().list();
    //验证共享任务为30
    assertEquals(30, taskInstancesCandidate.size());
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    //查询 1200119390 的这个流程定义的共享和独占任务(此流程的待办事项)
    List<TaskInstance> taskAssigneeAndCandidate =  taskQuery.taskCandidateUser("1200119390").taskAssignee("1200119390").processDefinitionKey("Process_TaskServiceTest").taskNotEnd().list();
    //验证共享和独占任务的总和为50
    assertEquals(50, taskAssigneeAndCandidate.size());
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    //查询1200119390 的这个流程定义的已办任务
    List<TaskInstance> taskEnd = taskQuery.processDefinitionKey("Process_TaskServiceTest").taskAssignee("1200119390").taskIsEnd().addTaskType(TaskInstanceType.FIXFLOWTASK).list();
    //验证已办任务是否为50
    assertEquals(50, taskEnd.size());
    //取得第一条任务
    TaskInstance taskInstance = taskEnd.get(0);
    //验证任务中的流程定义名称不为空
    assertNotNull(taskInstance.getProcessDefinitionName());
    //测试分页 取1-9条
    taskEnd = taskQuery.listPage(1, 9);
    //验证取到9条任务
    assertEquals(9, taskEnd.size());
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    //获取流程定义名称等于TaskServiceTest的任务实例
    long count = taskQuery.processDefinitionName("TaskServiceTest").count();
    //验证是否为150个
    assertEquals(150, count);
   
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    //获取流程定义名称likeTaskServiceTest的人物实例
    count = taskQuery.processDefinitionNameLike("TaskServiceTest").count();
    //验证是否为150个
    assertEquals(150, count);
   
  }
View Full Code Here

    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
   
    //创建一个任务查询
    TaskQuery taskQuery = taskService.createTaskQuery();
    //查询上面启动的流程实例
    taskQuery.processInstanceId(processInstanceId);
    //查询已完成的任务,(处理过程)
    TaskInstance taskDone = taskQuery.taskNotEnd().singleResult();
    //获取流程追踪情况下的按钮
    List<TaskCommandInst> commands = taskService.GetTaskCommandByTaskInstance(taskDone, true);
    //验证按钮个数是否为1
    assertEquals(1, commands.size());
    //取得按钮对象
View Full Code Here

    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
   
    //创建一个任务查询
    TaskQuery taskQuery = taskService.createTaskQuery();
    //查询上面启动的流程实例
    taskQuery.processInstanceId(processInstanceId);
    //查询已完成的任务,(处理过程)
    List<TaskInstance> taskDone = taskQuery.taskIsEnd().list();
    //验证任务数是否为2,启动和开始是两个任务
    assertEquals(2, taskDone.size());
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    //查询未完成的任务,(当前处理)
    List<TaskInstance> taskNotEnd = taskQuery.processInstanceId(processInstanceId).taskNotEnd().list();
    //验证当前处理任务是否为1
    assertEquals(1, taskNotEnd.size());
  }
View Full Code Here

    //验证是否成功启动
    assertNotNull(processInstanceId);
   
    /*********4.获取第二个任务节点的任务【查询代办任务】***********************/
    // 创建任务查询
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    // 获取一条任务
    TaskInstance taskInstance = taskInstances.get(0);
    //验证这个待办是否为空
    assertNotNull(taskInstance);
    String nodeId = taskInstance.getNodeId();
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.