审批流平台化的思考

1,212 阅读1分钟

上一流程链接:juejin.cn/post/692580…     

       上一个审批流的设计是基于具体的业务场景设计的,那这个设计是想上上一版设计的基础之上,沉淀成审批流平台;

一、构建审批流模型

简述:

  1. 每个阶段定义取人规则;
  2. 每个阶段都可能存在多个成员审批,并且制定完成策略,如一个人提交跳转,所有人均提交,才算完成;
  3. 构建规则引擎,解析配置规则,判断跳转路径;

二、编码实现

1、前端流程参数定义

  1. 定义组件类型开始、结束、阶段容器、成员、完成策略组件、规则引擎组件;
  2. 每个组件配置化参数;
  3. 保存落库;

2、解析流程

public class processManager{
    public void handle(){
        // 获取当前组件类型
        getCurrentAssemblyType();
        // 处理 逻辑
        dealByConfig();
        // 是否是规则组件
        if (isRuleAssembly) {
            // 递归处理下一个逻辑
            handle()
        } 
    }
}