webreport

博客园 首页 新随笔 联系 订阅 管理

工作流引擎只负责业务流程的抽象模型的建立,解释和运转,业务模块还是在业务模块中完成。
当一个成型的流程引擎在和业务模块集成时,需要做如下几点的集成:

1、业务模块中业务数据保存的同时,要调用流程引擎的执行流程流转的api函数,如,未初始化得到流程实例id的,就需要初始化流程,已经初始化的需要执行流程的流转。 并且业务模块的保存和流程的流转在同一个事务中。

2、业务模块中录入控件的操作权限设置,通常是只读,隐藏等。使得表单挂接在流程的各个节点上对各个控件的操作权限不一样。

3、业务关键数据需要传递到流程引擎中,使得流程上下文能读取,作用于流程。

通常需要做这三方面的集成。

为了更方便集成业务模块或表单,通常会将启动流程,执行流程的流转 等行为api再次封装成通用函数。在表单或者模块中调用,只需要传递流程名称,流程版本等参数,就能达到执行流程流转。

如果用表单工具的话,这些封装就显得更重要了。

自定义表单工具,可视化的设计录入界面。将和工作流引擎相关联的api函数,再次封装成通用函数,在表单的设计界面中就可以选择。并进一步将这些函数封装成可配置的工具条按钮,在自定义表单页面中引入。

如这样一些表单按钮功能,都是工作流引擎集成自定义表单必备的:

暂存:只提交业务数据
提交:提交业务数据并执行流程
执行:只执行流程
轨迹:查看流程实例的运行轨迹
挂起:挂起流程实例,挂起后的流程实例不能执行,需要恢复后才能执行。
终止:直接结束流程实例,终止后的流程不能再恢复运行。


其中,提交执行 两个功能,又有很多种的组合变化,主要体现在,提交和执行之后的提示信息显示上面。
1、提交和执行之后,继续下面的步骤,检查当前用户是否有权限,有权限的话,继续执行下一步,将下一步可执行的表单页面打开,等待操作者执行。
   这种情况最复杂,但是可以使得流程运行很连贯,一气呵成,有运用的场景的。如用户有整个流程所有步骤的操作权限时,就不希望每次都切换界面,从任务链接中继续下一步,而是每执行完一个步骤,就自动往下执行。打开下一步的界面。
  
2、提交和执行之后,链接到新的页面,页面显示下一步信息,操作者等等。

3、提交和执行之后,提示下一步的信息,操作者。确认后,关闭当前页面。

4、提交和执行之后,不提示也不关闭窗口。(这种运用场景可能比较少。)

 

将这么多的功能按钮的功能封装在自定义工具条的功能中,让用户去配置自己的工具条。或者自定义功能按钮时,选择这些执行函数。
如下面:

在表单中选择自定义工具条 

 

设置自定义的按钮和下拉项:

这些按钮还可以设置操作权限。

 

充分利用这些自定义工具条的功能,使得流程引擎和自定义表单集成后功能更强大,操作更灵活,适应更广泛。

  

 

 

posted on 2011-12-07 11:31  web报表  阅读(3120)  评论(0编辑  收藏  举报