Package com.founder.fix.fixflow.core.impl.command

Examples of com.founder.fix.fixflow.core.impl.command.ExpandTaskCommand


  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testProcessInstanceQueryExpandQuery(){
   
    for(int i = 0;i<2;i++){
      //创建一个通用命令
      ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
      //设置流程名
      expandTaskCommand.setProcessDefinitionKey("TaskServiceNewTest");
      //设置流程的业务关联键
      expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
      //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
      expandTaskCommand.setCommandType("startandsubmit");
      //设置提交人
      expandTaskCommand.setInitiator("1200119390");
      //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
      expandTaskCommand.setUserCommandId("HandleCommand_2");
      //执行这个启动并提交的命令,返回启动的流程实例
      ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
      String processInstanceId = processInstance.getId();
      //验证是否成功启动
      assertNotNull(processInstanceId);
    }
   
    TaskQuery taskQuery = taskService.createTaskQuery();
    // 查找 1200119390 的这个流程实例的当前独占任务
    TaskInstance taskInstance = taskQuery.taskAssignee("1200119390").processDefinitionKey("TaskServiceNewTest").taskNotEnd().list().get(0);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandSuspendProcessInstance=new ExpandTaskCommand();
    //设置命令为暂停实例
    expandTaskCommandSuspendProcessInstance.setCommandType("general");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandSuspendProcessInstance.setUserCommandId("HandleCommand_2");
    //设置命令的处理任务号
    expandTaskCommandSuspendProcessInstance.setTaskId(taskInstance.getId());
    //执行这个暂停实例的命令
    taskService.expandTaskComplete(expandTaskCommandSuspendProcessInstance, null);
    //创建流程实例查询
    ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery();
    //获取TaskServiceNewTest的流程实例
View Full Code Here


   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/runtime/ProcessVariablesTest.bpmn"})
  public void testProcessInstanceVariableData(){
    for(int i = 0;i<5;i++){
      //创建一个通用命令
      ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
      //设置流程名
      expandTaskCommand.setProcessDefinitionKey("ProcessVariablesTest");
      //设置流程的业务关联键
      expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
      //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
      expandTaskCommand.setCommandType("startandsubmit");
      //设置提交人
      expandTaskCommand.setInitiator("1200119390");
      //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
      expandTaskCommand.setUserCommandId("HandleCommand_2");
      Map<String,Object> variableMap = new HashMap<String,Object>();
      if(i<3){
        variableMap.put("queryVariable", "查询变量1");
      }else{
        variableMap.put("queryVariable", "查询变量2");
View Full Code Here

   * 测试转办和还回操作,转办和还回操作需成对出现,转办后,任务会到选择的人待办中,并且只有还回按钮使流程回到转办人
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testPendingAndResolved(){
    //创建一个通用命令
    ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
    //设置流程名
    expandTaskCommand.setProcessDefinitionKey("TaskServiceNewTest");
    //设置流程的业务关联键
    expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
    //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
    expandTaskCommand.setCommandType("startandsubmit");
    //设置提交人
    expandTaskCommand.setInitiator("1200119390");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //执行这个启动并提交的命令,返回启动的流程实例
    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 的这个流程实例的当前独占任务
View Full Code Here

   * 测试追回操作  追回按钮需要配置在可以被追回的节点上,表达式中配置可以有追回操作的的节点编号,不配置则前面所有节点均可追回
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testRecover(){
    //创建一个通用命令
    ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
    //设置流程名
    expandTaskCommand.setProcessDefinitionKey("TaskServiceNewTest");
    //设置流程的业务关联键
    expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
    //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
    expandTaskCommand.setCommandType("startandsubmit");
    //设置提交人
    expandTaskCommand.setInitiator("1200119390");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //执行这个启动并提交的命令,返回启动的流程实例
    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();
    // 查找当前流程实例的当前处理任务
View Full Code Here

   * 测试暂停和恢复流程实例
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testSuspendProcessInstance(){
    //创建一个通用命令
    ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
    //设置流程名
    expandTaskCommand.setProcessDefinitionKey("TaskServiceNewTest");
    //设置流程的业务关联键
    expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
    //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
    expandTaskCommand.setCommandType("startandsubmit");
    //设置提交人
    expandTaskCommand.setInitiator("1200119390");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //执行这个启动并提交的命令,返回启动的流程实例
    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,与节点上处理命令设置一致
    expandTaskCommandSuspendProcessInstance.setUserCommandId("HandleCommand_14");
    //设置命令的处理任务号
    expandTaskCommandSuspendProcessInstance.setTaskId(taskInstance.getId());
    //执行这个暂停实例的命令
    taskService.expandTaskComplete(expandTaskCommandSuspendProcessInstance, null);
    //根据实例号得到流程实例
    processInstance = runtimeService.getProcessInstance(processInstanceId);
   
    //验证实例处理暂停状态
    assertEquals(processInstance.isSuspended(),true);
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandContinueProcessInstance=new ExpandTaskCommand();
    //设置命令为恢复实例
    expandTaskCommandContinueProcessInstance.setCommandType("continueProcessInstance");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandContinueProcessInstance.setUserCommandId("HandleCommand_15");
    //设置命令的处理任务号
    expandTaskCommandContinueProcessInstance.setTaskId(taskInstance.getId());
    //执行这个恢复实例的命令
    taskService.expandTaskComplete(expandTaskCommandContinueProcessInstance, null);
    //根据实例号得到流程实例
    processInstance = runtimeService.getProcessInstance(processInstanceId);
   
View Full Code Here

   * 测试暂停和恢复流程实例
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceTest.bpmn"})
  public void testTermination(){
    //创建一个通用命令
    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时走独占任务,否则都共享任务
    mapVariables.put("amount", 280);
    expandTaskCommand.setTransientVariables(mapVariables);
    //执行这个启动并提交的命令,返回启动的流程实例
    ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    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(终止)
View Full Code Here

   * 测试接收任务和释放任务的taskService中的现有方法,不 以命令的形式,TaskServiceCandidateTest流程中的任务分配类型为共享模式
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceCandidateTest.bpmn"})
  public void testClaimMethod(){
    //创建一个通用命令
    ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
    //设置流程名
    expandTaskCommand.setProcessDefinitionKey("TaskServiceCandidateTest");
    //设置流程的业务关联键
    expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
    //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
    expandTaskCommand.setCommandType("startandsubmit");
    //设置提交人
    expandTaskCommand.setInitiator("1200119390");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //执行这个启动并提交的命令,返回启动的流程实例
    ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
View Full Code Here

   * 测试设置代理人---该命令尚未实现
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testSetAssignee(){
    //创建一个通用命令
    ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
    //设置流程名
    expandTaskCommand.setProcessDefinitionKey("TaskServiceNewTest");
    //设置流程的业务关联键
    expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
    //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
    expandTaskCommand.setCommandType("startandsubmit");
    //设置提交人
    expandTaskCommand.setInitiator("1200119390");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //执行这个启动并提交的命令,返回启动的流程实例
    ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
View Full Code Here

   * 测试查询可退回的任务
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testGetRollBackTask(){
    //创建一个通用命令
    ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
    //设置流程名
    expandTaskCommand.setProcessDefinitionKey("TaskServiceNewTest");
    //设置流程的业务关联键
    expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
    //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
    expandTaskCommand.setCommandType("startandsubmit");
    //设置提交人
    expandTaskCommand.setInitiator("1200119390");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //执行这个启动并提交的命令,返回启动的流程实例
    ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
View Full Code Here

   * 测试查询可退回的节点
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testGetRollBackNode(){
    //创建一个通用命令
    ExpandTaskCommand expandTaskCommand = new ExpandTaskCommand();
    //设置流程名
    expandTaskCommand.setProcessDefinitionKey("TaskServiceNewTest");
    //设置流程的业务关联键
    expandTaskCommand.setBusinessKey("BK_testStartProcessInstanceByKey");
    //命令类型,可以从流程引擎配置中查询   启动并提交为startandsubmit
    expandTaskCommand.setCommandType("startandsubmit");
    //设置提交人
    expandTaskCommand.setInitiator("1200119390");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommand.setUserCommandId("HandleCommand_2");
    //执行这个启动并提交的命令,返回启动的流程实例
    ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
    String processInstanceId = processInstance.getId();
    //验证是否成功启动
    assertNotNull(processInstanceId);
View Full Code Here

TOP

Related Classes of com.founder.fix.fixflow.core.impl.command.ExpandTaskCommand

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.