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>");
}
%>