StarFlow工作流 Web Designer 实例

经过一段时间的开发StarFlow Web Designer有了一个初步成果,可以进行流程定制,后期的工作是正对以后的流程定义内容,通过StarFlow Web Designer重新打开编辑,工作已经完成了一半,期待后期的完整功能。
为了演示StarFlow Web Designer的功能,我就演示一个借款流程。
1:定制借款流程,如下图:
[img]http://dl.iteye.com/upload/attachment/213440/bc0771c0-0466-3529-bcba-630e45bbd5a5.png[/img]
2:点击上图中的流程【流程属性按钮】,设置流程属性。这里设置流程实现为1天(1440分钟)
[img]http://dl.iteye.com/upload/attachment/213442/c199cff3-cd03-335d-96d7-22cfcd575525.png[/img]
3:在环节图上点击右键,选择【属性对话框】,弹出属性窗口,这里只需要修改环节名称既可。其它属性默认。特别说一下,这里为了简单演示,所有环节的参与者都同一个,即为流程启动者。
[img]http://dl.iteye.com/upload/attachment/213444/7ea164f4-e30f-3392-ba66-bdc4c1e5576c.png[/img]
4:借款流程,一次借款超过5000,需要走总经理审批。所以需要在总经理线上设置条件。
[img]http://dl.iteye.com/upload/attachment/213446/a5d41719-7592-3481-b3d8-2717322c4f3c.png[/img]
5:由于设计器是单独的,没有和工程整合,所有需要把生成的流程定义内容拷贝一个文件中,单独使用。点击Tab页面【流程定义源码】,即可看到源码,下图显示不全
[img]http://dl.iteye.com/upload/attachment/213450/2636f7ea-35d6-3570-b8d9-97e43242d515.png[/img]

6:运行代码:

ProcessEngine processEngine = new Configuration().buildProcessEngine();
IProcessDefineService procDefService = processEngine.getProcessDefineService();
IProcessInstanceService procInstService = processEngine.getProcessInstanceService();
IWorkItemService workItemService = processEngine.getWorkItemService();

//清除测试数据
TestUtil.cleanData(processEngine.getApplicationContext());

//部署流程
procDefService.deployProcessFile("classpath:BorrowFlow.xml");

//添加filter
processEngine.addFilter(new LoggerProcessFilter());
processEngine.addFilter(new TransCtrlFilter());

//启动借款流程
ProcessInstance processInstance = procInstService.createProcess("BorrowFlow", "melin"); //启动用户ID:melin
//创建借款流程 (这里没有业务数据,虚拟保存了了业务数据)
procInstService.startProcess(processInstance.getProcessInstId());

workItemService.finishWorkItem(1, "melin");//部门助理登

//获取借款金额保存到流程环节数据区中,部门经理审核流向下一个分支,需要判断
Map<String, Object> conditions = new HashMap<String, Object>();
//借款金额为6k
conditions.put("money", Integer.valueOf(6000)); //money 与设置表达式的保持一样
ActivityRelaDataManager.setExpressConditions(conditions);
workItemService.finishWorkItem(2, "melin");//部门经理审核

workItemService.finishWorkItem(3, "melin");//总经理审核
workItemService.finishWorkItem(4, "melin");//财务部门审核
workItemService.finishWorkItem(5, "melin");//部门助理放款

processEngine.close();


7:运行日志

信息: 流程【BorrowFlow】创建成功, 流程实例ID = 1
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter processStart
信息: 流程【BorrowFlow】启动成功, 流程实例ID = 1
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart
信息: 环节【开始活动】创建成功, 环节实例ID = 1
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete
信息: 环节【开始活动】执行完成, 环节实例ID = 1
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart
信息: 环节【部门助理登记】创建成功, 环节实例ID = 2
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete
信息: 环节【部门助理登记】执行完成, 环节实例ID = 2
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart
信息: 环节【部门经理审核】创建成功, 环节实例ID = 3
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete
信息: 环节【部门经理审核】执行完成, 环节实例ID = 3
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart
信息: 环节【总经理审核】创建成功, 环节实例ID = 4
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete
信息: 环节【总经理审核】执行完成, 环节实例ID = 4
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart
信息: 环节【财务部门审核】创建成功, 环节实例ID = 5
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete
信息: 环节【财务部门审核】执行完成, 环节实例ID = 5
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart
信息: 环节【部门助理放款】创建成功, 环节实例ID = 6
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete
信息: 环节【部门助理放款】执行完成, 环节实例ID = 6
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart
信息: 环节【结束活动】创建成功, 环节实例ID = 7
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete
信息: 环节【结束活动】执行完成, 环节实例ID = 7
2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter processComplete
信息: 流程【BorrowFlow】运行完成, 流程实例ID = 1


8:运行代码上传至SVN,请大家参考:
SVN:http://star-flow.googlecode.com/svn/trunk
新地址[url]https://staritopensource.googlecode.com/svn/trunk/StarFlow[/url]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值