流程事件服务
对于提交事件,调用顺序为 callbackBeforeSubmitNode、callbackBeforeSubmitSequenceFlow、 callbackAfterSubmitSequenceFlow、callbackAfterSubmitNode、callbackSubmitToNode。
| Type | Name and description |
|---|---|
ProcessScriptService |
processScriptService |
| Type | Name and description |
|---|---|
void |
callbackAfterDraft(bropen.framework.core.osm.Employee emp, Object data, ProcessInstance processInst, Map options)流程起草/启动并保存后的事件(callbackAfterDraft):仅执行一次 |
void |
callbackAfterEnd(bropen.framework.core.osm.Employee emp, Object data, ProcessInstance processInst, Integer completeType)流程结束/撤销后的事件(callbackAfterEnd) |
void |
callbackAfterSubmitNode(bropen.framework.core.osm.Employee emp, Object data, ProcessInstance processInst, Task task, Map options)流程提交后,执行提交环节上的事件 |
void |
callbackAfterSubmitSequenceFlow(bropen.framework.core.osm.Employee emp, Object data, ProcessInstance processInst, Task task, Map options)流程提交后,执行提交路径上的事件 |
void |
callbackBeforeSubmitNode(bropen.framework.core.osm.Employee emp, Object data, ProcessInstance processInst, Task task, Map options)流程提交前,执行提交环节上的前置事件,如果抛出异常,则中断提交 |
void |
callbackBeforeSubmitSequenceFlow(bropen.framework.core.osm.Employee emp, Object data, ProcessInstance processInst, Task task, Map options)流程提交前,执行提交路径上的前置事件,如果抛出异常,则中断提交 |
void |
callbackSubmitToNode(bropen.framework.core.osm.Employee emp, Object data, ProcessInstance processInst, Task task, Map options)流程提交后,执行接收环节上的进入事件 |
| Methods inherited from class | Name |
|---|---|
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
流程起草/启动并保存后的事件(callbackAfterDraft):仅执行一次
options = [taskNode: taskNode]
流程结束/撤销后的事件(callbackAfterEnd)
注1:仅执行一次
注2:如果是流程撤销或终止,则不会执行环节上的提交后事件
emp - 当前员工data - 实体BeanprocessInst - 流程实例completeType - 结束类型,如 ProcessInstance.STATE_COMPLETED 等流程提交后,执行提交环节上的事件
提交环节的事件 callbackAfter、callbackAfterGroup、callbackAfterAll:
options = [nextTasks:nextTasks, sequenceFlows:sequenceFlows, taskNode: taskNode, now:now, isTimeout:isTimeout]
流程提交后,执行提交路径上的事件
提交路径上的 callbackAfter、callbackAfterGroup、callbackAfterAll:
options = [nextTasks: (nextResult?.tasks?:null), taskNode: taskNode, sequenceFlow: sf, now: now, isTimeout: isTimeout]
流程提交前,执行提交环节上的前置事件,如果抛出异常,则中断提交
提交环节的事件 callbackBefore:
options = [targets: targets, now:now, taskNode: taskNode, isTimeout: isTimeout]
流程提交前,执行提交路径上的前置事件,如果抛出异常,则中断提交
提交路径事件 callbackBefore:
options = [targets: target, now:now, taskNode: taskNode, sequenceFlow: sf, isTimeout: isTimeout]
流程提交后,执行接收环节上的进入事件
接收环节的 callbackBeforeIn、callbackAfterIn:
options = [nextTasks: nextTasks, targets: targets, taskNode: taskNode, now: now, isTimeout: isTimeout]
注意如果相同环节收到多个待办,则事件会执行多次,不过每次的脚本参数 task 不一样;此外,待阅任务不执行事件。