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 testGeneral(){
   
    //创建一个通用命令
    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 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    // 获取一条任务
    TaskInstance taskInstance = taskInstances.get(0);
    //验证这个待办是否为空
    assertNotNull(taskInstance);
    String nodeId = taskInstance.getNodeId();
    //验证流程实例是否在第二个节点
    assertEquals(nodeId, "UserTask_2");
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandGeneral=new ExpandTaskCommand();
    //设置命令为领取任务
    expandTaskCommandGeneral.setCommandType("general");
    //设置命令的ID,需和节点上配置的按钮编号对应,会执行其中脚本
    expandTaskCommandGeneral.setUserCommandId("HandleCommand_2");
    //设置命令的处理任务号
    expandTaskCommandGeneral.setTaskId(taskInstance.getId());
    //领取任务
    taskService.expandTaskComplete(expandTaskCommandGeneral, null);
   
    //创建流程实例查询
    ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery();
View Full Code Here


   * 测试接收任务和释放任务,TaskServiceCandidateTest流程中的任务分配类型为共享模式
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceCandidateTest.bpmn"})
  public void testClaim(){
    //创建一个通用命令
    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);
   
    // 创建任务查询
    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);
    //创建通用命令
    ExpandTaskCommand expandTaskCommandClaim=new ExpandTaskCommand();
    //设置命令为领取任务
    expandTaskCommandClaim.setCommandType("claim");
    //设置命令的ID,需和节点上配置的按钮编号对应,会执行其中脚本
    expandTaskCommandClaim.setUserCommandId("HandleCommand_3");
    //设置命令的处理任务号
    expandTaskCommandClaim.setTaskId(taskInstance.getId());
    //领取任务
    taskService.expandTaskComplete(expandTaskCommandClaim, 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");
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandRelease=new ExpandTaskCommand();
    //设置命令为释放任务
    expandTaskCommandRelease.setCommandType("releaseTask");
    //设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
    expandTaskCommandRelease.setUserCommandId("HandleCommand_4");
    //设置命令的处理任务号
    expandTaskCommandRelease.setTaskId(taskInstance.getId());
    //领取任务
    taskService.expandTaskComplete(expandTaskCommandRelease, null);
   
    //重置任务查询 查询独占
    taskQuery = taskService.createTaskQuery();
View Full Code Here

   * 测试退回上一步
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testRollBackTaskPreviousStep(){
    //创建一个通用命令
    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 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //验证此时的独占任务为1
    assertEquals(taskInstances.size(), 1);
    TaskInstance taskInstance = taskInstances.get(0);
    String nodeId = taskInstance.getNodeId();
    assertEquals(nodeId, "UserTask_2");
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandRollBack=new ExpandTaskCommand();
    //设置命令为退回上一步
    expandTaskCommandRollBack.setCommandType("rollBackTaskPreviousStep");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandRollBack.setUserCommandId("HandleCommand_3");
    //设置命令的处理任务号
    expandTaskCommandRollBack.setTaskId(taskInstance.getId());
    //执行退回操作
    taskService.expandTaskComplete(expandTaskCommandRollBack, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查询此流程实例的当前任务号
View Full Code Here

   * 测试退回指定步骤
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testRollBackTaskByExpression(){
    //创建一个通用命令
    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 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //验证此时的独占任务为1
    assertEquals(taskInstances.size(), 1);
    //取得当前任务
    TaskInstance taskInstance = taskInstances.get(0);
    //取得当前任务节点
    String nodeId = taskInstance.getNodeId();
    //验证是否在第二个节点
    assertEquals(nodeId, "UserTask_2");
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandRollBack=new ExpandTaskCommand();
    //设置命令为退回制定步骤
    expandTaskCommandRollBack.setCommandType("rollBackTaskByExpression");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandRollBack.setUserCommandId("HandleCommand_4");
    //设置命令的处理任务号
    expandTaskCommandRollBack.setTaskId(taskInstance.getId());
    //执行退回操作
    taskService.expandTaskComplete(expandTaskCommandRollBack, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查询此流程实例的当前任务号
View Full Code Here

   * 测试退回-节点
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testRollBack(){
    //创建一个通用命令
    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 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //验证此时的独占任务为1
    assertEquals(taskInstances.size(), 1);
    //获得当前任务
    TaskInstance taskInstance = taskInstances.get(0);
    //获得任务节点
    String nodeId = taskInstance.getNodeId();
    //验证是否在第二个节点
    assertEquals(nodeId, "UserTask_2");
   
    //创建通用命令
    ExpandTaskCommand expandTaskCommandRollBack=new ExpandTaskCommand();
    //设置命令为退回-节点
    expandTaskCommandRollBack.setCommandType("rollBack");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandRollBack.setUserCommandId("HandleCommand_5");
    //设置命令的处理任务号
    expandTaskCommandRollBack.setTaskId(taskInstance.getId());
    //设置命令所需的额外参数 rollBackNodeId
    Map <String,Object> paraMap = new HashMap<String,Object>();
    paraMap.put("rollBackNodeId", "UserTask_1");
    //设置命令参数
    expandTaskCommandRollBack.setParamMap(paraMap);
    //执行退回操作
    taskService.expandTaskComplete(expandTaskCommandRollBack, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查询此流程实例的当前任务号
View Full Code Here

   * 测试退回-任务
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testRollBackTaskByTaskId(){
    //创建一个通用命令
    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 的这个流程实例的当前独占任务
    List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
    //验证此时的独占任务为1
    assertEquals(taskInstances.size(), 1);
    //获得当前任务
    TaskInstance taskInstance = taskInstances.get(0);
    //获得当前任务节点
    String nodeId = taskInstance.getNodeId();
    //验证是否在第二个节点
    assertEquals(nodeId, "UserTask_2");
   
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查询此流程实例的已经处理过的 UserTask_1节点的任务编号
    taskInstances = taskQuery.processInstanceId(processInstanceId).taskIsEnd().nodeId("UserTask_1").list();
    //处理过的 UserTask_1节点的任务编号
    String taskId = taskInstances.get(0).getId();
       
    //创建通用命令
    ExpandTaskCommand expandTaskCommandRollBack=new ExpandTaskCommand();
    //设置命令为退回-节点
    expandTaskCommandRollBack.setCommandType("rollBackTaskByTaskId");
    //设置命令按钮的iD,与节点上处理命令设置一致
    expandTaskCommandRollBack.setUserCommandId("HandleCommand_6");
    //设置命令的处理任务号
    expandTaskCommandRollBack.setTaskId(taskInstance.getId());
    //设置命令所需的额外参数 rollBackTaskId--需要退回的任务号
    Map <String,Object> paraMap = new HashMap<String,Object>();
    paraMap.put("rollBackTaskId", taskId);
    //设置命令参数
    expandTaskCommandRollBack.setParamMap(paraMap);
    //执行退回操作
    taskService.expandTaskComplete(expandTaskCommandRollBack, null);
    //重置任务查询
    taskQuery = taskService.createTaskQuery();
    // 查询此流程实例的当前任务号
View Full Code Here

   * 测试保存草稿 , 保存草稿后,会将当前任务存为草稿状态
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testSaveTaskDraft(){
    //创建一个通用命令
    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 的这个流程实例的当前独占任务
    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 的这个流程实例的当前独占任务
View Full Code Here

   * 测试删除实例 ---该命令尚未完善
   */
  @Deployment(resources = { "com/founder/fix/fixflow/test/engine/api/task/TaskServiceNewTest.bpmn"})
  public void testDeleteProcessInstance(){
    //创建一个通用命令
    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

  /* ****************************************    任务处理接口  begin  ************************************************************ */

 

  public void complete(String taskId, String taskComment, String taskCommandId, Map<String, Object> transientVariables) {
    ExpandTaskCommand expandTaskCommandClaim=new ExpandTaskCommand();
    expandTaskCommandClaim.setCommandType("general");
    expandTaskCommandClaim.setTaskId(taskId);
    expandTaskCommandClaim.setTaskComment(taskComment);

    expandTaskCommandClaim.setTransientVariables(transientVariables);
    this.expandTaskComplete(expandTaskCommandClaim, null);
  }
View Full Code Here

    expandTaskCommandClaim.setTransientVariables(transientVariables);
    this.expandTaskComplete(expandTaskCommandClaim, null);
  }
 
  public void claim(String taskId) {
    ExpandTaskCommand expandTaskCommandClaim=new ExpandTaskCommand();
    expandTaskCommandClaim.setCommandType("claim");
    expandTaskCommandClaim.setTaskId(taskId);
    this.expandTaskComplete(expandTaskCommandClaim, null);
  }
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.