• Activiti流程引擎与业务整合方案


    0. 前言

    前些时间,基于流程引擎activiti做了一个审批功能,但是扩展性并不是很好,对于新的流程的开发量还是比较大。于是需要进行升级改造,增强其通用性。

    1. 场景

    对于不同的业务类型,需要接入统一的审批流程进行审批。需要满足以下要求:

    • 不同业务类型需传入不同流程变量,以便于配置流转条件;
    • 流程配置界接入自有业务系统,支持审批人的选择
    • 审批人类型包括但不限于用户、角色
    • 流转条件配置需要简化,提高用户体验。
    • 流程配置界面支持多语言

    2. 思路及方案设计

    • 需求:不同业务类型需传入不同流程变量,以便于配置流转条件
      方案:提供统一接口发起流程,入参传入流程变量

    • 需求:流程配置界接入业务系统,支持审批人的选择
      方案:改造activiti默认配置界面

      主要修改文件为:
      properties-assignment-controller.js
      assignment-popup.html

    • 需求:审批人类型包括但不限于用户、角色
      方案:统一作为候选人处理,以不同前缀区分,例如对于用户:user.10001,对于角色:role.10001等

      主要修改文件为:
      properties-assignment-controller.js
      assignment-popup.html

    • 需求:流转条件配置需要简化,提高用户体验
      方案:引入query builder组件,可视化配置条件,并将条件sql转化为流程引擎支持的UEL表达式。

      需要全局引入querybuilder库。需要修改的文件为
      condition-expression-popup.html
      properties-condition-expression-controller.js

      Go to : QueryBuilder文档

    • 需求:流程配置界面支持多语言
      方案:改造activiti前端和后端语言配置部分代码,实现多语言切换。

      需要修改地方有:
      (1) 后端修改:获取左侧图标栏配置的json文件,中文时取得中文json,英文时取得英文json
      在这里插入图片描述
      (2) 前端修改:需要在i18n文件夹下新增语言配置文件;然后修改app.js里的语言配置:
      $translateProvider.preferredLanguage(‘your language’);

    3. 实现效果

    审核人选择页面:
    在这里插入图片描述
    流转条件配置页面:
    在这里插入图片描述

  • 相关阅读:
    Linux性能调优
    Linux动态库搜索路径的技巧
    [转]Linux动态库的种种要点
    [转]谈谈Linux下动态库查找路径的问题
    性能测试的几种业务模型设计
    性能测试解惑之并发压力
    一个系统的最大并发用户数为1100,怎么能推算出该系统的支持最大用户数
    IP欺骗
    关于Cocos2d-x随机数的生成
    关于Cocos2d-x节点和精灵节点的坐标、位置以及大小的设置
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286594.html
Copyright © 2020-2023  润新知