现在的位置: 首页 > 综合 > 正文

osworkflow中 常用的一些方法

2013年08月10日 ⁄ 综合 ⁄ 共 1609字 ⁄ 字号 评论关闭
 转自:snake_liu专栏

1、启动流程

  Workflow workflow = new BasicWorkflow(userID);//userID启动流程的用户
  DefaultConfiguration config = new DefaultConfiguration();
  workflow.setConfiguration(config);
   workflowId = workflow.initialize("myworkflow", 0, null); //myworkflow--workflow.xml中定义的流程名

2、将流程流转到指定的步骤

  Workflow workflow = new BasicWorkflow(userID);
  DefaultConfiguration config = new DefaultConfiguration();
  workflow.setConfiguration(config);
   workflow.doAction(workflowId, actionId, null);//actionID指定的action

3、查询已经完成的流程号

Query类:getCompleted() 方法:
public List getCompleted() {
              
  FieldExpression fe = new FieldExpression(FieldExpression.STATE,
   FieldExpression.ENTRY,
   FieldExpression.EQUALS,
   new Integer(WorkflowEntry.COMPLETED));
  List list = null;
  try {
   list = getPersistence().query(new WorkflowExpressionQuery(fe));
  } catch (StoreException e) {
   e.printStackTrace();
  }

  return list;
 }

页面显示:

<%
Query query = new Query();
List completed = query.getCompleted();
for(int i=0; i<completed.size(); i++) {
 Long wfId = (Long) completed.get(i);
 out.println("workflow id => " + wfId + "<br>");
}
%>

4、取得用户的代办信息:

public List getPendingJob(String userID){
   
        List list = null;
       
        WorkflowExpressionQuery weq = new WorkflowExpressionQuery(new FieldExpression(FieldExpression.OWNER,
                FieldExpression.CURRENT_STEPS,FieldExpression.EQUALS,userID));
       
        try {
   list = getPersistence().query(weq);
   System.out.println(list.size());
  } catch (StoreException e) {
   e.printStackTrace();
  }
  return list;
    }

页面显示:

<%
List pd = query.getPendingJob(request.getParameter("userID"));
for(int i=0; i<pd.size(); i++) {
 Long wfId = (Long) pd.get(i);
 out.println("workflow id => " + wfId + "<br>");
}
%>

 

抱歉!评论已关闭.