这是我第一次接触工作流,主要是做一个提交申请、一级审核、二级审核、全部审核通过则结束的简单工作流。查了网上都有好多工作流引擎,感觉有点复杂,因为项目就只用到一个工作流,不知能否自己编程实现,思路又是如何呢?
怕麻烦不用工作流也可以,无非就是数据库中定义一个表表示你的单子。然后用一个字段表示不同的状态。比如0,初始,1,初审通过,2初审不通过,3二审,等等。
然后每个步骤根据用户的操作,将状态修改为下一个状态,而这个步骤本身读取符合对应状态码的记录就可以。
如果不经常变动、任务量小的话,是可以自己实现的。主要是需要建立一套流程表,专门记录流程处理的过程数据。
另外很多内容就看实际需要了。
一、有一个窗口专门这几点:
1需要确定下游应该跳转到哪一步,选择下一流程的执行人。
2时间限制,过期提醒
3.发送消息
4.每次流程流转都需要记录该步骤,以及下一步的数据。
二、需要注意以下几点:
1走过的每一步都存一条记录。
2哪一步正在进行其他额外的操作。
3有没有可能流程跳回来重新走。
4弃审、退回操作需不需要有。
工作流引擎的作用在于,把流程和每个操作独立开来,可以单独配置流程。但是如果你没有这样的需求,用不用无所谓。