zoukankan      html  css  js  c++  java
  • 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. 实现效果

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

  • 相关阅读:
    Nginx 反向代理接收用户包体方式
    Nginx http反向代理流程Proxy_pass模块
    Nginx 负载均衡一致性算法
    Nginx 负载均衡哈希算法:ip_hash与hash模块
    Nginx upstream模块
    Nginx upstream变量
    Nginx 反向代理与负载均衡基本原则
    19 浏览器缓存
    6 Cookie和Session
    5 Post和Get
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286594.html
Copyright © 2011-2022 走看看