工作流管理软件 工作流系统( 二 )


我马上发现这个要求和过去有本质的不同 。在过去,工作流的节点关系从一开始就是固定的,即在流程启动之前就已经确定了 。
但是现在需要在审批环节进行更改 。
无非就是加一些类,掉一些毛,最后设计出以下方案:
代理操作的本质是创建一个新的并行节点作为这个节点的父节点,然后为代理创建一个新的兄弟节点,这样代理和被代理都可以被批准 。
代理可以无限嵌套,也就是代理也可以找代理 。
第12关老板又来了:能不能加个取消代理的功能?
。。。我已经在做我自己了,就补充一句:
委托书注销是委托书的逆向操作 。
如果代理已经被批准,则不能取消代理 。
第13关老板又来了:给每个节点加一个前置后置条件 。满足前置条件才能进入节点,满足后置条件才能审核节点 。
我的心:再见,老板,再见,再见,再见!
我的嘴:好的老板,收到 。
后来:后来我真的给每个节点都加了前置和后置条件,同时审批逻辑的相关代码也翻倍了 。
第14关老板又来了:现在有些工作流程很复杂,审批时间很长 。能否为每个正在进行的工作流计算一个指标:直观显示当前批准的百分比?
我:收到 。
事实上,与前面的要求相比,这一条并不复杂,因为它不涉及核心逻辑的改变 。本质是输入一个树形结构,然后根据不同节点的状态输出一个整数 。
经过测试和思考,最终方案如下:
工作流完成的百分比是指从最右边的就绪节点到最左边的节点的距离/从树中最右边的节点的距离 。
第15关老板又来了:能不能给每个节点挂两个可执行脚本,然后在你开始审批节点和完成审批节点之后再执行?
我:对,对 。
当然后来我也实现了这个功能 。与此同时,我发现我在壮年时已经秃顶了 。
后记老板清华,是毕业的高材生,不然我大概想不到这么多奇葩的要求 。后来老板把这套工作流程系统卖给了广*证券等公司,我就去了其他公司各奔东西 。当然,那时候,我觉得自己有前途 。
当我开始这个工作流程的时候,我刚刚本科毕业 。后来离开这家公司,照了照镜子,老了 。这件事发生在三年前,现在回想起那些加班换工作流程的日子,我还是心惊胆战 。
最后,希望天下所有的同事都无bug,身心健康,攒够钱在一线城市买两套房,过几年有退休金的悠闲退休生活 。
【工作流管理软件 工作流系统】


推荐阅读