web工作流管理系统开发之八 开源osworkflow之任务管理

前言:

osworkflow的任务管理很简单,没有专门的任务表,也没有待办,已办,发出,处理任务等等。
只有很简单的查询用户可处理的动作和已经处理过的历史步骤。(注意这里只是可处理的动作和已经处理过的历史步骤,都不是任务)

 

这显然距任务管理差很多很多

 

 

改造方案:
      增加任务表,记录任务的相关属性,可执行人,任务处理人,任务发出时间,完成时间等。


      流程定义模版文件中增加任务节点,定义任务的名称,从流程上下文中获取任务的内容和相关属性,定义任务的可执行人。

      将产生任务记录和处理关闭任务的过程嵌入到工作流引擎的动作执行函数中。


      当流程到达步骤后,根据流程定义模版文件中定义的任务节点,产生任务记录;
      当动作执行时,检查任务是否可以执行完成,关闭任务。

 

      因为单独出一张任务表,所以可以增加对任务的管理,查询得出待办任务列表,已办任务列表,做代理待办,催办,逾期未办等等的处理。

 

      可以做到的任务管理:任务发起,待办,已办,催办,督办,收回等等。

 

任务表结构:


web工作流管理系统开发之八 开源osworkflow之任务管理_第1张图片
 


流程定义节点:
例如:
     <tasks>
        <task name="审核员工:${oCaller.name} 的请假申请" classname="cn.com.fcsoft.workflow.util.MakeTask">
          <arg name="taskDesc">内容:${remark}</arg>
          <arg name="rolename">部门经理</arg>
          <arg name="stepId">5110</arg>
          <arg name="role">ROL_0000003</arg>
        </task>
      </tasks>


 

 

增加生成任务的类MakeTask:

 

 
web工作流管理系统开发之八 开源osworkflow之任务管理_第2张图片

 

增加descriptor中的任务定义类,并在相应的检查校验中增加对任务节点的校验:

web工作流管理系统开发之八 开源osworkflow之任务管理_第3张图片
 

     

 

 


总结:

 

      通过增加任务,将任务的生成与处理嵌入到流程引擎中,任务的产生与完成跟流程的运行密切相关,在流程运行时会生成相应的任务,实例递进时完成相应的任务。同时任务记录单独抽出生成一张表,又可以很容易的做待办,已办,催办等等和任务相关的管理。
      原来osworkflow是从流程引擎的核心表中去查太麻烦了,也很不灵活,功能太过简单,也不利于扩展。

 

 

 

 

相关链接

web工作流管理系统开发之一 工作流概念

web工作流管理系统开发之二 工作流引擎
web工作流管理系统开发之三 可视化流程设计器
web工作流管理系统开发之四 集成工作流与自定义表单
web工作流管理系统开发之五 开源osworkflow之用户系统改造

web工作流管理系统开发之六 表单权限与流程的权限控制

web工作流管理系统开发之七 最新修改的版本下载 

web工作流管理系统开发之八 开源osworkflow之任务管理 

 

 

你可能感兴趣的:(工作,Web,workflow)