示例#1
0
  public void complateTask(Long processInstanceId) {
    System.out.println("---------------testComplateTask()--------------------");
    System.out.println("processInstanceId:" + processInstanceId);
    JbpmContext jbpmContext = null;
    try {
      jbpmContext = ProcessContainer.getContainer().createJbpmContext();
      if (processInstanceId != null) {
        DataField datafield = new DataField();
        datafield.setName("isAgree");
        datafield.setValue("true");
        List<DataField> dataFields = new java.util.concurrent.CopyOnWriteArrayList<DataField>();
        dataFields.add(datafield);
        ProcessContext ctx = new ProcessContext();
        // ctx.setRowId(Integer.valueOf(rowId));//审核表的记录ID,类型要匹配
        ctx.setActorId("joe"); // 参与者,登录用户帐户
        ctx.setProcessInstanceId(processInstanceId); // 流程实例编号
        ctx.setOpinion("OK");

        ctx.setDataFields(dataFields); // 控制参数

        boolean isOK = ProcessContainer.getContainer().completeTask(ctx);
        System.out.println("joe audit isOK=" + isOK);

        ctx.setActorId("jack"); // 参与者,登录用户帐户
        ctx.setOpinion("通过");
        isOK = ProcessContainer.getContainer().completeTask(ctx);
        System.out.println("jack audit isOK=" + isOK);

        ctx.setActorId("rick"); // 参与者,登录用户帐户
        ctx.setOpinion("同意");

        isOK = ProcessContainer.getContainer().completeTask(ctx);
        System.out.println("rick audit isOK=" + isOK);
      }
    } catch (Exception ex) {
      if (jbpmContext != null) {
        jbpmContext.setRollbackOnly();
      }
      ex.printStackTrace();
      throw new JbpmException(ex);
    } finally {
      Context.close(jbpmContext);
    }
  }