几乎没一个公司,什么事情都一个人说了算的,都需要大家一起协商、协调才会最终生效,都需要走一个流程的,这也是管理软件需要流程审批组件的原因。
大概在2002年左右在公司的门户系统EIP,其中需要一个行政审批流程组件,当时是用PHP实现的数据库用了MySQL,程序功能是按领导的要求,领导说要实现什么功能我们就把什么功能实现好,当时也没什么深刻的感受,反正也没耗费多久就做出来了,感觉也没啥的,用用还比较好用就可以了。
到了2008年,公司有一个几十万的ERP定制项目需要做,其中需要一个自由审批流程组件,那时候才意识到值钱的软件都需要审批流程组件,而且这个组件当时是由我来负责编写的,大概前后也写了1个月左右吧,又测试了1个月左右,才真正能用起来,而且当时还没能实现并行审批流程功能,一方面是经验不足,另一方面也是能力有限。
今年是2010年了,又有一个B/S项目需要有审核流程,又耗费了2周时间把审批流程的底层数据库重新设计了一下,又耗费1周时间整体进行测试,终于把这个自由审批流程又重新整理一次,上了一个台阶,把上次没能实现的技术问题、审核时间限制、并行审核的技术问题解决好了,随着对日常工作管理上的要求的进步一加深,对工作环节上的审批的意义又有深入的意识了,管理软件的审批流程是太有必要了,审批流程也是管理软件的一个核心亮点了。
2002年时,不知道这个审批流程管理组件有多少重要,也不知道其中的经济价值、客户的重视程度。
2008年时,充分意识到了审批流程管理组件有多少作用,而且要耗费蛮久才能做出好用稳定的自己拿而且还会遇到技术难题、设计上的瓶颈。
2010年时,把底层数据结构又重新设计一下、把底层代码又完善了一次,界面功能也进行了一次彻底的优化,组件用起来更流畅更舒服了。
其实真正能重复利用的就是数据库设计PDM文件,这个也是业务领域建模,用这个设计不管是开发JAVA的项目,还是开发.NET的项目,都可以重复利用,有一定的参考价值的,从设计上也可以看出一个人的思路是否严谨?是否设计考虑得充分?是否有一定的行业经验等等,其实很多业务领域的建模都是值钱的,这才是软件开发中能沉淀下来的劳动成果积累之重要的方面之一。
具体数据表效果如下【工作流当前审核状态】表
具体数据表效果如下【工作流审核历史步骤记录】表
不管是B/S系统也好,C/S系统也好,有些底层组件、所谓的商业逻辑组件是有很大的重复利用价值,这些代码里封装了很多业务逻辑,这些业务逻辑不管做什么系统,都跑不掉的,这些细节都需要实现一遍的,若这些代码写得比较严谨,有一定的重复利用的价值,这些商业逻辑代码积累越多,积累越严谨,越完善,将来可以赚大钱的机会就越多,因为等机会来了,很快就可以搞定了,因为编写这些商业逻辑往往会耗费几个月时间,一个月工资按1万计算,为了积累这些成熟的组件,至少都好烧掉几万元的成本,若采用了拿来主意,这几万元的开支就节省了。
从头实现一遍所耗费的时间,往往比拿过来看懂,再改改的时间多很多,可能熟悉代码花费了1周,修改代码也花费了1周,总的时间成本虽然有2周,但是自己从头全部写好,可能需要2个月时间才能写好的,若不信,自己可以写写看,总是会发现很多细节没处理好,写来写去,调试来调试去1个月就不知不觉中过去了。
接下来,我们进入实战,以C/S的程序为例子,有需要时也可以做个B/S的审批流程例子,界面大致是一样的效果,因为都调用了相同的底层函数处理数据的,数据设计也会是相同的,不会因为B/S,数据设计不一样了,我们假设有这样的一个:自由工作流审批流程(假设请假流程):开发部主管(吉日嘎拉) - 人事主管(涂志刚) - 总经理(胡况明)
用户账户情况如下页面效果
首先我们需要启动这个审批流程,让一个单据进入审批流程环节,这里只是做了一个示意图,就是可以显示的是请假单,也可以是请假单的核心参数(当然可以是其他单据,不只限于请假单,还可以是入库单、出库单、付款单、借货单等等一大堆单据)。
网友问?
这里的表名 订单代码 为什么要手动输入呢? 有什么特别的好处吗?
Ψ吉日嘎拉:
这个是一个单据的 核心数据的意思,当然从数据库里读也可以的,这个是唯一识别一个单据用的
例如, 请假单,入库单等,都可以走审批流程的嘛,是我们的流程组件,需要知道 有这4个信息,才能进入审核流程里
网友问?
但是这几个让用户输入 有时候会让用户不知所措吧? 就是不知道输入什么?
Ψ吉日嘎拉:
你误会了,不是让用户输入,这个页面,应该是一个请假单页面(例如)程序只关心其中的4个参数,其他信息,就没显示了,可能这4个参数还是隐藏的
我们看看第一步审核流程的情况,先用吉日嘎拉账户登录系统,看看会是什么效果?
点待审批流程菜单,查看需要待审批的数据项
的确显示出了待审批数据了,我们把请假单递交给下一个审批环节
用下一个审批环节的用户进行登录
正好是我们需要审批的数据显示出来了,同时我们审批通过,可以选择最后又一步的审核环节。
这里是递交审批的效果图
我们再以最后一个审批环节的账户来登录系统
我们可以看到前面2步的审批详细情况,我们这步审核通过后,我们事先假设的3步自由审核流程也走完了。
自由审批流组件,有3个比较关键的功能。
1:当前需要审批的数据列表获取方法(可以按角色、按账户兼容的)
2:查看审批流程历史记录(都谁什么时候审批的?有啥批示?)
3:当起流程监控功能(都有哪些数据在待审核状态?)
核心功能由2个组件组成
1:进入审批流程组件。
2:审批流程组件。
自由审批流程组件虽然从严格意义上来讲,不能等同于工作流组件,甚至也不是正规的流程审核组件,但是还是蛮符合实际工作要求,因为不需要事先定义好严格的流程步骤等的定义,也不用定义什么严格的角色、各种审批流程等等,只要有最基础的用户数据,角色配置就可以跑起来了,相对而言是最低的配置要求,最灵活多变的审批流程了,更适合国内的中小企业的审核流程,特别是小公司的审核流程,绝对的。
其实日常生活里,我们大多的审批流程,都是自己的顶头上司审核的,也不大用管是什么审核,大多数都转发到自己顶头上司审核一下,90%都不会有错的。顶多领导再转发给别人审核而已了,或者挨骂一下下,哈哈。
写文章也累,居然从晚上8点多一直写到12点半才结束,得赶紧睡觉了否则会影响的明天的工作了,欢迎大家多批评交流,希望能跟大家多交流,一起提高。
吉日嘎拉(蒙古语为吉祥如意),2000年毕业于黑龙江大学计算机系软件专业,目前定居杭州,典型的IT软件土鳖一个,外号“软件包工头”。
通用权限管理系统组件(GPM - General Permissions Manager)自2003年开始发布,目前是国内注册用户和免费盗版用户最多的权限管理系统,是各种信息管理系统开发中彻底的权限解决方案。本组件支持多种主流数据库(Oracle、sqlsever、db2、mysql),功能强大,使用方便,代码简洁,思路严谨,被广大支持者称为权限管理系统中的“走火入魔级权限管理系统”。
精心维护通用权限管理系统组件(GPM - General Permissions Manager)有8年多,3年的不断推广,20万行经典的业务逻辑积累,经过上万次的调试修正,经历了四百个付费客户,上百软件公司的实战开发。
11年以上开发经验,外企工作5年,上市公司3年,独立经营软件公司2年,主持研发部门管理工作4年以上。
将权限管理、工作流做到我能力的极致,一个人只能做好那么很少的几件事情。
QQ:252056973,Mail:[email protected]
通用权限管理模块的严谨设计定位、精心编码实现、不断维护推广、持续优化改进,主要是为了实现一个可以高度重复利用劳动成果的工具软件并有偿提供给所需的人们,另想成为国人值得骄傲的知名软件功能模块。
可供国内管理类开发人员在日常工作中进行灵活二次开发利用的模块,开发管理类软件的必备工具之一,我们的目标就是让程序员早点儿回家休息。
淘宝店地址:http://jirigala.taobao.com