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

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

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

改造方案:
      增加任务表,记录任务的相关属性,可执行人,任务处理人,任务发出时间,完成时间等。
      流程定义模版文件中增加任务节点,定义任务的名称,从流程上下文中获取任务的内容和相关属性,定义任务的可执行人。

      将产生任务记录和处理关闭任务的过程嵌入到工作流引擎的动作执行函数中。
      当流程到达步骤后,根据流程定义模版文件中定义的任务节点,产生任务记录;
      当动作执行时,检查任务是否可以执行完成,关闭任务。

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

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

 

任务表结构:

 


流程定义节点:
例如:
     <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:

 

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

 


总结:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值