• 产品化思维流程变更


    流程变更是很常见的一种需求。系统上线后,因为企业人员变更,制度变化,流程优化等原因,都有可能对现有流程进行调整。调整流程时,要考虑对当前正在运行的流程的影响,确保正在运行的流程仍然有效。
    主要有几类调整类型
    1,审核人发生变化。
    流程的节点不变,只是调整某个节点的审核人,比如报销流程中的出纳节点由张三调整为李四。
    这种调整是最最常见的调整。对活动流程的影响也最小。发生这类调整时,要注意流程中张三的任务如何处理。有两种方法:继续由张三处理(如果张三离职了,可以以张三的账号登录吹任务)。这不是好的处理方式。毕竟系统“掩盖”了真实的操作(明明不是张三处理,但是系统却反映出来是张三处理的,这违反了系统审计原则)。
    再一个办法是“工作移交”,将张三的待办移交给李四,也就是修改待办任务的执行人为李四。如何修改,要看具体的业务实现。

    2,删除节点。
    分几种情况,
    (1)如果这个节点上没有待办任务,也就是没有活跃的节点实例,则删除节点,对活动的流程没有影响。
    (2)如果要删除的节点是活动的,其任务仍然有效,则不可以真正从流程中删除戴节点,否则,节点上的任务就成为死任务了(提交后,无法往下推进流程了)。我们可以将该节点标记为“删除”。删除的节点在以后不会产生新的任务,待该节点不再有活动的节点实例时,则可以真正删除掉它。
    (3)如果要删除的节点是活动的,并且任务无效了。则可以删除这个节点,并且取消活动的任务,但是,必须在某个节点上重新启动该流程,避免流程成为僵尸流程。

    对第二种情况,有个细节需要考虑。在删除节点的时候,要将该节点上仍旧活动的任务,“引导”到有效的节点上去。所谓有效的节点,就是没有被删除的节点,避免任务提交后无所终,导致流程成为僵尸流程。

    3、增加节点
    这个不影响活动的流程。

    4、调整路由条件、处理程序等
    是否影响,要看具体的业务了。重点关注,不要发生重复的处理,也不要丢失了必要的处理 。比如一个业务是来在节点N1上有业务处理(减少库存),恰好这个节点要删除,增加了新的节点N2,N2承担了源节点N1的所有或者部分处理,那么在调整流程额时候就要小心了,确保现存业务在重新经过N2时,不会重复执行已经在N1上执行的业务处理。

    5、流程版本
    还有个比较大的概念,流程版本,在这里一并提一下。
    一般来讲,业务流程作为企业运营的制度的一部分,是非常重要的,也是非常严肃的。一般不会轻易变动。流程的变动,一般伴随着企业管理制度的变动,制度的变化,反映到流程的变化。流程变化在具体的实施过程中,他存在一个流程切换的一个点,这个点就是流程的生效日期。就是,新的流程在xxxx年xx月xx日生效,即日起,原流程作废。类似这样的。因此引入流程版本这个概念,来满足这个需求。
    在流程修改的时候,保持当前版本仍然有效(在某个时间之前),修改后的流程保存为新的版本(在某个日期后生效),设定生效日期。同一个业务,只能有一个生效的业务流程版本。流程的切换是个时间点,但是流程的运行时个时间段,因此在切换的时候,不可避免会存在正在活动的流程。因此一般的处理原则是:在新的流程生效之前,业务依然按照老的流程运行,一旦生效日期到了,老的流程作废,新发起的业务,按照新的业务流程运行;对在生效日期之前发起的、生效日期到期后,尚未完成的流程,仍然执行老流程。
    流程版本除了满足以上要求外,通过记录流程的调整过程 ,可以起到流程审计的作用,另外还便于分析流程效率,对流程进行优化和改进。

    综上,在运行时,吸怪业务流程是个复杂的操作,切记要小心谨慎。

  • 相关阅读:
    thinkphp tp5 常用 functions
    nginx配置虚拟机 vhost 端口号 域名 区分虚拟机
    thinkphp tp5 模板 引擎 字符串 截取 函数 省略 显示
    C++运算符重载
    c++纯虚函数
    c++面向对象模型---c++如何管理类,对象以及它们之间的联系
    c++多态
    c++友元函数
    c语言的函数指针
    c++两种字符串赋值方式 并介绍 C语言下遍历目录文件的方式
  • 原文地址:https://www.cnblogs.com/senline/p/flupd.html
Copyright © 2020-2023  润新知