单据数据获取装置和单据数据获取方法

文档序号:6399612阅读:176来源:国知局
专利名称:单据数据获取装置和单据数据获取方法
技术领域
本发明涉及流程技术领域,具体而言,涉及一种单据数据获取装置和单据数据获取方法。
背景技术
工作流作为一种促进企业管理和信息化的重要方法,在当今社会得到了广泛的应用。它不仅可以给企业带来提高企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高工作效率的好处。还可以达到缩短企业运营周期、改善企业内(外)部流程、优化并合理利用资源、减少人为差错和延误等目的。单据的流程审批作为工作流应用范围的重要组成部分,在企业应用中扮演着越来越重的角色。单据在审批过程中,通过与工作流的挂接,用户可以通过浏览器和数据库把各种信息方便地展现给用户,让内部信息的流动及传递更加迅速准确。所有单据流程运作会按照既定的规则运转到相关部门执行或审核。同时工作流可以根据单据设置不同的业务规贝U,提高了任务的执行速度,降低了人力成本以及由人参与所带来的低效和不公。然而在流程审批过程中,流程和单据本身的数据交换是不可避免的。如何实现流程和单据数据之间的动态交互,是尤为重要的。目前大部分的方案往往是在流程中直接指定了流程中可能需要的单据信息。一旦业务发生改变,需要其它的单据信息时,只能修改原有程序来增加对应的流程处理,很难快速适应业务变化。如图1所示,该方案在流程中直接指定了具体业务含义的单据信息字段,所以在流程审批过程中不能实现动态获取单据的信息。比如业务为以下场景时,就很难适应业务变化。现在要求在流程审批过程中把目前展现的单据金额改为单据编号,这时由于流程中原来通过硬编码方式直接写入的单据金额字段的值,当流程审批过程中切换为单据编号显示后,要么在流程中增加一个字段,专门来保存现有的单据编号。要么把原来写入金额的字段改写为写入流程编号,无论哪种解决方案,都需要修改代码甚至还需要修改表结构,所以无论其扩展性还是灵活性都是及其不好的。因此,需要一种新的单据数据获取技术,可以在流程中动态获取单据信息,增强流程和单据之间数据交互性。

发明内容
本发明正是基于上述问题,提出了一种新的单据数据获取技术,可以在流程中动态获取单据信息,增强流程和单据之间数据交互性。有鉴于此,本发明提出了一种单据数据获取装置,包括:扩展字段设置单元,根据接收到的设置指令,在流程任务中设置一个或多个扩展字段;信息获取单元,获取单据中的所有单据字段信息;字段获取单元,当检测到所述一个或多个扩展字段中的任意扩展字段有具体查询字段输入时,根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,从所述信息获取单元中获取到与所述具体查询字段对应的单据字段信息。在该技术方案中,在流程任务中预置一些扩展字段,在预置时,并不直接指定其具体的业务含义,而是通过扩展字段和单据字段的对应关系,即映射关系,动态的获取单据数据,从而在不修改代码的前提下,快速的适应业务变化。在上述技术方案中,优选地,所述信息获取单元包括:流程上下文构造子单元,控制流程引擎外围将所述单据中的所有单据信息暂存至流程上下文;以及所述字段获取单元包括:字段查找子单元,控制流程引擎内核根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,查找到与所述具体查询字段对应的单据字段,在所述流程上下文中取得对应的单据信息,并通过反射调用获取具体的单据字段的值。在该技术方案中,通过扩展字段和单据字段的映射关系和流程引擎的处理,就可以获得单据中指定字段的值,从而实现了流程审批中单据数据的动态抓取。 在上述技术方案中,优选地,还包括:字段配置单元,检测所述单据的类型,根据所述单据的类型确定所述流程任务的类型,并为所述一个或多个扩展字段配置对应的单据字段信息;以及关系存储单元,存储所述一个或多个扩展字段和所述单据字段信息的对应关系O在该技术方案中,由于业务上的单据必定对应一种流程类型,所以对应关系的配置是在流程类型上配置的,在单据对应的流程类型中,通过维护对应关系,动态指定流程任务的扩展字段和单据字段的对应关系,增加可流程和单据之间交互的灵活性。在上述技术方案中,优选地,所述信息获取单元获取单据字段信息的方式包括:通过查询元数据获取所有单据字段信息和/或通过查询单据所对应的数据库表的元数据获取所有单据字段信息。在上述技术方案中,优选地,当所述单据本身有对应的元数据时,通过查询元数据获取所有单据字段信息,当所述单据本身没有对应的元数据时,通过查询单据所对应的数据库表的元数据获取所有单据字段信息。在该技术方案中,单据本身有对应的元数据时,这时元数据中已经保存了单据中所有字段的信息,可以通过查询元数据方式获取单据所有的字段。单据本身没有对应的元数据时,这时单据中含有一些动态字段,即单据本身不确定有哪些具体的单据字段,可以通过查询单据所对应的数据库表的元数据的方式获取单据所有的字段。根据本发明的又一方面,还提供了一种单据数据获取方法,包括:步骤302,根据接收到的设置指令,在流程任务中设置一个或多个扩展字段;步骤304,获取单据中的所有单据字段信息;步骤306,当检测到所述一个或多个扩展字段中的任意扩展字段有具体查询字段输入时,根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,从所述信息获取单元中获取到与所述具体查询字段对应的单据字段信息。在该技术方案中,在流程任务中预置一些扩展字段,在预置时,并不直接指定其具体的业务含义,而是通过扩展字段和单据字段的对应关系,即映射关系,动态的获取单据数据,从而在不修改代码的前提下,快速的适应业务变化。在上述技术方案中,优选地,所述步骤304具体包括:控制流程引擎外围将所述单据中的所有单据信息暂存至流程上下文;以及所述步骤306具体包括:控制流程引擎内核根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,查找到与所述具体查询字段对应的单据字段,在所述流程上下文中取得对应的单据信息,并通过反射调用获取具体的单据字段的值。
在该技术方案中,通过扩展字段和单据字段的映射关系和流程引擎的处理,就可以获得单据中指定字段的值,从而实现了流程审批中单据数据的动态抓取。在上述技术方案中,优选地,还包括:检测所述单据的类型,根据所述单据的类型确定所述流程任务的类型,并为所述一个或多个扩展字段配置对应的单据字段信息;以及存储所述一个或多个扩展字段和所述单据字段信息的对应关系。在该技术方案中,由于业务上的单据必定对应一种流程类型,所以对应关系的配置是在流程类型上配置的,在单据对应的流程类型中,通过维护对应关系,动态指定流程任务的扩展字段和单据字段的对应关系,增加可流程和单据之间交互的灵活性。在上述技术方案中,优选地,获取单据字段信息的方式包括:通过查询元数据获取所有单据字段信息和/或通过查询单据所对应的数据库表的元数据获取所有单据字段信肩、O在上述技术方案中,优选地,当所述单据本身有对应的元数据时,通过查询元数据获取所有单据字段信息,当所述单据本身没有对应的元数据时,通过查询单据所对应的数据库表的元数据获取所有单据字段信息。在该技术方案中,单据本身有对应的元数据时,这时元数据中已经保存了单据中所有字段的信息,可以通过查询元数据方式获取单据所有的字段。单据本身没有对应的元数据时,这时单据中含有一些动态字段,即单据本身不确定有哪些具体的单据字段,可以通过查询单据所对应的数据库表的元数据的方式获取单据所有的字段。通过以上技术方案,可以实现流程审批中单据数据的动态抓取,可以在不修改代码的前提下,通过简单的配置即可适应业务的变化,避免了程序员的二次开发工作,同时实施人员也可以快速方便使用。


图1示出了传统单据数据获取方法的示意图;图2示出了根据本发明的实施例的单据数据获取装置的框图;图3示出了根据本发明的实施例的单据数据获取方法的流程图;图4示出了根据本发明的实施例的单据数据获取方法的具体流程图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。图2示出了根据本发明的实施例的单据数据获取装置的框图。如图2所示,根据本发明的实施例的单据数据获取装置200包括:扩展字段设置单元202,根据接收到的设置指令,在流程任务中设置一个或多个扩展字段;信息获取单元204,获取单据中的所有单据字段信息;字段获取单元206,当检测到所述一个或多个扩展字段中的任意扩展字段有具体查询字段输入时,根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,从所述信息获取单元中获取到与所述具体查询字段对应的单据字段信息。在该技术方案中,在流程任务中预置一些扩展字段,在预置时,并不直接指定其具体的业务含义,而是通过扩展字段和单据字段的对应关系,即映射关系,动态的获取单据数据,从而在不修改代码的前提下,快速的适应业务变化。在上述技术方案中,优选地,所述信息获取单元204包括:流程上下文构造子单元2042,控制流程引擎外围将所述单据中的所有单据信息暂存至流程上下文;以及所述字段获取单元206包括:字段查找子单元2062,控制流程引擎内核根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,查找到与所述具体查询字段对应的单据字段,在所述流程上下文中取得对应的单据信息,并通过反射调用获取具体的单据字段的值。在该技术方案中,通过扩展字段和单据字段的映射关系和流程引擎的处理,就可以获得单据中指定字段的值,从而实现了流程审批中单据数据的动态抓取。在上述技术方案中,优选地,还包括:字段配置单元208,检测所述单据的类型,根据所述单据的类型确定所述流程任务的类型,并为所述一个或多个扩展字段配置对应的单据字段信息;以及关系存储单元210,存储所述一个或多个扩展字段和所述单据字段信息的对应关系。在该技术方案中,由于业务上的单据必定对应一种流程类型,所以对应关系的配置是在流程类型上配置的,在单据对应的流程类型中,通过维护对应关系,动态指定流程任务的扩展字段和单据字段的对应关系,增加可流程和单据之间交互的灵活性。在上述技术方案中,优选地,所述信息获取单元204获取单据字段信息的方式包括:通过查询元数据获取所有单据字段信息和/或通过查询单据所对应的数据库表的元数据获取所有单据字段信息。在上述技术方案中,优选地,当所述单据本身有对应的元数据时,通过查询元数据获取所有单据字段信息,当所述单据本身没有对应的元数据时,通过查询单据所对应的数据库表的元数据获取所有单据字段信息。在该技术方案中,单据本身有对应的元数据时,这时元数据中已经保存了单据中所有字段的信息,可以通过查询元数据方式获取单据所有的字段。单据本身没有对应的元数据时,这时单据中含有一些动态字段,即单据本身不确定有哪些具体的单据字段,可以通过查询单据所对应的数据库表的元数据的方式获取单据所有的字段。图3示出了根据本发明的实施例的单据数据获取方法的流程图。如图3所示,根据本发明的实施例的单据数据获取方法,包括:步骤302,根据接收到的设置指令,在流程任务中设置一个或多个扩展字段;步骤304,获取单据中的所有单据字段信息;步骤306,当检测到所述一个或多个扩展字段中的任意扩展字段有具体查询字段输入时,根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,从所述信息获取单元中获取到与所述具体查询字段对应的单据字段信息。在该技术方案中,在流程任务中预置一些扩展字段,在预置时,并不直接指定其具体的业务含义,而是通过扩展字段和单据字段的对应关系,即映射关系,动态的获取单据数据,从而在不修改代码的前提下,快速的适应业务变化。
在上述技术方案中,优选地,所述步骤304具体包括:控制流程引擎外围将所述单据中的所有单据信息暂存至流程上下文;以及所述步骤306具体包括:控制流程引擎内核根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,查找到与所述具体查询字段对应的单据字段,在所述流程上下文中取得对应的单据信息,并通过反射调用获取具体的单据字段的值。在该技术方案中,通过扩展字段和单据字段的映射关系和流程引擎的处理,就可以获得单据中指定字段的值,从而实现了流程审批中单据数据的动态抓取。在上述技术方案中,优选地,还包括:检测所述单据的类型,根据所述单据的类型确定所述流程任务的类型,并为所述一个或多个扩展字段配置对应的单据字段信息;以及存储所述一个或多个扩展字段和所述单据字段信息的对应关系。在该技术方案中,由于业务上的单据必定对应一种流程类型,所以对应关系的配置是在流程类型上配置的,在单据对应的流程类型中,通过维护对应关系,动态指定流程任务的扩展字段和单据字段的对应关系,增加可流程和单据之间交互的灵活性。在上述技术方案中,优选地,获取单据字段信息的方式包括:通过查询元数据获取所有单据字段信息和/或通过查询单据所对应的数据库表的元数据获取所有单据字段信肩、O在上述技术方案中,优选地,当所述单据本身有对应的元数据时,通过查询元数据获取所有单据字段信息,当所述单据本身没有对应的元数据时,通过查询单据所对应的数据库表的元数据获取所有单据字段信息。在该技术方案中,单据本身有对应的元数据时,这时元数据中已经保存了单据中所有字段的信息,可以通过查询元数据方式获取单据所有的字段。单据本身没有对应的元数据时,这时单据中含有一些动态字段,即单据本身不确定有哪些具体的单据字段,可以通过查询单据所对应的数据库表的元数据的方式获取单据所有的字段。图4示出了根据本发明的实施例的单据数据获取方法的具体流程图。如图4所示,根据本发明的实施例的单据数据获取方法的具体流程如下:步骤402,增加扩展字段。在流程任务中增加一些扩展字段,这些扩展字段在定义时并不指定其具体的业务含义,其业务含义是通过配置具体的映射关系来动态指定的。步骤404,获取单据字段。其中,当单据本身有对应的元数据时,这时元数据中已经保存了单据中所有字段的信息,可以通过查询元数据方式获取单据所有的字段;当单据本身没有对应的元数据时,这时单据中含有一些动态字段,即单据本身不确定有哪些具体的单据字段,可以通过查询单据所对应的数据库表的元数据的方式获取单据所有的字段。步骤406,配置映射关系。由于业务上的单据必定对应一种流程类型,所以映射关系的配置是在流程类型上配置的。在单据对应的流程类型中,通过维护映射关系,动态指定流程任务的扩展字段和具体单据字段的映射关系。此时扩展字段的业务含义是通过动态配置关联的单据字段指定的,同时还可以任意关联单据上的某个字段,从而大大增加了流程和单据之间交互的灵活性。如果业务发生变化,比如流程中需要其他单据信息时,可以通过维护该映射关系,动态调整流程和单据之间的交互数据,快速适应业务的变化。步骤408,动态抓取数据。通过字段映射的配置关系和流程引擎的处理获得单据中指定字段的值,从而实现流程审批中单据数据的动态抓取。其中,包括:步骤4082,在单据提交时,需要调用流程引擎驱动流程流转。此时流程引擎要求必须传入单据信息和其它流程相关信息,以便后续调用。步骤4084,流程引擎外围会组织流程数据,构造不同的流程上下文,同时根据不同的流程操作,调用引擎内核继续执行,此时会把当前单据信息放入流程上下文中,便于之后单据与流程随时交互。步骤4086,在流程引擎内核中,实现具体的单据数据的抓取。如果流程和单据信息需要交互,可以通过映射关系获得流程中扩展字段所对应的单据字段。然后在流程上下文中取得对应的单据信息,接着调用该单据自身方法(getAttributeValue (field))获得具体的单据字段的值,该方法中的参数为通过映射关系获取的具体的单据字段,通过该方法反射调用单据自身方法中该字段对应的get方法获得指定字段的值。以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以实现流程审批中单据数据的动态抓取,可以在不修改代码的前提下,通过简单的配置即可适应业务的变化,避免了程序员的二次开发工作,同时实施人员也可以快速方便使用。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种单据数据获取装置,其特征在于,包括: 扩展字段设置单元,根据接收到的设置指令,在流程任务中设置一个或多个扩展字段; 信息获取单元,获取单据中的所有单据字段信息; 字段获取单元,当检测到所述一个或多个扩展字段中的任意扩展字段有具体查询字段输入时,根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,从所述信息获取单元中获取到与所述具体查询字段对应的单据字段信息。
2.根据权利要求1所述的单据数据获取装置,其特征在于,所述信息获取单元包括: 流程上下文构造子单元,控制流程引擎外围将所述单据中的所有单据信息暂存至流程上下文;以及 所述字段获取单元包括: 字段查找子单元,控制流程引擎内核根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,查找到与所述具体查询字段对应的单据字段,在所述流程上下文中取得对应的单据信息,并通过反射调用获取具体的单据字段的值。
3.根据权利要求1所述的单据数据获取装置,其特征在于,还包括: 字段配置单元,检测所述单据的类型,根据所述单据的类型确定所述流程任务的类型,并为所述一个或多个扩展字 段配置对应的单据字段信息;以及 关系存储单元,存储所述一个或多个扩展字段和所述单据字段信息的对应关系。
4.根据权利要求1至3中任一项所述的单据数据获取装置,其特征在于,所述信息获取单元获取单据字段信息的方式包括:通过查询元数据获取所有单据字段信息和/或通过查询单据所对应的数据库表的元数据获取所有单据字段信息。
5.根据权利要求4所述的单据数据获取装置,其特征在于,当所述单据本身有对应的元数据时,通过查询元数据获取所有单据字段信息,当所述单据本身没有对应的元数据时,通过查询单据所对应的数据库表的元数据获取所有单据字段信息。
6.一种单据数据获取方法,其特征在于,包括: 步骤302,根据接收到的设置指令,在流程任务中设置一个或多个扩展字段; 步骤304,获取单据中的所有单据字段信息; 步骤306,当检测到所述一个或多个扩展字段中的任意扩展字段有具体查询字段输入时,根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,从所述信息获取单元中获取到与所述具体查询字段对应的单据字段信息。
7.根据权利要求6所述的单据数据获取方法,其特征在于,所述步骤304具体包括: 控制流程引擎外围将所述单据中的所有单据信息暂存至流程上下文;以及 所述步骤306具体包括: 控制流程引擎内核根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,查找到与所述具体查询字段对应的单据字段,在所述流程上下文中取得对应的单据信息,并通过反射调用获取具体的单据字段的值。
8.根据权利要求6所述的单据数据获取方法,其特征在于,还包括: 检测所述单据的类型,根据所述单据的类型确定所述流程任务的类型,并为所述一个或多个扩展字段配置对应的单据字段信息;以及存储所述一个或多个扩展字段和所述单据字段信息的对应关系。
9.根据权利要求6至8中任一项所述的单据数据获取方法,其特征在于,获取单据字段信息的方式包括:通过查询元数据获取所有单据字段信息和/或通过查询单据所对应的数据库表的元数据获取所有单据字段信息。
10.根据权利要求9所述的单据数据获取方法,其特征在于,当所述单据本身有对应的元数据时,通过 查询元数据获取所有单据字段信息,当所述单据本身没有对应的元数据时,通过查询单据所对应的数据库表的元数据获取所有单据字段信息。
全文摘要
本发明提供了一种单据数据获取装置,包括扩展字段设置单元,根据接收到的设置指令,在流程任务中设置一个或多个扩展字段;信息获取单元,获取单据中的所有单据字段信息;字段获取单元,当检测到所述一个或多个扩展字段中的任意扩展字段有具体查询字段输入时,根据存储的所述一个或多个扩展字段和所述单据字段信息的对应关系,从所述信息获取单元中获取到与所述具体查询字段对应的单据字段信息。相应地,本发明还提供了一种单据数据获取方法。通过本发明的技术方案,可以在流程中动态获取单据信息,从而在不修改代码的前提下,快速的适应业务变化,增强流程和单据之间数据交互性。
文档编号G06F17/30GK103092996SQ20131005573
公开日2013年5月8日 申请日期2013年2月21日 优先权日2013年2月21日
发明者陈伟亮 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1