Heim  >  Artikel  >  php教程  >  多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

WBOY
WBOYOriginal
2016-06-06 19:44:13858Durchsuche

几乎没一个公司,什么事情都一个人说了算的,都需要大家一起协商、协调才会最终生效,都需要走一个流程的,这也是管理软件需要流程审批组件的原因。 大概在2002年左右在公司的门户系统EIP,其中需要一个行政审批流程组件,当时是用PHP实现的数据库用了MySQL

 

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

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

   大概在2002年左右在公司的门户系统EIP,其中需要一个行政审批流程组件,当时是用PHP实现的数据库用了MySQL,程序功能是按领导的要求,领导说要实现什么功能我们就把什么功能实现好,当时也没什么深刻的感受,反正也没耗费多久就做出来了,感觉也没啥的,用用还比较好用就可以了。

   今年是2010年了,又有一个B/S项目需要有审核流程,又耗费了2周时间把审批流程的底层数据库重新设计了一下,又耗费1周时间整体进行测试,终于把这个自由审批流程又重新整理一次,上了一个台阶,把上次没能实现的技术问题、审核时间限制、并行审核的技术问题解决好了,随着对日常工作管理上的要求的进步一加深,对工作环节上的审批的意义又有深入的意识了,管理软件的审批流程是太有必要了,审批流程也是管理软件的一个核心亮点了。

   2002年时,不知道这个审批流程管理组件有多少重要,也不知道其中的经济价值、客户的重视程度。

   2008年时,充分意识到了审批流程管理组件有多少作用,而且要耗费蛮久才能做出好用稳定的自己拿而且还会遇到技术难题、设计上的瓶颈。

   2010年时,把底层数据结构又重新设计一下、把底层代码又完善了一次,界面功能也进行了一次彻底的优化,组件用起来更流畅更舒服了。

 

   其实真正能重复利用的就是数据库设计PDM文件,这个也是业务领域建模,用这个设计不管是开发JAVA的项目,还是开发.NET的项目,都可以重复利用,有一定的参考价值的,从设计上也可以看出一个人的思路是否严谨?是否设计考虑得充分?是否有一定的行业经验等等,其实很多业务领域的建模都是值钱的,这才是软件开发中能沉淀下来的劳动成果积累之重要的方面之一。

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

    具体数据表效果如下【工作流当前审核状态】表

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

   具体数据表效果如下【工作流审核历史步骤记录】表

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

   不管是B/S系统也好,C/S系统也好,有些底层组件、所谓的商业逻辑组件是有很大的重复利用价值,这些代码里封装了很多业务逻辑,这些业务逻辑不管做什么系统,都跑不掉的,这些细节都需要实现一遍的,若这些代码写得比较严谨,有一定的重复利用的价值,这些商业逻辑代码积累越多,积累越严谨,越完善,将来可以赚大钱的机会就越多,因为等机会来了,很快就可以搞定了,因为编写这些商业逻辑往往会耗费几个月时间,一个月工资按1万计算,为了积累这些成熟的组件,至少都好烧掉几万元的成本,若采用了拿来主意,这几万元的开支就节省了。

   从头实现一遍所耗费的时间,往往比拿过来看懂,再改改的时间多很多,可能熟悉代码花费了1周,修改代码也花费了1周,总的时间成本虽然有2周,但是自己从头全部写好,可能需要2个月时间才能写好的,若不信,自己可以写写看,总是会发现很多细节没处理好,写来写去,调试来调试去1个月就不知不觉中过去了。

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

 

 

接下来,我们进入实战,以C/S的程序为例子,有需要时也可以做个B/S的审批流程例子,界面大致是一样的效果,因为都调用了相同的底层函数处理数据的,数据设计也会是相同的,不会因为B/S,数据设计不一样了,我们假设有这样的一个:自由工作流审批流程(假设请假流程):开发部主管(吉日嘎拉) - 人事主管(涂志刚) - 总经理(胡况明)

用户账户情况如下页面效果

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

 

首先我们需要启动这个审批流程,让一个单据进入审批流程环节,这里只是做了一个示意图,就是可以显示的是请假单,也可以是请假单的核心参数(当然可以是其他单据,不只限于请假单,还可以是入库单、出库单、付款单、借货单等等一大堆单据)。

 

网友问?
这里的表名   订单代码  为什么要手动输入呢?  有什么特别的好处吗?
Ψ吉日嘎拉:

这个是一个单据的 核心数据的意思,当然从数据库里读也可以的,这个是唯一识别一个单据用的
例如, 请假单,入库单等,都可以走审批流程的嘛,是我们的流程组件,需要知道 有这4个信息,才能进入审核流程里

网友问?

但是这几个让用户输入  有时候会让用户不知所措吧? 就是不知道输入什么?
Ψ吉日嘎拉:
你误会了,不是让用户输入,这个页面,应该是一个请假单页面(例如)程序只关心其中的4个参数,其他信息,就没显示了,可能这4个参数还是隐藏的

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

 

我们看看第一步审核流程的情况,先用吉日嘎拉账户登录系统,看看会是什么效果?

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

点待审批流程菜单,查看需要待审批的数据项

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2 

的确显示出了待审批数据了,我们把请假单递交给下一个审批环节

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

用下一个审批环节的用户进行登录

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

正好是我们需要审批的数据显示出来了,同时我们审批通过,可以选择最后又一步的审核环节。

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

这里是递交审批的效果图

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

我们再以最后一个审批环节的账户来登录系统

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

我们可以看到前面2步的审批详细情况,我们这步审核通过后,我们事先假设的3步自由审核流程也走完了。

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2

 

   自由审批流组件,有3个比较关键的功能。

   1:当前需要审批的数据列表获取方法(可以按角色、按账户兼容的)

   2:查看审批流程历史记录(都谁什么时候审批的?有啥批示?)

   3:当起流程监控功能(都有哪些数据在待审核状态?)

   核心功能由2个组件组成

   1:进入审批流程组件。

   2:审批流程组件。

多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2 

 

   自由审批流程组件虽然从严格意义上来讲,不能等同于工作流组件,甚至也不是正规的流程审核组件,但是还是蛮符合实际工作要求,因为不需要事先定义好严格的流程步骤等的定义,也不用定义什么严格的角色、各种审批流程等等,只要有最基础的用户数据,角色配置就可以跑起来了,相对而言是最低的配置要求,最灵活多变的审批流程了,更适合国内的中小企业的审核流程,特别是小公司的审核流程,绝对的。

 

   其实日常生活里,我们大多的审批流程,都是自己的顶头上司审核的,也不大用管是什么审核,大多数都转发到自己顶头上司审核一下,90%都不会有错的。顶多领导再转发给别人审核而已了,或者挨骂一下下,哈哈。

 

   写文章也累,居然从晚上8点多一直写到12点半才结束,得赶紧睡觉了否则会影响的明天的工作了,欢迎大家多批评交流,希望能跟大家多交流,一起提高。

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn