在工作流系统中,通常流程的流转是以任务的传递来实现的。以顺序流为例,一个节点办理完成后,到达下一个节点,产生下一个节点办理人的任务信息,任务有待办,已办,待签收,任务参与人,执行人,任务开始日期,完成时间等等。任务滞留长时间未处理,还会有催办,任务提醒等等。
工作流引擎主要是处理抽象的业务流程的流转,不是处理这些任务的基本信息,但是对这些任务的基本信息的管理确是工作流软件产品中必须处理的。任务办理完成后的结果是流程流转到下一个节点,流程实例的下一步的办理通常也是从我的待办任务列表中链接进入,对已办任务的管理,也可以查询和监控曾经的工作情况。
因此,工作流系统中,当一个任务产生后,在任务参与人的待办任务列表中,就能查看到了,点击就能办理此项任务。对于重要的任务信息,工作流软件系统还应该设置提醒,或手机短信或电子邮件等方式来通知用户及时办理任务。提醒的方式有多种,也可以是即时通讯工具的方式来提醒。
在工作流系统中,应该设计好这些接口,在任务信息定义的时候,就应该做好提醒的设置,每条任务信息可设置不一样的提醒方式。
如,A任务是一般性的任务,只发送电子邮件,就可以了。
B任务比较紧急,任务到达后,需要每天都提醒用户去处理,直到处理完成。
在任务创建的时候,需要发送提醒
在任务完成时候,需要对另外一组用户做提醒,如通知流程发起人这个节点已经处理完成了。
在任务超期未完成时,需要不断的去提醒他登录系统,处理超期的任务。或者当任务超期后,可选择性的退回到上一个节点,重新分配。
这些设置在流程设计器的任务属性中,需要有定义的界面。
有的任务提醒,可能是发送系统消息+手机短信+电子邮件 这几种都需要有。
当设置好提醒的参数后,在流程实例流转时,到达节点,产生任务,再根据这些设置的参数产生提醒,需要不间断的发送提醒,还需要启动任务提醒定时器,按设置的时间间隔,触发发送提醒。
在我们eworkflow工作流系统中,集成任务定时器的发送开启和关闭。当任务节点设置了提醒功能后,任务创建后,提醒定时器开启,当任务完成后,会关闭提醒定时器。
触发提醒Job后,可以发送系统消息,手机短信,电子邮件等。每种job对应一个后台类,在类中做相应的处理,取任务参与人的手机号,电子邮件等,再集成发送邮件短信,发送电子邮件等的功能。用户也可以实现Job接口,自己编写实现的处理类,然后在流程设计器中,将处理类挂接到任务提醒设置上,使得A任务的提醒 用A处理类;B任务的提醒用B处理类。
java的发送系统消息的job实现类: