多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】

几乎没一个公司,什么事情都一个人说了算的,都需要大家一起协商、协调才会最终生效,都需要走一个流程的,这也是管理软件需要流程审批组件的原因。

   大概在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点半才结束,得赶紧睡觉了否则会影响的明天的工作了,欢迎大家多批评交流,希望能跟大家多交流,一起提高。

 

将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。

posted on 2010-10-08 23:38 吉日嘎拉 不仅权通用权限 阅读(3640) 评论(48) 编辑 收藏

#1楼   回复  引用  查看     把PDM文件分享一下?

2010-10-08 23:51 | 阿龍       

#2楼[楼主]  回复 引用 查看   

要求真高啊,打劫啊?连个推荐都不舍得按一下?直接要求分享劳动成果啊?
引用阿龍:把PDM文件分享一下?

#3楼  回复 引用 查看   

老吉:建议你研究一下现在的一些工作流产品,功能比你这个强大多啦
2010-10-08 23:57 | elwin.wang       

#4楼  回复 引用 查看   

终于看到吉日不是权限的文章了,不容易啊。。。
支持一个了~~~
2010-10-08 23:57 | 心不蒙尘       

#5楼[楼主]  回复 引用 查看   

正好是研究了一些工作流产品,自己也做了一个壳,几乎跟一个主流工作流是兼容的,哈哈,谢谢你的提醒啊,我正在按你的提醒做的,否则很容易成蛮干了。

引用elwin.wang:老吉:建议你研究一下现在的一些工作流产品,功能比你这个强大多啦

#6楼[楼主]  回复 引用 查看   

@心不蒙尘
其实,权限还有几十篇文章没来得及写了,哈哈。

#7楼  回复 引用   

人事主管跟我同名,,哈哈,,
2010-10-09 00:34 | yuzhigang33[未注册用户]

#8楼[楼主]  回复 引用 查看   

不知道,你所说的强大多的工作流产品,会不会给源码?也是否可以花费500元,就可以任意修改源码?然后封装在自己的软件里进行销售了?

引用elwin.wang:老吉:建议你研究一下现在的一些工作流产品,功能比你这个强大多啦

#9楼  回复 引用 查看   

加上图形化的界面更完善了
2010-10-09 08:24 | net1234       

#10楼  回复 引用 查看   

还是自己写的底层牛X些
引用吉日嘎拉 不仅权限管理:
@心不蒙尘
其实,权限还有几十篇文章没来得及写了,哈哈。

哈哈 神马?十几篇? 浮云,都是浮云!!!
2010-10-09 08:34 | JasenKin       

#11楼[楼主]  回复 引用 查看   

图形化界面也折腾好了,还没发布,谢谢支持啊。
引用net1234:加上图形化的界面更完善了

#12楼[楼主]  回复 引用 查看   

哪里啊,都是很实在的文章,可能没看懂而已啊。

引用JasenKin:
还是自己写的底层牛X些
引用吉日嘎拉 不仅权限管理:
@心不蒙尘
其实,权限还有几十篇文章没来得及写了,哈哈。

哈哈 神马?十几篇? 浮云,都是浮云!!!

#13楼  回复 引用 查看   

分享这么好的东西啊!
2010-10-09 08:43 | 风雨者2       

#14楼  回复 引用 查看   

一直很喜欢吉日的文章,很实在,也很实际
2010-10-09 08:54 | dodohua       

#15楼  回复 引用 查看   

不错呀。支持下呀
2010-10-09 09:04 | 阿宝QQ       

#16楼[楼主]  回复 引用 查看   

谢谢支持。

引用阿宝QQ:不错呀。支持下呀

#17楼  回复 引用 查看   

在景德镇可能会存在这样的问题,提交之后,可以跨级审核,第三级可以审核第一级和第二级的申请。
2010-10-09 09:11 | 清海扬波       

#18楼  回复 引用 查看   

一直在 研究这个东西 有点启发 好文
2010-10-09 09:28 | chenjun       

#19楼[楼主]  回复 引用 查看   

@chenjun

谢谢支持,别忘记按推荐就好。

#20楼  回复 引用 查看   

我倾向于最后考虑数据库,一开始就当持久层没有
2010-10-09 09:39 | Tony Zhou       

#21楼  回复 引用 查看   

不错不错,我们公司的审批流程粗制乱造的,没有这个舒服
2010-10-09 09:41 | 花祭果凛       

#22楼  回复 引用 查看   

看看表结构,还是觉得是定制的应付审批流程的。
特别简单的审批流程,可能能应付,稍微复杂一些的,还是需要专业的工作流系统。
不过还是推荐一下,或者有空可以看看我们的 eworkflow自定义工作流系统的设计思路。http://www.cnblogs.com/webreport
2010-10-09 09:50 | web报表       

#23楼  回复 引用 查看   

引用Tony Zhou:我倾向于最后考虑数据库,一开始就当持久层没有

专业一点说就是领域驱动设计
2010-10-09 09:51 | 钧梓昊逑       

#24楼[楼主]  回复 引用 查看   

@web报表
来抢生意啊,哈哈,不错,同行间多交流,互相学习提高。

#25楼  回复 引用 查看   

可以让申请者自定义一个流程,不然这个流程以什么条件结束咧?
2010-10-09 10:10 | AchieveLuo       

#26楼[楼主]  回复 引用 查看   

@AchieveLuo
目前自由审批流程,任何人都可以结束,所以才能称之为“自由审批流程组件”,当然还有另外一个组件,还没登场,就是预先定义流程的组件。

#27楼[楼主]  回复 引用 查看   

你这个留言很有分量,能看得出您是这方面的行家,鉴定完毕。
引用AchieveLuo:可以让申请者自定义一个流程,不然这个流程以什么条件结束咧?

#28楼  回复 引用 查看   

强势路过
要是有可视化流程设计器就好了
2010-10-09 11:32 | sheng.chao       

#29楼  回复 引用 查看   

靠!头条又让你抢了。 你抢劫啊!
2010-10-09 11:32 | 王一一       

#30楼  回复 引用 查看   

做过流程审批的项目,不过没有你的这么灵活,都是业务流程固定的。不错,推荐一下。
2010-10-09 12:11 | Jun@似水流年       

#31楼  回复 引用 查看   

下一步,我也研究下这个流程管理
光会做个小系统都像路边大白菜一样
研究好流程管理,等加薪跳槽就可以吹一吹了
2010-10-09 12:27 | 升斗小民       

#32楼  回复 引用 查看   

1.有些申请,申请人并不关心后续是谁来审批,他只要结果就行了.按博主的意思表示,似乎一定要明确申请单的审批流转流程才可行。
2。每次审批后的提交流转是审批人人工选择,如1所描述,增加操作步骤,同时也就增加了错误的几率。

个人意见是:针对各种申请做单独的审批流程维护,申请人,审批人不用知道也不用关心这个流程。做到流程对外隐蔽,随时更改也方便。
2010-10-09 12:41 | 中尉       

#33楼[楼主]  回复 引用 查看   

@中尉
首先谢谢你的留言,接下来,我还会再发布一个,按预定的审核流程自动流转的例子,自动流转的还没发布上来。

#34楼[楼主]  回复 引用 查看   

可视化流程设计器,接下来会发布,已经做好了,还没到发布的时候。

引用sheng.chao:
强势路过
要是有可视化流程设计器就好了

#35楼  回复 引用 查看   

跟我通过一周的时间编写的类似,那时项目时间非常紧,就乱编了一个审批流转,结果他们还用到现在已经有一年多了。
遗憾的是到现在我还没有去总结它。。。
2010-10-09 16:15 | Sam Lin       

#36楼  回复 引用   

为什么吉日大哥喜欢索要【推荐】呢
虽然我知道吉日大哥或许是开玩笑的

本人菜鸟,不知道推荐有什么好处,希望得吉日大哥真传.
2010-10-09 16:15 | 旁观者1号[未注册用户]

#37楼[楼主]  回复 引用 查看   

@Sam Lin

总结都需要有成本代价的,1个月能有几个1周啊?

#38楼[楼主]  回复 引用 查看   

要钱不行吧? 要推荐了后,可以上首页,别人的点击量就会大,就像广告一样,点击量大了,就容易有购买的人看到这个信息,最终我就容易赚到钱了。

引用旁观者1号:
为什么吉日大哥喜欢索要【推荐】呢
虽然我知道吉日大哥或许是开玩笑的
本人菜鸟,不知道推荐有什么好处,希望得吉日大哥真传.

#39楼  回复 引用 查看   

引用我倾向于最后考虑数据库,一开始就当持久层没有
2010-10-09 09:39 | Tony Zhou


我也是这么个想法,虽然现在找不到同事们的认同。
2010-10-09 17:20 | 小太平洋       

#40楼  回复 引用 查看   

一个流程的审批是ABBACCBB
你的流程是否可以简化成 ABC 呢?有演示么?
代理审批是否可有?
应该在加上待审批流程提示。
2010-10-09 20:23 | d.zd       

#41楼[楼主]  回复 引用 查看   

@d.zd
ABBACCBB ? 简化成 ABC 我没能理解意思。
待审批流程提示 是有的。

#42楼  回复 引用 查看   

好文哦!!
2010-10-09 21:37 | 风枫峰       

#43楼[楼主]  回复 引用 查看   

@风枫峰
谢谢支持。

#44楼  回复 引用 查看   

支持楼主,学习中。。。
2010-10-10 01:39 | kjfox       

#45楼[楼主]  回复 引用 查看   

@kjfox
谢谢支持

#46楼  回复 引用 查看   

楼主能不能请教一下你的漂亮的流程图是用什么工具画的?
2010-10-13 15:29 | flatter       

#47楼[楼主]  回复 引用 查看   

@flatter
office 2007 制作的

#48楼  回复 引用 查看   

#41楼[楼主]  回复 引用 查看 
@d.zd
ABBACCBB ? 简化成 ABC 我没能理解意思。
待审批流程提示 是有的。

ABC分别是顺序流程中,流程状态的审批人。有的时候要确保用户只审批一次。
我们也开发了一套工作流组件,但不完善。并行审批还没有实现。
楼主能共享下这方面的心得。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值