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. 实现效果

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

  • 相关阅读:
    pat00-自测5. Shuffling Machine (20)
    Spiral Matrix
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Best Time to Buy and Sell Stock II
    4Sum
    3Sum Closest
    3Sum
    MySQL存储过程、函数和游标
    Word Ladder
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286594.html
Copyright © 2011-2022 走看看