一种跨单据工作流的实现方法及系统转让专利

申请号 : CN201010281664.1

文献号 : CN102402731B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓东

申请人 : 金蝶软件(中国)有限公司

摘要 :

本发明公开了一种跨单据工作流的实现方法,包括:为目标单据和源单据分配单据标识;定义单据内部及单据间的状态驱动事件,所述单据间的状态驱动事件包括单据间转换规则;依据所述单据间转换规则,将源单据中的数据工作流转换至目标单据的数据工作流。本发明实施例提供的方法及系统,不需要程序代码的二次开发,通过应用层面的配置,完成跨单据业务的流程控制,实现EPR产品全业务的流程自定义,提高了产品的灵活性和实施的效率。

权利要求 :

1.一种跨单据工作流的实现方法,其特征在于,包括:为目标单据和源单据分配单据标识;所述单据标识为单据的标识符,用于唯一表明目标单据或源单据;

定义单据内部及单据间的状态驱动事件,所述单据间的状态驱动事件包括单据间转换规则;

所述单据间转换规则包括:单据间数据对应规则和状态联动规则;

所述单据间数据对应规则标明源单据与目标单据的数据对应关系;

所述状态联动规则标明源单据和目标单据工作流转换过程中,目标单据的单据事件状态;

所述单据内部的状态驱动事件包括:单据事件名称、单据事件状态和触发事件角色;

所述单据事件状态标识单据的执行状态;

所述单据事件名称标识触发所述单据执行状态发生改变的执行操作;

所述触发事件角色标识所述执行操作的执行主体;

依据所述单据间转换规则,将源单据中的数据工作流转换至目标单据的数据工作流。

2.根据权利要求1所述的方法,其特征在于,所述单据间的状态驱动事件还包括:单据间事件名称和单据间触发事件角色;

所述单据间事件名称标识从源单据生成目标单据的生成操作;

所述单据间触发事件角色标识所述生成操作的执行主体。

3.一种跨单据工作流的实现系统,其特征在于,包括:单据标识分配单元、状态驱动事件定义单元和工作流转换单元;

所述单据标识分配单元用于为目标单据和源单据分配单据标识;所述单据标识分配单元分配的单据标识为单据的标识符,用于唯一标明目标单据或源单据;

所述状态驱动事件定义单元用于定义单据内部及单据间的状态驱动事件,所述单据间的状态驱动事件包括单据间转换规则;

所述状态驱动事件定义的单据间转换规则包括:单据间数据对应规则和状态联动规则;

所述单据间数据对应规则标明源单据与目标单据的数据对应关系;

所述状态联动规则标明源单据和目标单据工作流转换过程中,目标单据的单据事件状态;

所述状态驱动事件定义单元定义的单据内部的状态驱动事件包括:单据事件名称、单据事件状态和触发事件角色;

所述单据事件状态标识单据的执行状态;

所述单据事件名称标识触发所述单据执行状态发生改变的执行操作;

所述触发事件角色标识所述执行操作的执行主体;

所述工作流转换单元用于依据所述状态驱动事件定义单元定义的单据间转换规则,将源单据中的数据工作流转换至目标单据的数据工作流。

4.根据权利要求3所述的系统,其特征在于,所述状态驱动事件定义单元定义的单据间的状态驱动事件还包括:单据间事件名称和单据间触发事件角色;

所述单据间事件名称标识从源单据生成目标单据的生成操作;

所述单据间触发事件角色标识所述生成操作的执行主体。

说明书 :

一种跨单据工作流的实现方法及系统

技术领域

[0001] 本发明涉及信息数据处理领域,特别是涉及一种跨单据工作流的实现方法及系统。

背景技术

[0002] 工作流是ERP(ERP是Enterprise Resource Planning(企业资源计划)简称,是上个世纪90年代美国一家IT公司根据当时计算机信息、IT技术发展及企业对供应链管理的需求,预测在今后信息时代企业管理信息系统的发展趋势和即将发生变革,而提出了这个概念)及各种管理软件产品重要的内容,目前的ERP产品都是支持业务数据内的工作流,通过可视化的流程配置或者数据层面的配置,实现流程控制。如采购申请的审批工作流,采购订单的工作流,各个单据的工作流控制各个业务内部的业务审批。
[0003] 以上的方案只能实现单据内部的工作流控制,单据间的工作流,都是通过编写程序、代码控制的方式实现,系统产品在研发过程中,将业务单据间的业务流程代码固化实现,用户不可参与,业务流转到一定阶段,自动产生下游业务单据。
[0004] 发明人经过研究发现,现有的技术中,不论是否有工作流配置平台,都不能实现跨单据的工作流控制,只能对业务单据本身的流程进行配置,业务间的工作流配置只能通过二次代码开发进行实现,开发过程繁琐复杂,所以亟需一种方法,在不进行程序代码控制情况下,可以通过应用层面的配置,完成跨单据业务的流程控制。

发明内容

[0005] 为解决上述技术问题,本发明实施例提供一种跨单据工作流的实现方法及系统,有效的实现了通过应用层面的配置,完成跨单据业务的流程控制。
[0006] 技术方案如下:
[0007] 一种跨单据工作流的实现方法,包括:
[0008] 为目标单据和源单据分配单据标识;
[0009] 定义单据内部及单据间的状态驱动事件,所述单据间的状态驱动事件包括单据间转换规则;
[0010] 依据所述单据间转换规则,将源单据中的数据工作流转换至目标单据的数据工作流。
[0011] 上述的方法,优选的,所述单据标识为单据的标识符,用于唯一表明目标单据或源单据。
[0012] 上述的方法,优选的,所述单据内部的状态驱动事件包括:单据事件名称、单据事件状态和触发事件角色;
[0013] 所述单据事件状态标识单据的执行状态;
[0014] 所述单据事件名称标识触发所述单据执行状态发生改变的执行操作;
[0015] 所述触发事件角色标识所述执行操作的执行主体。
[0016] 上述的方法,优选的,所述单据间的状态驱动事件还包括:单据间事件名称和单据间触发事件角色;
[0017] 所述单据间事件名称标识从源单据生成目标单据的生成操作;
[0018] 所述单据间触发事件角色标识所述生成操作的执行主体。
[0019] 上述的方法,优选的,所述单据间转换规则包括:单据间数据对应规则和状态联动规则;
[0020] 所述单据间数据对应规则标明源单据与目标单据的数据对应关系;
[0021] 所述状态联动规则标明源单据和目标单据工作流转换过程中,目标单据的单据事件状态。
[0022] 一种跨单据工作流的实现系统,包括:单据标识分配单元、状态驱动事件定义单元和工作流转换单元;
[0023] 所述单据标识分配单元用于为目标单据和源单据分配单据标识;
[0024] 所述状态驱动事件定义单元用于定义单据内部及单据间的状态驱动事件,所述单据间的状态驱动事件包括单据间转换规则;
[0025] 所述工作流转换单元用于依据所述状态驱动事件定义单元定义的单据间转换规则,将源单据中的数据工作流转换至目标单据的数据工作流。
[0026] 上述的系统,优选的,所述单据标识分配单元分配的单据标识为单据的标识符,用于唯一标明目标单据或源单据。
[0027] 上述的系统,优选的,所述状态驱动事件定义单元定义的单据内部的状态驱动事件包括:单据事件名称、单据事件状态和触发事件角色;
[0028] 所述单据事件状态标识单据的执行状态;
[0029] 所述单据事件名称标识触发所述单据执行状态发生改变的执行操作;
[0030] 所述触发事件角色标识所述执行操作的执行主体。
[0031] 上述的系统,优选的,所述状态驱动事件定义单元定义的单据间的状态驱动事件还包括:单据间事件名称和单据间触发事件角色;
[0032] 所述单据间事件名称标识从源单据生成目标单据的生成操作;
[0033] 所述单据间触发事件角色标识所述生成操作的执行主体。
[0034] 上述的系统,优选的,所述状态驱动事件定义的单据间转换规则包括:单据间数据对应规则和状态联动规则;
[0035] 所述单据间数据对应规则标明源单据与目标单据的数据对应关系;
[0036] 所述状态联动规则标明源单据和目标单据工作流转换过程中,目标单据的单据事件状态。
[0037] 由以上本发明实施例提供的技术方案可见,本发明提供的跨单据工作流的实现方法及系统,为单据内部分配唯一的单据标识,用于标识单据中的执行状态、执行主体和单据事件,同时根据不同单据的单据结构和单据标识自定义单据间的状态驱动事件,状态驱动事件中包括单据间数据对应规则和状态联动规则,依据单据间数据对应规则标明源单据与目标单据之间的数据对应关系,状态联动规则标明从源单据到目标单据转换过程中,目标单据的执行事件状态,执行主体触发单据事件,依据单据间数据对应规则和状态联动规则将源单据中的数据流转换至目标单据中的数据流。本发明实施例提供的方法及系统,不需要程序代码的二次开发,通过应用层面的配置,完成跨单据业务的流程控制,实现EPR产品全业务的流程自定义,提高了产品的灵活性和实施的效率。

附图说明

[0038] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1为本发明实施例提供的跨单据工作流实现方法的流程图;
[0040] 图2为本发明实施例提供的跨单据工作流的具体实现流程图;
[0041] 图3为本发明实施例提供的跨单据工作流的实现实例流程图;
[0042] 图4为本发明实施例提供的实例方法中单据间数据对应规则的规则示意图;
[0043] 图5为本发明实施例提供的实例方法中状态联动规则示意图;
[0044] 图6为本发明实施例提供的跨单据工作流的实现系统结构示意图。

具体实施方式

[0045] 本发明实施例提供一种跨单据工作流的实现方法及系统,通过对单据内部及单据间状态驱动事件的定义,仅通过应用层面的配置,完成跨单据业务的流程控制。
[0046] 以上是本发明的核心思想,为了使本技术领域的人员更好地理解本发明方案。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0047] 本发明实施例提供的跨单据工作流实现方法的流程图如图1所示,包括:
[0048] 步骤S101:为目标单据和源单据分配单据标识;
[0049] 各个业务单据都拥有唯一的单据标识用以表明单据,该单据标识起到区分单据的作用,同时该单据标识应用到单据内部的执行状态、执行事件等主体前,用以标明单据内部的各个操作。
[0050] 步骤S102:定义单据内部及单据间的状态驱动事件,所述单据间的状态驱动事件包括单据间转换规则;
[0051] 步骤S103:依据所述单据间转换规则,将源单据中的数据工作流转换至目标单据的数据工作流。
[0052] 单据内部的状态驱动事件包括:单据事件名称、单据事件执行状态和触发事件角色;例如:“单据A内事件2,角色2”,其中“单据A”为单据的唯一标识,“事件2”为单据事件名称,“角色2”为触发“事件2”的角色或用户,“角色2”与用户的权限进行关联,拥有该权限的“角色2”可以触发“事件2”,“角色2”在触发“事件2”时,会根据单据A当前的事件状态的流转,向下一个事件角色发送工作提醒消息。需要注意的是,本发明实施例公开的单据内部的状态驱动事件是工作流跨单据实现的前提条件,由以上事例可知单据事件状态标识单据的执行状态;单据事件名称标识触发单据执行状态发生改变的执行操作;触发事件角色标识执行操作的执行主体。
[0053] 单据间的状态驱动事件包括:单据间事件名称、单据间触发事件角色和单据间转换规则,其中单据间转换规则包括:单据间数据对应规则和状态联动规则;
[0054] 例如:“单据间转换事件1,(单据A.单据转换规则1),角色4,(单据A.状态联动规则1)”,“单据间转换事件1”为单据间事件名称,标识冲源单据A到目标单据的生成操作,“角色4”为单据间触发事件角色,标识触发单据间事件操作改变的执行主体,“单据A.单据转换规则1”为单据间转换规则中的单据间数据对应规则,用于标明源单据与目标单据的数据关系,“单据A.状态联动规则”为单据间转换规则中的状态联动规则,用于标明源单据到目标单据工作流转换过程中,目标单据所需要对应的单据事件状态。
[0055] 定义单据间的状态驱动事件,在单据驱动事件上除标识事件本身外,还需要读取不同单据的单据结构和单据标识,以提供单据间转换的业务规则即“单据A.单据转换规则1”,标明源单据和目标单据的数据对应关系;本发明实施例中,为简化工作流配置流程,将单据间转换的规则单据进行定义并对其进行编号,在工作流配置时仅标识所引用的规则编号即可。“单据A.状态联动规则1”代表A单据在单据间状态驱动的条件下,下游单据的状态改变规则。
[0056] 本发明实施例提供的跨单据工作流的具体实现流程图如图2所示,本发明实施例通过图2对工作流的跨单据实现进行详细说明,假设源单据为单据A,目标单据为单据B,单据A内部的工作流控制顺序为:
[0057] 单据A在初始状态下,其初始状态为“单据A.状态1”,按工作流控制顺序执行,“单据A内事件1”在“角色1”的触发下,改变“单据A.状态1”至“单据A.状态2”,“单据A内事件2”在“角色2”的触发下,改变“单据A.状态2”至“单据A.状态3”完成单据A内部的工作流控制,同时若有紧急事件的发生,“单据A内事件3”在“角色3”的触发下,可由“单据A.状态1”直接跳转至“单据A.状态3”。
[0058] 单据B内部的工作流控制顺序,其执行原理和单据A内部的执行原理一致,单据B在初始状态下,其初始状态为“单据B.状态1”,按工作流控制顺序执行,“单据B内事件1”在“角色5”的触发下,改变“单据B.状态1”至“单据B.状态2”,“单据B内事件2”在“角色6”的触发下,改变“单据B.状态2”至“单据B.状态3”完成单据B内部的工作流控制,同时若有紧急事件的发生,“单据B内事件3”在“角色7”的触发下,可由“单据B.状态1”直接跳转至“单据B.状态4”完成单据B内部的工作流控制。
[0059] 由单据A到单据B的工作流转换过程为,“角色4”触发“单据间转换事件1’,单据A根据“单据A.单据转换规则1”中单据A与单据B之间的数据对应关系,将单据A内部的工作流转换至单据B中,根据“单据A.状态联动规则1”在单据B中生成单据B的初始状态“单据B.状态1”;若“角色8”触发“单据间转换事件2”,则“单据A.状态3”跳过“单据B.状态1”,直接执行“单据B.状态2”。
[0060] 这里需要对“单据A.状态联动规则2”进行说明,状态联动规则表示,单据A在事件驱动时,单据B可以到达的状态,该状态分为“NULL”和“非NULL”两种,当状态联动规则为“NULL”时,代表直接跳转到箭头指向的状态,如果定义了状态联动规则,即“非NULL”状态,则跳转到规则约束的状态上去。
[0061] 由于定义了单据内部的状态驱动事情,所以单据间的状态驱动的执行以单据内部的状态驱动事件为前提条件,根据转换规则,通过应用配置,实现源单据到目标单据的工作流转换。
[0062] 本发明实施例提供的跨单据工作流实现实例流程图如图3所示,提供的单据间数据对应规则的规则示意图如图4所示,提供的实例方法中状态联动规则示意图如图5所示,结合图3、图4和图5对跨单据工作流的实现过程做进一步阐述;
[0063] 如图3所示,为采购申请单据到采购订单单据的转换:
[0064] 采购申请单据内部的工作流程为:
[0065] 初始状态:“采购申请单.已计划”,“角色1”驱动“采购申请单.审核”操作,对处于已计划状态的申请单进行审核,采购申请单处于状态“采购申请单.已核准”,“角色2”驱动“采购申请单.下达”操作,对处于已核准状态的申请单进行下达,采购申请单处于状态“采购申请单.已核准”;若“角色3”驱动“采购申请单.紧急申请”操作,采购申请单从以计划状态下直接转到“采购申请单.已下达”状态;采购申请单处于已下达状态时,采购申请单内部的工作流执行顺序完成。
[0066] 角色4驱动生成采购订单操作,依据“采购申请单->订单规则”,将单据A中的数据流转换至单据B中,如图4所示,“采购申请单->订单规则”示意图中定义了目标单据(采购订单)和源单据(采购申请单)之间的转换规则,如:采购订单中的“订单号”为自动生成,采购订单中的“采购申请单号”和采购申请单中的申请号一致,采购订单中的“申请组织”和采购申请单中的申请组织一致;用户可以根据自己的实际需要对转换规则进行定义。
[0067] 图3所示的实施例中,状态联动规则为“NULL”,所以采购申请单.已下达,直接跳转到“采购订单.已计划”;若采用如图5所示的,“采购申请(紧急)->采购订单状态规则”,则直接将采购订单的状态调整为“审核”状态,可见在紧急情况下,采购订单作为下游单据,可以快速进入审核状态,以加快采购速度,同时也就意味着在定义状态联动规则后,不同单据之间可以实现多种状态的跳转,采购申请单可以直接到达采购订单中“已计划”、“审核”或“已签发”等任意状态,完全由用户自己定义。
[0068] 采购订单内部工作流处理过程如下:
[0069] 初始状态:“采购订单.已计划”,“角色5”驱动“采购订单.审核”操作,对处于已计划状态的订单进行审核,采购订单处于状态“采购订单.审核”“角色6”驱动“采购订单.签发”操作,对处于已审核状态的订单进行签发,采购订单处于状态“采购订单.已签发”;若“角色7”驱动“采购订单.驳回”操作,采购订单从以计划状态下直接转到“采购订单.驳回”状态;采购申请单处于“驳回“状态时,采购订内部的工作流执行顺序完成。
[0070] 由以上实例知,本发明实施例公开的方法在实现过程中需要满足以下条件:各个业务单据拥有唯一的单据标识;单据内部的状态是确定的;单据之间的数据转换规则可以自由定义;与单据关联的各个状态支持关联人员信息,以便进行任务消息发送;单据间状态转换的事件确定。只有在以上条件均具备的环境下,才能完整的实现跨单据工作流的工作流控制,以上条件的限制仅适用于单据之间的转换,单据内部不受以上条件的限制。
[0071] 本发明实施例公开的跨单据工作流方法,实现了所有流程控制的可配置操作,实现了企业工作流管理中,多种单据负责关系控制的交互,同时避免了因为企业控制流程与标准产品不同而进行的二次开发,在EPR及流程管理类软件中都可以很好的应用。
[0072] 本发明实施例提供的跨单据工作流的实现系统结构示意图如图6所示,包括:单据标识分配单元201、状态驱动事件定义单元202和工作流转换单元203;
[0073] 单据标识分配单元201用于为目标单据和源单据分配单据标识;
[0074] 状态驱动事件定义单元202用于定义单据内部及单据间的状态驱动事件,所述单据间的状态驱动事件包括单据间转换规则;
[0075] 工作流转换单元203用于依据状态驱动事件定义单元202定义的单据间转换规则,将源单据中的数据工作流转换至目标单据的数据工作流。
[0076] 需要说明的是:单据标识分配单元201分配的单据标识,应用在单据内部的各种操作中,同时也应用于状态驱动事件定义单元202定义的单据内部及单据间的状态驱动事件。
[0077] 单据标识分配单元分配的单据标识为单据的标识符,用于唯一标明目标单据或源单据。
[0078] 状态驱动事件定义单元定义的单据内部的状态驱动事件包括:单据事件名称、单据事件状态和触发事件角色;
[0079] 单据事件状态标识单据的执行状态;
[0080] 单据事件名称标识触发单据执行状态发生改变的执行操作;
[0081] 触发事件角色标识所述执行操作的执行主体。
[0082] 状态驱动事件定义单元定义的单据间的状态驱动事件还包括:单据间事件名称和单据间触发事件角色;
[0083] 单据间事件名称标识从源单据生成目标单据的生成操作;
[0084] 单据间触发事件角色标识所述生成操作的执行主体。
[0085] 状态驱动事件定义的单据间转换规则包括:单据间数据对应规则和状态联动规则;
[0086] 单据间数据对应规则标明源单据与目标单据的数据对应关系;
[0087] 状态联动规则标明源单据和目标单据工作流转换过程中,目标单据的单据事件状态。
[0088] 本发明实施例公开的系统以可视化的工作流配置技术实现工作流在不同单据之间的转换,工作流转换单元中设置有执行控件,用户可以根据实际的需求对转换规则进行定义后,通过执行控件实现不同单据之间的工作流转换。
[0089] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。