简单实用审批流程组件 - 提供源码

    给某制药厂提供审批流程组件、遇到一些客户的实际需求如下:

    在实际使用中,特别是资金的审批,企业会根据金额的大小走不同的审批流,比如100万以内,财务总监审批就可以,大于100万需要总经理审批。
而且在审批流程的各个步骤中可能也会有根据某些条件进入某审批环节,也需要加入口条件。
1)在添加审批流程窗体中增加字段,用于输入入口条件,比如输入Cost > 1000000,表示:如果单据中的Cost字段数值大于1000000,就进入该审批流,否则不进入该审批流。其使用场景:给某个窗体配置两个审批流,再设置不同的入口条件,在送审时系统根据单据中的数据,判断进哪个审批流。
2)在流程定义步骤中也需要添加入口条件,输入某一条件后,自动流转进该步骤,否则自动跳过。

   一个功能可以设置多个审批流,但是一笔单据最多只能对应一个审批流实例,也就是说,进不同的审批流程,不是在审批流程中是否进某一步审批。例如,我给窗体FrmRequestAnAccount定义两个审批流,也是通过入口条件区分。举个简单的例子,比如发货申请单的审批;
   对于发货公司的管理制度上有两种审批,一种是普通客户的发货申请,一种是VIP客户的发货申请。VIP的判断依据:在客户基本信息表中字段IsVip = 1表示是Vip客户。

普通客户的发货申请的审批流程:
审批流的入口条件:IsVip <> 1
审批节点
  1:销售部经理审批。
  2:总金额超过5000,需要销售部总监审批。
  3:商品价格超过限价需要总经理审批。
VIP客户的发货申请审批流程:
审批流入口条件:IsVip = 1
审批节点
  1:VIP部经理审批。
  2:总金额超过10000,需要VIP部总监审批。
  3:商品价格超过限价需要总经理审批。
两个审批流,但是对应的同一个功能,终极目标是,审批流和功能没有任何关系,随便给任何功能想配审批流就配,不需要修改功能代码,只需要在审批流定义中跟功能建立关系即可。

改进1:可以定义相同编号的审批流程,可以增加入口条件,不同条件的数据按不同的流程进行流转,例如发货申请就可以设置多种流程审核步骤,然后程序自动按设置条件进行流转。

改进2:每个流程审核步骤都可以设置入口条件、结束条件,按用户的设置自动过滤需要走的审核流程。

通用权限管理系统组件 V3.9 版本里审批流程组件的数据库变化如下,流程定义表增加了流程入口条件,流程步骤表定义了入口条件、结束条件字段。 

改进了这个功能后,就可以满足客户目前提出的对简易审批流程的需要了。虽然可以满足更复杂的需求,图形化的流转等等,但是目前定位就是对简易流程进行简单高效的审核,安装的组件少,程序调用简单,数据库表结构简单,维护调试简单为目的,满足80%的日常审核单据的需要。

 

   自己的程序中调用的方法,可以参考 http://www.cnblogs.com/jirigala/archive/2013/04/30/3052408.html 文件的底部代码部分。

 

 

 

转载于:https://my.oschina.net/iwenr/blog/227935

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sentinel-dashboard-1.8.2是一个开源的项目,用于监控和管理Sentinel的规则、实时流量、集群节点等信息。它是一个基于Java开发的Web应用程序,采用了Spring Boot框架和Vue.js前端框架。 首先,sentinel-dashboard-1.8.2源码的结构非常清晰和模块化。它分为后端和前端两部分,后端代码位于sentinel-dashboard模块,前端代码位于sentinel-dashboard-frontend模块。这种结构使得代码的维护和扩展变得更加容易。 在后端部分,sentinel-dashboard-1.8.2源码中包含了一系列的Java类,用于实现Sentinel的规则管理、实时数据统计和集群节点的管理等功能。它提供了RESTful的接口用于前端页面的数据获取和交互。这些Java类使用了Spring框架提供的注解和特性,使得代码简洁、易读和易于维护。 在前端部分,sentinel-dashboard-1.8.2源码中的前端代码采用了Vue.js框架进行开发。它使用了一系列的组件来实现不同的功能模块,如规则管理、流量统计、集群节点管理等。前端页面具有良好的交互性和可视化效果,可以方便地进行规则的配置和流量的监控。 另外,sentinel-dashboard-1.8.2源码还使用了一些开源的技术和库,如Redis、MyBatis等,以提供更好的性能和扩展性。 总结来说,sentinel-dashboard-1.8.2源码是一个功能丰富、结构清晰和易于维护的开源项目。通过深入研究和理解源码,开发人员可以对Sentinel的规则管理和流量监控等核心功能有更深入的了解,并根据自己的需求进行二次开发和定制化操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值