调用实例
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;
}
分享到:
相关推荐
web工作流设计-myflow:使用myflow.js进行设计工作流,基于web页面进行操作,里边包含删除按钮功能。
这是一个工作流的数据库设计文档,特别包括了工作流的设计,非常的重要; 包括内容有: 1、系统层数据库详细设计 2、流程数据库详细设计 对于架构师或者数据库设计师,都有非常重要的启发意义
工作流开发框架权限设计、用户组、岗位、集团模式应用. java工作流程引擎, .net 工作流引擎,工作流开发框架
多比图形控件是一款基于Web的矢量图形控件, 类似于网页上的Visio控件,是目前国内外最佳的基于web的工作...工作流设计器, jsp工作流设计器, asp.net工作流设计器,工作流设计器, jsp工作流设计器, asp.net工作流设计器
工作流设计开发参考资料中文版,收集整理出来的,希望能对大家有所帮助。内容包括:wfmc工作流标准--接口一;WfMC关于事件的白皮书 ;工作流标准和相关文档 ;工作流参考模型 ;工作流管理联盟规范(接口1);工作流...
NULL 博文链接:https://melin.iteye.com/blog/574121
用户通过工作流管理系统可以更便捷的进行业务管理,而工作流引擎是工作流管理系统的核心部分,所以有必要对工作流引擎进行设计。用户需要通过工作流系统进行任务流程的定制,包括添加、删除、修改流程,并且可以直观...
本项目基于 RuoYi-Vue-Plus 进行二次开发扩展Flowable工作流功能,支持在线表单设计和丰富的工作流程设计能力。本项目主要针对Flowable工作流场景开发,脚手架功能同步更新 RuoYi-Vue-Plus 项目。采用MIT开源协议,...
easyui版的工作流设计器源码--HTML版
springboot-flowable-cims基于工作流引擎flowable、spring boot开发的工作流服务平台,完美整合官方flowable modeler 进行流程设计、表单设计。提供flowable rest api 接口 供后台业务系统流程调用。提供前后端分离...
使用myflow.js进行设计工作流,基于web页面进行操作,里边包含删除按钮功能,非常的好用。
由于公司前段时间在打造一个开发平台,而我主要负责工作流模块,于是就接触到了`bpmn-js`。但众所周知,`bpmn-js` 文档是全英的,相关资料少,填坑的人更少,所以开发起来并没有那么好上手。于是我研究了一段时间,...
maximo工作流设计器指南
该文档是驰骋公司为了xxx银行验收而写的技术文档,包含概要设计与详细设计两个文档,是在系统开发出来以后补充写的文档。由于该系统已
3.IMS工作流设计原理 4.IMS工作流使用帮助 第一步 设置工作流运行时环境变量 第二步 使用全局属性 第三步 绘制流程图 第四步 发布流程 第五步 编写代码 第六步 配置参数 第七步 调试运行 注意事项
EDWORKFLOW工作流参照国际工作流管理联盟标准设计, 定位为业务流程管理平台,能够轻松实现中小企业级的业务管理流程。 EDWORKFLOW系统具有独立的工作流引擎、工作流程API接口和可视化的流程管理与编辑器。用户可视...
工作流就是业务流程的计算机化或自动化。许多公司采用纸张表单,手工传递的方式,一级一级审批签字,工作效率非常低下,对于统计报表功能则不能实现。...:::本资源包含了工作流所涉及的表结构设计。:::
JsonFlow工作流基于自研的流程设计器 + 自研后端Java工作流引擎,组成了一套纯JSON数据交互的自研工作流引擎系统 + 工作流管理系统。本系统无论前端还是后端,其学习成本明显低于开源工作流引擎及附带流程设计器,...
CommitFlow在线工作流设计系统是一套可见即所得的工作流设计程序,系统实现基于WEB浏览器的工作流设计和管理。系统针工作流设计应用的特点,通过图形化操作界面,让开发者用最少的时间设计或修改企业业务流程。
JWFDv0.96 开源工作流引擎设计-XMLTO数据库解析过程说明.doc JWFDv0.96 开源工作流引擎设计-XMLTO数据库解析过程说明.doc