最初做工作流的时候,用一个状态位去标示 现在的状态,比如 1 ,2,3,4
然后状态是1的时候处理了就变成状态是2
如果有一些回退或者其他的状态改变,那么 需要动态的去判断,当前的state是什么, 如果是 2,3,4 可以退回到1.
这些工作流程状态 其实跟我们的业务逻辑没多大关系, 比如请假 ,
理想状态, 请假 基础信息录入到基础信息表, 请假审批1 保存到 请假审批表 (显示基本信息),请假审批2 保存到请假审批表 (显示基本信息 和 审批1信息) ,
最终审批 显示 前面所有的信息。
我只想写个保存操作就好了,不想在把流程状态和下一步责任人 也写到我的业务逻辑里面。
这个时候工作流 引擎出现了,在各个审批过程中,你只需要 complete (activity为例) 方法就好了,不用管现在是谁审批,到什么地步了,下一步谁审批,就成功的把恶心的状态编码 和 责任人 剥离了,哪怕以后多几个人审批,或者少几个人审批,你只需要改下工作流的配置文件就OK了。。