工作流引擎的:挂起-延迟设计与实现
说明
- 当一件工作需要暂停,或者需要延时处理时,就需要这个功能。
- 挂起,并不是终止工作,而是告诉工作的发送人,该工作需要暂缓。
- 比如:一个维修工人接到多个工单的时候,手里的工单排队,需要挂起着急的工作,这个操作要让他的队长知道。
- 延迟=挂起,挂起就是延迟。
- 挂起是对当前节点人员的待办来说的,如果他执行了挂起,这件工作就是流程挂起状态,就需要他的发送人来审核。
- 在发送人没有审核时间里,当前人员可以继续执行发送工作。
- 在发送人审核后,当前人员的待办的应完成时间 WF_GenerWorkerList.SDT 就按照挂起时间来计算.
- 如果超出了指定的应完成日期,这件工作就属于逾期工作。
启用挂起
挂起的前台操作
- 在工具栏上点挂起.
- 挂起窗口。
挂起列表 /WF/HungupList.htm
- 挂起的审核人是当前他的发送人.
- 挂起需要发送人审批,审批通过了,才能修改他的应完成时间.
- 点击同意,就说明可以按照对方指定的时间设置该处理人的待办时间,并发送消息给当前工作的处理人.
- 点击不同意,就拒绝,并且发送消息给当前节点的处理人。
被挂起人的待办列表
- 一件工作被挂起了,不影响他操作当前工作,他可以继续发送下去.
- 如果发送人没有审批也可以发送下去.
- 一件工作挂起后,就属于挂起状态.
数据库设计
- 挂起的时候,WF_GenerWorkFlow.WFState=4 .
- 数据存储在WF_GenerWorkFlow.AtPara里面.