工作流引擎(triggerWorkflow)
2016-11-11 18:09:18 0 举报
工作流引擎数据流程
作者其他创作
大纲/内容
工作流是否完成
结束
失败
更新业务表状态
$status=新建
流程审批
待审批节点存在?
否
状态审批
插入多行审批者角色信息到audit_role,没角色信息报系统异常
根据audit_org、audit_role、audit_dealer,通知下一节点审批者
需要跑分支
是
target如果需要行并行,并且行并行判断成功?
递归到triggerWorkflow,如果捕捉到业务异常,不处理,系统异常就抛异常
循环targets通过7个条件获取准确的target,获取失败报系统异常
target不是999或10001?
如果当前状态是拒绝,清空所有审批节点,$stateId改成1
验证(triggerWorkflow)
不等于
当前状态是1?
更新待审批节点信息,删除audit_org、audit_role、audit_dealer
报系统异常
插入审批相应节点信息
成功
调用类型:新建/触发
不是
获取工作流信息和业务表信息,获取失败报异常
清空所有审批节点,$stateId改成1
分支流程
等于
$stateId!=当前状态ID并且$stateId=1
报业务异常
$stateId空?
$status和$stateId参数必须有一个非空
当前状态是1或者target是999|10001?
下一状态通知(节点配置需要通知)
设置状态ID=1
获取分支流程业务表关联数据,循环每一行
如果跟提交者组织,插入一条audit_org;否则审批者组织多行,插入多行;没配置不需要插入
工作流引擎
$status等于当前状态
触发
初始化审批者以及提交者数据,从数据库中找出:审批者信息、组织编码、角色编码;提交者信息、组织编码、角色编码、经销商编码
获取当前待审批节点信息
路线判断
从工作流信息中获取当前节点JSON和所有可能的targets的JSONS
如果跟提交者经销商,插入一条audit_dealer
获取分支流程(通常是主流程)当前状态
0 条评论
下一页