一、工作流的初步认识
1.工作流就是将开发中由代码控制的业务流程状态抽取出来然后进行统一控制的机制!
2.比如有这样一个小场景:
我们开发了一个小软件,该软件想要上线给所有人用,然后需经纪人审批、老总审批、大boss审批等。该小软件其审核流程状态有:暂存,待审核,通过或拒绝。
当我们在实现这几个状态的改变时,可以通过java编码实现,但如果这时业务需求发生了改变,只需要老总审核,这时我们就得去更改代码了,如果业务再复杂一点,一旦更改流程,代码就需要大改了。
而这时就可以使用工作流,来处理业务复杂且需求经常性变更的流程。
3.该小场景的呈现效果流程:
开发一个小软件,其状态是暂存;
然后提交审核(状态变成待审核),会自动到第一道审批中,则经纪人登录就可看到这条申请,然后给同意;
接着会自动到第二道审批,如果给拒绝,则状态变成拒绝流程结束,否则到第三道,如果大Boss也同意,则最后状态自动变成通过。(哈哈,描述的有点乱,反正大概这个意思)
二、创建流程模型
第一次创建模型:http://localhost:8080/flow/model/create?name=xxname1&key=xxkey1&description=desc
该接口会保存模型数据到ac_re_*三张表,并跳转到http://localhost:8080/flow/model.html?modelId=1模型页面,之后查看或修改该模型,直接加载模型即可(modelId是模型的唯一标识)
设置流程的属性:
1.流程发起人的流程变量
在开始节点的属性中设置流程发起人的变量applicantId,然后可以在某个任务的属性中,设置参与者为${applicantId},
这样可以实现:谁发起谁执行
2.设置流程参与者 (重要)
可以给每道审批动态设置参与者,
根据业务功能指定每道审批哪些人可以看到和执行。
2.1在流程节点中,设置任务分配
这里第一道审批指定职务是agentJob;第二道misterJob;第三道bossJob
2.2 在流程节点中,设置表单属性