调用实例
1 建立一个流程模板
/**
* 生成一个简单流程
*
* @return
*/
public static FlowDefine loadSimpleFlow() {
// 开始(所有人-张三)----申报人所在单位科长(王五)--法律事务处(李四)---结束
// flow
FlowDefine flowDefine = new FlowDefine();
// flowDefine.setId("1");
flowDefine.setName("合同申报流程");
flowDefine.setStatus(FlowDefine.STATUS_RUN);
flowDefine.setReturnType(FlowDefine.RETURN_TYPE_START);
flowDefine.setFlowTypeName("1000");
List list = new ArrayList();
flowDefine.setActions(list);
// 开始action
ActionDefine actionDefine_start = new ActionDefine();
actionDefine_start.setName("合同起草");
actionDefine_start.setStatus(ActionDefine.STATUS_RUN);
actionDefine_start.setActionType(ActionDefine.TYPE_START);
actionDefine_start.setFlowDefine(flowDefine);
actionDefine_start.setSortFlag(0);
actionDefine_start.setModelClazz("com.longtop.workflow.model.TestBean");
// 活动归属
ActionOwner actionOwner = new RoleOwner();
actionOwner.setName("1");//科员都可以起草
actionOwner.setActionDefine(actionDefine_start);
actionDefine_start.getOwners().add(actionOwner);
list.add(actionDefine_start);
//活动监听器
List exitListeners_start=new ArrayList();
ExitActionListenerModel alm=new ExitActionListenerModel();
alm.setClazzName("com.longtop.workflow.service.ContractSubmitListener");//当start退出时,需要执行的监听器
alm.setListenActionDefine(actionDefine_start);
alm.setSortFlag(new Integer(0));
exitListeners_start.add(alm);
actionDefine_start.setExitListeners(exitListeners_start);
// 王五action
ActionDefine actionDefine_wangwu = new ActionDefine();
actionDefine_wangwu.setName("初审");
actionDefine_wangwu.setStatus(ActionDefine.STATUS_RUN);
actionDefine_wangwu.setFlowDefine(flowDefine);
actionDefine_wangwu.setSortFlag(1);
actionDefine_wangwu.setModelClazz("com.longtop.workflow.model.TestBean");
list.add(actionDefine_wangwu);
// 活动归属
actionOwner = new UserOwner();
actionOwner.setName("maker.parentNode.children.dutyCode='01'");//申报人所在单位的科长
actionOwner.setActionDefine(actionDefine_wangwu);
actionDefine_wangwu.getOwners().add(actionOwner);
// 活动转换
ActionTrans trans = new ActionTrans();
// 设置start的转换对象
// 设置转换的源
List trans_list = new ArrayList();
trans_list.add(actionDefine_start);
trans.setActionDefines(trans_list);
// 转换的目标
TransCondition c = new TransCondition();
trans.getTransConditions().add(c);
c.getDescActions().add(actionDefine_wangwu);
c.setActionTrans(trans);
actionDefine_start.setTrans(trans);
// 李四action
ActionDefine actionDefine_lisi = new ActionDefine();
actionDefine_lisi.setName("法律处");
actionDefine_lisi.setStatus(ActionDefine.STATUS_RUN);
actionDefine_lisi.setModelClazz("com.longtop.workflow.model.TestBean");
actionDefine_lisi.setSortFlag(2);
list.add(actionDefine_lisi);
ActionOwner actionOwner_lisi = new CompanyOwner();
actionOwner_lisi.setName("2c9038ac138a93cd01138a93e6490003");
actionDefine_lisi.getOwners().add(actionOwner_lisi);
actionDefine_lisi.setFlowDefine(flowDefine);
actionOwner_lisi.setActionDefine(actionDefine_lisi);
// 活动转换
trans = new ActionTrans();
// 设置start的转换对象
actionDefine_wangwu.setTrans(trans);
// 设置转换的源
trans_list = new ArrayList();
trans_list.add(actionDefine_wangwu);
trans.setActionDefines(trans_list);
// 转换的目标
c = new TransCondition();
trans.getTransConditions().add(c);
c.setActionTrans(trans);
c.getDescActions().add(actionDefine_lisi);
// 结束action
ActionDefine actionDefine_end = new ActionDefine();
actionDefine_end.setName("结束");
actionDefine_end.setSortFlag(3);
actionDefine_end.setStatus(ActionDefine.STATUS_RUN);
actionDefine_end.setActionType(ActionDefine.TYPE_END);
actionDefine_end.setFlowDefine(flowDefine);
actionDefine_end.setModelClazz("com.longtop.workflow.model.TestBean");
list.add(actionDefine_end);
// 活动监听器
List exitListeners_end=new ArrayList();
alm=new ExitActionListenerModel();
alm.setClazzName("com.longtop.workflow.service.ContractPrintListener");
alm.setListenActionDefine(actionDefine_end);
alm.setSortFlag(new Integer(0));
exitListeners_end.add(alm);
actionDefine_start.setExitListeners(exitListeners_end);
// 活动转换
trans = new ActionTrans();
// 设置start的转换对象
actionDefine_lisi.setTrans(trans);
// 设置转换的源
trans_list = new ArrayList();
trans_list.add(actionDefine_lisi);
trans.setActionDefines(trans_list);
// 转换的目标
c = new TransCondition();
c.setActionTrans(trans);
trans.getTransConditions().add(c);
c.getDescActions().add(actionDefine_end);
return flowDefine;
}
1 建立一个流程模板
/**
* 生成一个简单流程
*
* @return
*/
public static FlowDefine loadSimpleFlow() {
// 开始(所有人-张三)----申报人所在单位科长(王五)--法律事务处(李四)---结束
// flow
FlowDefine flowDefine = new FlowDefine();
// flowDefine.setId("1");
flowDefine.setName("合同申报流程");
flowDefine.setStatus(FlowDefine.STATUS_RUN);
flowDefine.setReturnType(FlowDefine.RETURN_TYPE_START);
flowDefine.setFlowTypeName("1000");
List list = new ArrayList();
flowDefine.setActions(list);
// 开始action
ActionDefine actionDefine_start = new ActionDefine();
actionDefine_start.setName("合同起草");
actionDefine_start.setStatus(ActionDefine.STATUS_RUN);
actionDefine_start.setActionType(ActionDefine.TYPE_START);
actionDefine_start.setFlowDefine(flowDefine);
actionDefine_start.setSortFlag(0);
actionDefine_start.setModelClazz("com.longtop.workflow.model.TestBean");
// 活动归属
ActionOwner actionOwner = new RoleOwner();
actionOwner.setName("1");//科员都可以起草
actionOwner.setActionDefine(actionDefine_start);
actionDefine_start.getOwners().add(actionOwner);
list.add(actionDefine_start);
//活动监听器
List exitListeners_start=new ArrayList();
ExitActionListenerModel alm=new ExitActionListenerModel();
alm.setClazzName("com.longtop.workflow.service.ContractSubmitListener");//当start退出时,需要执行的监听器
alm.setListenActionDefine(actionDefine_start);
alm.setSortFlag(new Integer(0));
exitListeners_start.add(alm);
actionDefine_start.setExitListeners(exitListeners_start);
// 王五action
ActionDefine actionDefine_wangwu = new ActionDefine();
actionDefine_wangwu.setName("初审");
actionDefine_wangwu.setStatus(ActionDefine.STATUS_RUN);
actionDefine_wangwu.setFlowDefine(flowDefine);
actionDefine_wangwu.setSortFlag(1);
actionDefine_wangwu.setModelClazz("com.longtop.workflow.model.TestBean");
list.add(actionDefine_wangwu);
// 活动归属
actionOwner = new UserOwner();
actionOwner.setName("maker.parentNode.children.dutyCode='01'");//申报人所在单位的科长
actionOwner.setActionDefine(actionDefine_wangwu);
actionDefine_wangwu.getOwners().add(actionOwner);
// 活动转换
ActionTrans trans = new ActionTrans();
// 设置start的转换对象
// 设置转换的源
List trans_list = new ArrayList();
trans_list.add(actionDefine_start);
trans.setActionDefines(trans_list);
// 转换的目标
TransCondition c = new TransCondition();
trans.getTransConditions().add(c);
c.getDescActions().add(actionDefine_wangwu);
c.setActionTrans(trans);
actionDefine_start.setTrans(trans);
// 李四action
ActionDefine actionDefine_lisi = new ActionDefine();
actionDefine_lisi.setName("法律处");
actionDefine_lisi.setStatus(ActionDefine.STATUS_RUN);
actionDefine_lisi.setModelClazz("com.longtop.workflow.model.TestBean");
actionDefine_lisi.setSortFlag(2);
list.add(actionDefine_lisi);
ActionOwner actionOwner_lisi = new CompanyOwner();
actionOwner_lisi.setName("2c9038ac138a93cd01138a93e6490003");
actionDefine_lisi.getOwners().add(actionOwner_lisi);
actionDefine_lisi.setFlowDefine(flowDefine);
actionOwner_lisi.setActionDefine(actionDefine_lisi);
// 活动转换
trans = new ActionTrans();
// 设置start的转换对象
actionDefine_wangwu.setTrans(trans);
// 设置转换的源
trans_list = new ArrayList();
trans_list.add(actionDefine_wangwu);
trans.setActionDefines(trans_list);
// 转换的目标
c = new TransCondition();
trans.getTransConditions().add(c);
c.setActionTrans(trans);
c.getDescActions().add(actionDefine_lisi);
// 结束action
ActionDefine actionDefine_end = new ActionDefine();
actionDefine_end.setName("结束");
actionDefine_end.setSortFlag(3);
actionDefine_end.setStatus(ActionDefine.STATUS_RUN);
actionDefine_end.setActionType(ActionDefine.TYPE_END);
actionDefine_end.setFlowDefine(flowDefine);
actionDefine_end.setModelClazz("com.longtop.workflow.model.TestBean");
list.add(actionDefine_end);
// 活动监听器
List exitListeners_end=new ArrayList();
alm=new ExitActionListenerModel();
alm.setClazzName("com.longtop.workflow.service.ContractPrintListener");
alm.setListenActionDefine(actionDefine_end);
alm.setSortFlag(new Integer(0));
exitListeners_end.add(alm);
actionDefine_start.setExitListeners(exitListeners_end);
// 活动转换
trans = new ActionTrans();
// 设置start的转换对象
actionDefine_lisi.setTrans(trans);
// 设置转换的源
trans_list = new ArrayList();
trans_list.add(actionDefine_lisi);
trans.setActionDefines(trans_list);
// 转换的目标
c = new TransCondition();
c.setActionTrans(trans);
trans.getTransConditions().add(c);
c.getDescActions().add(actionDefine_end);
return flowDefine;
}