• 曾经迷茫的起点,多年后终于明白了


    还记得多年前在做工作流管理中心的流程演示时,很迷茫如何用流程的功能模块来展现业务流程。

    业务流程的展现,传统的做法是按业务单据建立好业务表,再增加一些状态字段来控制单据的流转,达到完成业务流程。
    例如一个采购申请流程:
    按采购单建立好表结构字段;
    做好制定采购单的模块;

    买方制定好的单据接下来会在卖方的各个部门之间流转,就通过增加的状态字段来控制:
    1 申请状态;2 发送状态;3 仓库备货状态;4 已发货状态 ;5 配送在途;6 买方签收;7 完成;8 作废
    然后按每种状态做一个模块,主要功能就是按状态列出记录,修改当前状态到下一个状态。

    把做好的模块,挂接到菜单上面,然后又分配给角色,操作用户登录系统后,根据分配的权限,执行菜单功能,完成一个一个的采购业务流程。

    当使用工作流系统后,要完成一个采购流程的开发,方式就有很大的变化了。
    首先,按采购单,建立好业务表,也可以增加状态字段(但增加的状态字段不做控制流程的流转用)

    按采购申请单在各个部门之间的流转建立业务流程:
    制定采购单(买方)--》卖方审批--》仓库备货--》配送发货--》买方签收--》完成

     

    然后按照上面的业务流程,用自定义表单工具,做出相应的业务表单
    制定采购单
    卖方审批
    仓库备货
    配送发货
    买方签收

    这几个节点都会对应有业务表单。可以做出一个表单,展现的是一张采购单的内容,
    在制定采购单的时候,买方能做采购单的填写,其它的信息不可见。
    在卖方审批的时候,能修改采购单的内容,同时增加 发送给仓库,作废 这两个功能。
    仓库备货的时候,只能查看采购单的内容,同时增加 确定发货,缺货 这两个功能。
    配送发货的时候,只能查看采购单的内容,同时增加 发货 的功能。
    买方签收,只能查看采购单的内容,增加 买方已经收货 这样的功能。

     


    开发完成的表单挂接到业务流程的节点上。同时将某些业务数据设置成流程的动作结果条件。

    设置完成后,此流程就开发完成了,如同利用状态做硬编码完成这个业务流程一样。只是利用工作流系统完成的业务流程,流程的流转全部在流程建模的xml文件中,不再需要利用状态字段做控制流转了。
    状态字段只做业务数据,用于显示当前处于什么阶段,其实通过流程实例运行的轨迹图,能更清楚的展现当前所处的阶段。

    (轨迹图)

    按这种方式完成的采购申请流程,如何展现呢?曾经很迷茫.....
    迷茫一:是直接在菜单上挂接 采购申请流程,点击就打开执行采购单?还是做一个通用的模块,每次有新增的业务流程,就按业务流程名称列出来,点击一个就启动一个业务流程实例?

    迷茫二:是先初始化得到了流程实例id,再打开第一个节点关联的表单;还是先打开业务表单,业务数据提交时,再得到流程实例id呢?

    迷茫三:流程实例第二个节点的办理,第三个节点的办理等待,通过什么方式来做?是直接挂菜单还是通过通用的模块来执行?

    还记得曾经这些问题困扰了很久,后来经过多次的讨论,做成了,采用工作流通用模块触发流程实例的方式来展现流程。
    在流程管理中心的功能则侧重于工作流方面
    迷茫一:解决方案 采用列表的方式列出所有的业务流程。


    迷茫二:解决方案 在流程管理中心的启动流程实例,一律采用,先初始化得到流程实例id,然后执行流程的节点,打开第一个节点关联的业务表单。

    迷茫三:解决方案 流程实例的第二节点的办理,通过待办任务列表,办理任务关联进去执行。没有定义任务信息的节点,通过流程实例执行动作关联。


    用户如果需要定制,如用户有 制定采购单 这样的功能按钮或菜单。并且需要先打开单据,点击提交时再执行初始化流程,那么就只能定制开发了。
    通过调用流程引擎的api去定制开发了。

    -------------------我是升级的分隔线^_^----------------------------------------------------------------------------------------------------------


    在接下来不断的升级,不断做用户实现定制开发的时候,终于明白了。在实现的时候,应该是工作流通用模块触发流程实例和用户定制的实现流程实例,这两种方式都要提供,并且做好通用的实现模块和调用模块。

     

    当测试运行流程的时候,可以用工作流通用模块的方式触发。
    当真正发布流程正式运行的时候,修改几个参数,就可以切换到用户定制的实现方式。如 点击 制定采购单,就打开菜单,等用户填写完成后,提交的时候,再一起提交表单数据和启动流程实例。


    实现方式,待续........今天太晚了,改天再续了。

  • 相关阅读:
    第十二章 满城搜索 [转载]
    第十三章 平安是福
    第三十章 就是他!
    CyberArticle和Live Writer的比较
    NET CMS 大全
    第十五章 禹皇门,震动!
    第六篇 匹马行天下 第二十三章 血流成河,悟!
    第二十八章 震天怒吼
    今天终于找了一个代理登陆了传说中的三个网站
    第十六章 夜深人静
  • 原文地址:https://www.cnblogs.com/webreport/p/2064967.html
Copyright © 2020-2023  润新知