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

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


    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);
    //获得当前任务节点
    String nodeId = taskInstance.getNodeId();
    //验证是否在第二个节点
    assertEquals(nodeId, "UserTask_2");
     
    //保存草稿操作前,验证任务为非草稿状态
    assertEquals(taskInstance.isDraft(),false);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandSaveTaskDraft=new ExpandTaskCommand();
    //设置命令为保存草稿
    expandTaskCommandSaveTaskDraft.setCommandType("saveTaskDraft");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandSaveTaskDraft.setUserCommandId("HandleCommand_7");
    //设置命令的处理任务号
    expandTaskCommandSaveTaskDraft.setTaskId(taskInstance.getId());
    //执行这个启动并提交的命令,返回启动的流程实例
    taskService.expandTaskComplete(expandTaskCommandSaveTaskDraft, null);
   
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstance = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //保存草稿操作后,验证任务为草稿状态
    assertEquals(taskInstance.isDraft(),true);
  }
View Full Code Here


    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);
   
    //暂停任务前,任务为非暂停状态
    assertEquals(taskInstance.isSuspended(),false);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandSuspendTask=new ExpandTaskCommand();
    //设置命令为暂停任务
    expandTaskCommandSuspendTask.setCommandType("suspendTask");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandSuspendTask.setUserCommandId("HandleCommand_9");
    //设置命令的处理任务号
    expandTaskCommandSuspendTask.setTaskId(taskInstance.getId());
    //执行这个暂停任务的命令
    taskService.expandTaskComplete(expandTaskCommandSuspendTask, null);
   
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstance = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //暂停任务后,验证任务为暂停状态
    assertEquals(taskInstance.isSuspended(),true);
   
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandContinueTask=new ExpandTaskCommand();
    //设置命令为恢复任务
    expandTaskCommandContinueTask.setCommandType("continueTask");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandContinueTask.setUserCommandId("HandleCommand_10");
    //设置命令的处理任务号
    expandTaskCommandContinueTask.setTaskId(taskInstance.getId());
    //执行这个恢复任务的命令
    taskService.expandTaskComplete(expandTaskCommandContinueTask, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstance = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //恢复任务操作后,验证任务为未暂停状态
    assertEquals(taskInstance.isSuspended(),false);
  }
View Full Code Here

    //拿到子流程实例
    ProcessInstance subProcessInstance = processInstanceQuery.processDefinitionKey("SubProcessTest").singleResult();
    //验证是否为设置的子流程
    assertEquals("SubProcessTest", subProcessInstance.getProcessDefinitionKey());
    //主流程的任务应该没有了,查询子流程中的任务
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(subProcessInstance.getId()).taskNotEnd().list();
    TaskInstance taskInstance = taskInstances.get(0);
    //启动子流程,并且令牌停留在UserTask_1节点
    assertEquals("UserTask_1", taskInstance.getNodeId());

    //下面是正常走SubProcess流程
    //===========================================================================
    // 创建一个启动并提交命令
    expandTaskCommand = new ExpandTaskCommand();
    // 设置流程名
    expandTaskCommand.setProcessDefinitionKey("SubProcessTest");
    // 设置流程的业务关联键
    expandTaskCommand.setBusinessKey("1234567890");
    // 命令类型,可以从流程引擎配置中查询 启动并提交为startandsubmit
    expandTaskCommand.setCommandType("submit");
    // 设置提交人
    expandTaskCommand.setInitiator("1200119390");
    // 设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //设置任务编号
    expandTaskCommand.setTaskId(taskInstance.getId());
    //设置数据变量
//        expandTaskCommand.setTransientVariables(transientVariables);

    // 执行这个启动并提交的命令,返回启动的流程实例
    processInstance = (ProcessInstance) taskService.expandTaskComplete(expandTaskCommand, null);
    // 拿到流程实例ID
    String subProcessInstanceId = subProcessInstance.getId();
    // 验证是否成功启动
    assertNotNull(subProcessInstanceId);
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(subProcessInstanceId).taskNotEnd().list();
    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(subProcessInstanceId).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(subProcessInstanceId).taskNotEnd().list();
    taskInstance = taskInstances.get(0);
    //令牌停留在UserTask_4节点
    assertEquals("UserTask_4", 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(subProcessInstanceId).taskNotEnd().list();
    //全部走完,任务为空
    assertEquals(0, taskInstances.size());
    //===========================================================================
    //这个时候子流程走完会回到主流程上来
    taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(mainProcessInstanceId).taskNotEnd().list();
    taskInstance = taskInstances.get(0);
    //令牌停留在UserTask_2节点
    assertEquals("UserTask_2", taskInstance.getNodeId());
  }
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);
    //暂停任务后,验证任务为暂停状态
    assertEquals(taskInstance.getNodeId(),"UserTask_2");
   
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandPending=new ExpandTaskCommand();
    //设置命令为转办任务
    expandTaskCommandPending.setCommandType("pending");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandPending.setUserCommandId("HandleCommand_11");
   
    Map<String,Object> paramsMap = new HashMap<String,Object>();
    //设置转办的用户号
    paramsMap.put("pendingUserId", "13223212313");
    expandTaskCommandPending.setParamMap(paramsMap);
    //设置命令的处理任务号
    expandTaskCommandPending.setTaskId(taskInstance.getId());
    //执行这个转办的命令
    taskService.expandTaskComplete(expandTaskCommandPending, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查找 13223212313 的这个流程实例的当前独占任务
    taskInstance = taskQuery.taskAssignee("13223212313").processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //转办操作后,转办接收人的待办中存在这条任务
    assertNotNull(taskInstance);
   
    //查询是否有还回命令
    List<TaskCommandInst> taskCommandInsts=taskService.GetTaskCommandByTaskInstance(taskInstance,false);
    boolean isHaveResolvedCommand = false;
    //循环查找是否有还回命令
    for(TaskCommandInst taskCommandInst:taskCommandInsts){
      if("resolved".equals(taskCommandInst.getTaskCommandType())){
        isHaveResolvedCommand = true;
        break;
      }
    }
    //验证存在还回命令
    assertEquals(isHaveResolvedCommand,true);
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandResolved=new ExpandTaskCommand();
    //设置命令为还回任务
    expandTaskCommandResolved.setCommandType("resolved");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandResolved.setUserCommandId("HandleCommand_12");
    //设置命令的处理任务号
    expandTaskCommandResolved.setTaskId(taskInstance.getId());
    //执行这个还回任务的命令
    taskService.expandTaskComplete(expandTaskCommandResolved, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstance = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //还回操作后,任务回到换来的处理人
    assertNotNull(taskInstance);
   
    //查询是否有还回命令
    taskCommandInsts=taskService.GetTaskCommandByTaskInstance(taskInstance,false);
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<TaskCommandInst> taskCommandInsts=taskService.GetTaskCommandByTaskInstance(taskInstance,true);
    boolean isHaveRecoverCommand = false;
    //循环查找是否有追回命令
    for(TaskCommandInst taskCommandInst:taskCommandInsts){
      //如果存在类型为追回的按钮则结束
      if("recover".equals(taskCommandInst.getTaskCommandType())){
        isHaveRecoverCommand = true;
        break;
      }
    }
    //验证存在追回命令
    assertEquals(isHaveRecoverCommand,true);
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandRecover=new ExpandTaskCommand();
    //设置命令为暂停实例
    expandTaskCommandRecover.setCommandType("recover");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandRecover.setUserCommandId("HandleCommand_13");
    //设置命令的处理任务号
    expandTaskCommandRecover.setTaskId(taskInstance.getId());
    //设置追回命令必须的参数recoverNodeId
    Map<String,Object> map = new HashMap<String,Object>();
    map.put("recoverNodeId", "UserTask_1");
    expandTaskCommandRecover.setParamMap(map);
    //执行这个追回的命令
    taskService.expandTaskComplete(expandTaskCommandRecover, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查找当前流程实例的当前处理任务
    taskInstance = taskQuery.processInstanceId(processInstanceId).taskNotEnd().list().get(0);
    //验证任务是否被追回到UserTask_1节点
    assertEquals("UserTask_1", taskInstance.getNodeId());
  }
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);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandSuspendProcessInstance=new ExpandTaskCommand();
    //设置命令为暂停实例
    expandTaskCommandSuspendProcessInstance.setCommandType("suspendProcessInstance");
    //设置命令按钮的iD,与节点上处理命令设置一致
View Full Code Here

    //验证是否成功启动
    assertNotNull(processInstanceId);
    //验证流程启动后实例状态为running(运行中)
    assertEquals(ProcessInstanceType.RUNNING, processInstance.getInstanceType());
    // 创建任务查询
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //验证更新时间不为空
    assertNotNull(processInstance.getUpdateTime());
    TaskInstance taskInstance = taskInstances.get(0);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandSuspendProcessInstance=new ExpandTaskCommand();
    //设置命令为暂停实例
    expandTaskCommandSuspendProcessInstance.setCommandType("terminationProcess");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandSuspendProcessInstance.setUserCommandId("HandleCommand_2");
    //设置命令的处理任务号
    expandTaskCommandSuspendProcessInstance.setTaskId(taskInstance.getId());
    //执行这个暂停实例的命令
    taskService.expandTaskComplete(expandTaskCommandSuspendProcessInstance, null);
    //根据实例号得到流程实例
    processInstance = runtimeService.getProcessInstance(processInstanceId);
    //验证实例状态为TERMINATION(终止)
    assertEquals(ProcessInstanceType.TERMINATION, processInstance.getInstanceType());
    //验证更新时间不为空
    assertNotNull(processInstance.getUpdateTime());
    //验证流程实例已经结束
    assertTrue(processInstance.hasEnded());
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //验证任务已经被结束
    assertEquals(0, taskInstances.size());
  }
View Full Code Here

    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
   
    // 创建任务查询
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //未领任务前 独占任务应该为0
    assertEquals(taskInstances.size(), 0);
    //获取1200119390的本流程实例的共享任务
    taskInstances = taskQuery.taskCandidateUser("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //验证此时的共享任务为1
    assertEquals(taskInstances.size(), 1);
   
    //获取当前任务节点
    TaskInstance taskInstance = taskInstances.get(0);
    //接收任务,userid不传的话将会去线程副本中获取
    taskService.claim(taskInstance.getId(), null);
   
    //重置任务查询 查询共享
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前共享任务
    taskInstances = taskQuery.taskCandidateUser("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //领取任务后,共享任务数为0
    assertEquals(taskInstances.size(), 0);
    //重置任务查询 查询独占
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //领取任务后,独占任务数为1
    assertEquals(taskInstances.size(), 1);
   
    //取得当前任务
    taskInstance = taskInstances.get(0);
    //取得任务所在节点
    String nodeId = taskInstance.getNodeId();
    //验证当前任务是否在第二个节点
    assertEquals(nodeId, "UserTask_4");
    //释放任务
    taskService.release(taskInstance.getId());
    //重置任务查询 查询独占
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //释放任务后,独占任务数为0
    assertEquals(taskInstances.size(), 0);
    //重置任务查询 查询共享
    taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前共享任务
    taskInstances = taskQuery.taskCandidateUser("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //释放任务后,共享任务数为1
    assertEquals(taskInstances.size(), 1);
    //取得当前任务
    taskInstance = taskInstances.get(0);
    //取得任务所在节点
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);
   
    String taskId = taskInstance.getId();
    taskService.setAssignee(taskId, "121231231");
    taskQuery = taskService.createTaskQuery();
    taskInstance = taskQuery.taskId(taskId).singleResult();
    //assertEquals("121231231", taskInstance.getAssignee());
  }
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.getRollBackTask(taskInstance.getId());
    //验证可退回任务数为1
    assertEquals(1, 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.