单据处理方法、装置和系统的制作方法

文档序号:6467419阅读:164来源:国知局

专利名称::单据处理方法、装置和系统的制作方法
技术领域
:本发明涉及数据处理领域,尤其涉及单据处理方法、装置和系统。
背景技术
:当前的企业,尤其是大规才莫的企业,都利用大的数据管理系统如ERP进行企业数据信息的管理和操作,而企业中因各种职能分工的不同包含了很多个组织,各个组织都有自己的数据信息的管理,这样就会存在大量的单据。例如在一个集团公司下,包含多个分公司、采购中心、销售中心或者工厂,而其中的每个组织,如一个销售中心,都会有自己的业务单据。在实际业务中,可能会需要对多个组织的多个单据进行同样的操作。仍然以销售中心为例,例如某个集团公司有三个销售中心,分别记为第一、第二和第三销售中心,现在对这三个销售中心的某些订单都要进^"冻结。面对这种多组织多单据的业务需要,一种比较容易的解决方案是在客户端循环所有单据,调用服务端的业务处理逻辑,对多组织多单据进行处理,例如,如果有三个组织的共10个单据都要进行冻结操作,那么总共需要在客户端调用10次服务端的业务处理逻辑。本发明人在对现有技术的研究中发现,对于多组织的多个单据进行需要进行同样的处理时,在客户端循环所有单据,调用服务端的业务处理逻辑,对多组织多单据进行处理过程中对每个单据的处理,都要调用一次服务端的业务处理逻辑,占用了大量的系统资源,对系统性能造成很大的伤害,执行效率很低,此外,当客户端与服务端通过网络连接时,大量的多次的数据传递使得该方法无法实行。
发明内容有鉴于此,本发明实施例提供了单据处理方法、装置和系统,实现对多组织的多个单据一次性进行处理。为实现上述目的,本发明实施例提供了如下技术方案一种多组织系统的单据处理方法,在所述多组织系统中设置执行代理,所述方法包括所述执行代理将获取的单据数据批量上传到服务端,其中,所述单据数据包括用户所选择单据的单据信息和才乘作指示;所述服务端根据接收到的单据数据中的操作指示将所述单据数据分配给自身对应业务处理单元进行批量处理;所述业务处理单元在处理结束后将处理结果发送给执行代理用于向用户显示。所述执行代理将获取的单据数据批量上传到服务端具体包括所述执行代理将所获取的单据数据进行包装;所述执行代理将包装后的单据数据上传到服务端。在所述执行代理获取用户选择的单据信息和操作指示前,还包括在服务端设置业务处理单元,所述业务处理单元能够批量处理单据数据。在所述执行代理将获取的单据数据批量上传到服务端之前,还包括检测对所述用户选择的单据的操作指示中是否有互斥操作;或者,获取所述操作指示中所指示操作的操作原因。优选地,还包括执行代理接收到处理结果后,刷新原单据。所述批量处理具体包括所述业务处理单元通过自身业务的批量SQL进行批量业务处理;或者,所述业务处理单元循环调用单一业务处理方法实现批量业务处理。优选地,还包括在执行结果中记录处理失败的失败原因。所述单据信息包括单据的编号、单据标识、业务组织或各单据中包含的明细刊4示i口、。一种用于单据处理的执行代理,包括获取单元,用于获取单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;批量上传单元,用于将获取的单据数据批量上传到服务端;接收单元,用于接收服务端对单据数据批量处理后的处理结果。所述批量上传单元具体包括包装模块,用于将获取单元获取的单据数据进行包装;执行模块,用于将由包装模块包装后的模块上传到服务端。优选地,还包括辅助执行单元,用于检测获取单元所获取的单据数据中是否存在互斥操作;或者,用于获取所述操作指示中所指示的操作的操作原因;或者,执行代理接收到处理结果后,刷新原单据。一种用于单据处理的装置,该装置位于服务端,包括接收单元,分配单元、发送单元和至少一个业务处理单元的业务处理单元组,其中所述接收单元,用于接收批量上传的单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;所述分配单元,用于将所述单据数据分配给与所述操作指示相对应的业务处理单元;业务处理单元,用于对接收到的单据数据进行批量处理;发送单元,用于发送将业务处理单元批量处理的处理结果。所述业务处理单元包括第一批量处理^^莫块,用于通过自身业务的批量SQL进行批量业务处理;或者,第二批量处理模块,用于循环调用自身业务处理方法实现批量业务处理。一种单据处理系统,包括执行代理,用于获取单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;将获取的单据数据批量上传到服务端;接收服务端对单据数据批量处理后的处理结果;服务端,用于接收所述执行代理批量上传的单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;按照所述操作指示对接收到的单据数据进行批量处理;批量处理的处理结果发送给所述执行代理。所述执行代理,还用于在获取单据数据后,检测所述单据数据中是否存在互斥操作;或者,在执行操作前要求用户录入执行操作的原因;或者,在执行操作后刷新原单据。可见,在本发明实施例中,在所述多组织系统中设置执行代理,所述执行代理将获取的单据数据批量上传到服务端,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;所述服务端根据接收到的单据数据中的操作指示将所述单据数据分配给自身对应业务处理单元进行批量处理;所述业务处理单元在处理结束后将处理结果发送给执行代理用于向用户显示,从而实现了将多组织多单据一次性批量地提交到服务端,而在服务端,对应的业务处理单元也可以对批量提交的单据进行批量处理,极大地提高了处理效率。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例所提供的方法的流程图;图2为本发明实施例所提供的方法的流程图;图3为本发明实施例所提供的方法的执行结果图;图4为本发明实施例所提供的装置的结构示意图;图5为本发明实施例所提供的装置中一部件的结构示意图;图6为本发明实施例所供的装置的结果示意图;图7为本发明实施例所提供的系统的结构示意图。具体实施例方式本发明实施例提供了单据处理方法、装置和系统,下面结合附图对本发明实施例进行详细描述。为了实现通过批处理的方法对多组织的多个单据一次性进行操作,需要对常见的各种操作进行归纳。仍然以销售单据为例,常见的操作有删除、关闭、作废、冻结及打印等。如表l所示,包括操作的名称,各个操作对应的执行前操作,各个操作是否存在互斥操作以及操作对象。其中,表1中第三列的是否互斥操作是指判断某个操作是否能够与其他操作同时对同一个操作对象实施,如果可以就不是互斥操作,如果不行就是互斥操作。仍然以冻结为例,如果当前的操作是对某个明细行进行冻结,但是另一个操作如关闭操作正在对同一个明细行进行,那么此时该冻结操作就不能进行。第二列的执行前操作是指某个操作执行前需要进行的辅助操作,例如,在执行删除操作前,会要求用户确认是否是要删除,以免用户进行误操作;在执行其他的操作时,需要用户输入操作原因,比如,在冻结一个订单行时,要先输入该行为什么要冻结,比如'预付款未达帐,;类似'关闭,和'作废,也要输入相应的原因,这样方便用户在日后查询对每个单据进行各个操作的原因。表1<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>从表1中我们可以清楚的看出,如执行前4乘作以及互斥性的判断等辅助性的操作提高了单据处理的安全性或者完善性,通过综合各种情况,归纳出各种操作的逻辑,通过归纳找出各业务操作之间的相同点和不同点,从整体上对各种操作进行把握。参见图1,本发明实施例提供一种多组织系统的单据处理方法,在所述多组织系统中设置执行代理,所述方法包括步骤101:所述执行代理获取单据数据。其中,所述单据数据包括用户选择单据的单据信息和操作指示。所述单据信息包括单据的编号、单据标识、业务组织、各单据中包含的明细行标识等。操作指示则是对用户选择的单据所要进行的操作,例如对于销售单据,有冻结、删除、打印等。从表l所示的操作逻辑中看出,部分操作存在着互斥操作。所以在获取操作指示后,要判断当前是否存在对用户选择单据的互斥操作,如果存在,则对用户进行4是示。步骤102:所述执行代理将获取的单据数据批量上传到服务端。此时,用户选择的单据量可能会较大,那么,为了便于传递大量的单据信息,可以在将所述单据信息和所述操作指示传递到服务端之前,将所述单据信息和所述操作指示进行包装,通过这样包装可以减少传递过程中对资源的占用,大大地提高传递效率,在本发明实施例中,执行代理将单据数据上传到服务端具体包括所述执行代理将所获取的单据数据进行包装;所述执行代理将包装后的单据数据上传到服务端。步骤103:服务端根据接收到的单据数据中的操作指示将所述单据数据分配给自身对应的业务处理单元进行批量处理。其中,所述业务处理单元对接收到的单据进行批量处理的具体实现,可以是在业务处理单元中定义与原来单一业务处理相对应的批量业务处理方法,如审核方法audit对应的批量审核方法是batchAudit方法,通过高效的批量SQL进行业务处理。在其他实施例中,所述业务处理单元对接收到的单据进行批量处理也可以通过业务处理单元采用循环调用单一业务来实现。根据具体业务的不同,在服务端有不同的业务处理单元,例如,对与冻结操作,有对应的冻结处理单元;对应删除操作,有对应的删除处理单元。当服务端收到单据信息和操作指示时,会根据操作指示将单据信息分配给相应的业务处理单元进行处理。在实际应用中,在服务端可以由批量执行器接收由执行代理发生的单据数据,然后根据单据数据中的操作指示将所述单据数据分配给自身对应的业务处理单元进行批量处理。而所述的批量执行器则是执行代理在服务端创建的一个远程对象,它是由执行代理向服务端进行申请获得,如果服务端有空闲的批量执行器,则直接返回给执行代理;服务端如果没有空闲的批量执行器,则在服务端重新创建一个批量执行器。步骤104:业务处理单元在处理结束后将处理结果发送给执行代理用于向用户显示。所述业务处理单元在处理结束后,将处理结果包装成结果集来发送,这样同样可以节约传递过程中占用的资源。执行代理在收到处理结果后,从中获取结果信息。一次多组织多单据的批量处理不可避免地会出现对某个单据或者对某个单据中的明细行处理失败的情况,本发明实施例所提供的方法中,个别单据的处理失败不会对其他单据的处理造成影响,因为业务处理单元对每一个单据或者每一个明细行的操作都是相对独立的。在本发明实施例中,如果有单据或者明细行才喿作失败,在所述处理结果中,_败的单据或者处理失败单据的曰7在实际应用中,为了使单据操作更加完善,除了执行代理之外,执行代理还进行辅助性工作,例如,对于某个操作的执行前行为或者执行后行为等,下面,以冻结业务为例,对本发明实施例所提供的多组织系统的单据处理方法进行详细描述,参见图2,该方法具体包括步骤201:用户在销售订单列表中选择多个销售订单,选择冻结操作业务。步骤202:执行代理获取单据数据,其中,单据数据包括用户选择单据的单据信息和用户选择的操作,而单据信息,包括各单据的编号、单据标识、业务组织、各单据中包含的明细行标识等。图3为本实施例一个执行过程的结果截图。从图中可以看出,用户选择了6个销售订单,其中包含14行明细行,当前操作功能是"冻结"。其中,单据信息包括订单号、订单日期、单据状态、业务类型、客户、销售组织等等。当获取了单据数据后,执行代理就向服务端申请一个批量执行器。如前所述,此时,如果服务端有空闲的批量执行器,就给服务端返回一个;如果没有,就新建一个返回给执行代理。步骤203:执行代理响应用户,弹出输入原因的对话框,要求用户输入执行冻结l喿作的原因。从表l中可知,为了方便用户日后对单据的各个操作都有记录可查询,在执行冻结操作前,要求用户输入操作原因。步骤204:用户在原因对话框中输入"预付款未达帐",并点击"确定"按钮。步骤205:执行代理把单据数据和"冻结"原因进行包装,上传到服务端的批量执行器。步骤206:批量执行器接收到执行代理上传的单据数据后,根据操作指示,将所述单据数据分配给服务端的冻结处理单元。步骤207:冻结处理单元对单据数据进行批量处理。在本发明实施例中,各个业务单元定义了批量业务处理方法,所述冻结处理单元调用自身的批量冻结处理方法,对收到的单据进行批量冻结处理。当然,在其他实施例中,如果业务单元没有定义批量业务处理方法,循环调用原有的处理单一单据的业务处理方法进行批量业务处理。步骤208:冻结处理单元处理完所有单据数据后,把结果包装成批量执行结果集,返回到给执行代理。冻结处理单元将失败的单据的失败信息记录在所述结果集中,所述失败信息记录了对应的操:作失败的原因。步骤209:执行代理从结果集中解析出销售订单的批量执行结果,把执行结果显示给用户。执行代理向用户显示结果时,可以对每个单据或明细行显示。由于冻结处理单元将处理失败的失败信息记录在处理结果中,所以用户可根据失败原因对单据作进一步的处理。如图3中所示的冻结批量处理业务中有两条分录冻结失败,其中一条的失败原因是"只有审核状态下的销售订单分录可以被冻结",另一条失败原因是"冲销单据不能冻结",据此,用户可以清楚每条分录或者单据操作失败的原因,从而更好地进行后续的工作。步骤210:执行代理刷新整个销售订单列表的信息。通过本发明实施例所提供的方法,使得原本需要一个一个提交到服务端进行处理的冻结业务可以一次性批量地提交到服务端,此外,执行代理还能够根据操作的特点进行辅助性操作,如冻结前的原因录入,冻结结束后的对原单据的刷新等等,而在服务端,对应的冻结处理单元也可以对批量提交的单据进行批量处理,极大地提高了处理效率。此外,对于批量处理的单据中,个别单据处理失败不会影响整个批量处理的结果,而且对于其中个别处理失败的单据,本发明实施例还能够显示失败原因,极大改善了用户体验,提高了用户的满意度。与方法实施例相对应,本发明还提供用于单据处理的执行代理,参见图4,所述执行代理,包括获取单元401,用于获取单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示。批量上传单元402,用于将获取的单据数据批量上传到服务端。接收单元403,用于接收服务端对单据数据批量处理后的处理结果。参见图5,图4所述批量上传单元402具体包括包装模块4021,用于将单据数据进行包装。上传模块4022,用于将包装模块包装后的单据数据进行上传。从表1以及图2所示的实施例的描述中可知,实际应用中,一些业务还有存在着互斥操作,执行前操作或者执行后操作等,所以,图4所示的执行代理还包括辅助功能单元,用于结合业务特点完成辅助性工作,包括互斥检测、执行前操作原因录入或者执行后的刷新等等。通过图4所示的执行代理,可以对多组织多单据进行批量上传,同时接收批量处理后的处理结果,为多组织多单据数据处理提供了一种高效的处理装置。参见图6,本发明实施例还提供一种用于单据处理的装置,该装置位于服务端,包括接收单元601,分配单元602、发送单元603和至少一个业务处理单元604的业务处理单元组,其中所述接收单元601,用于接收批量上传的单据数据,其中,所述单据数据包括用户所选择单据的单据信息和;l喿作指示。所述分配单元602,用于将所述单据数据分配给与所述操作指示相对应的业务处理单元。业务处理单元603,用于对接收到的单据数据进行批量处理。发送单元604,用于发送业务处理单元批量处理的处理结果。其中,所述业务处理单元603包括第一批量处理^t块,用于通过自身业务的批量SQL进行批量业务处理;或者,第二批量处理模块,用于循环调用自身业务处理方法实现批量业务处理。通过图6所示的装置,服务端对接收到的批量单据数据进行批量处理,从而提高了系统的业务操作执行的效率。在实际应用中,图6中所示的装置为服务端的批量执行器。参见图7,本发明实施例还提供一个单据处理的系统,包括执行代理701,用于获取单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;将获取的单据数据批量上传到服务端;接收服务端对单据数据批量处理后的处理结果。服务端702,用于接收所述执行代理批量上传的单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;按照所述操作指示对接收到的单据数据进行批量处理;批量处理的处理结果发送给所述纟丸行代理。优选地,所述执行代理还用于,在获取单据数据后,检测所述单据数据中是否存在互斥操作;或者,在执行操作前要求用户录入执行操作的原因;或者,在执行操作后刷新原单据。通过本发明实施例所提供的系统,通过执行代理一次性把所有单据提交到服务端,而服务端也对接收到的单据进行批量处理,极大地提高了系统的业务操作执行的效率。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1.一种多组织系统的单据处理方法,其特征在于,在所述多组织系统中设置执行代理,所述方法包括所述执行代理将获取的单据数据批量上传到服务端,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;所述服务端根据接收到的单据数据中的操作指示将所述单据数据分配给自身对应业务处理单元进行批量处理;所述业务处理单元在处理结束后将处理结果发送给执行代理用于向用户显示。2、根据权利要求1所述的方法,其特征在于,所述执行代理将获取的单据数据批量上传到服务端具体包括所述执行代理将所获取的单据数据进行包装;所述执行代理将包装后的单据数据上传到服务端。3、根据权利要求1或2所述的方法,其特征在于,在所述执行代理获取用户选择的单据信息和搡作指示前,还包括:在服务端设置业务处理单元,所述业务处理单元能够批量处理单据数据。4、根据权利要求1或2所述的方法,其特征在于,在所述执行代理将获取的单据数据批量上传到服务端之前,还包括检测对所述用户选择的单据的操作指示中是否有互斥操作;或者,获取所述操作指示中所指示操作的操作原因。5、根据权利要求1或2所述的方法,其特征在于,还包括执行代理接收到处理结果后,刷新原单据。6、根据权利要求1或2所述的方法,其特征在于,所述批量处理具体包括所述业务处理单元通过自身业务的批量SQL进行批量业务处理;或者,所述业务处理单元循环调用单一业务处理方法实现批量业务处理。7、根据权利要求1或2所述的方法,其特征在于,还包括在执行结果中记录处理失败的失败原因。8、根据权利要求1或2所述的方法,其特征在于,所述单据信息包括单据的编号、单据标识、业务组织或各单据中包含的明细行标识。9、一种用于单据处理的执行代理,其特征在于,包括获取单元,用于获取单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;批量上传单元,用于将获取的单据数据批量上传到服务端;接收单元,用于接收服务端对单据数据批量处理后的处理结果。10、根据权利要求9所述的执行代理,其特征在于,所述批量上传单元具体包括包装模块,用于将获取单元获取的单据数据进行包装;执行模块,用于将由包装模块包装后的模块上传到服务端。11、根据权利要求9或IO所述的执行代理,其特征在于,还包括辅助执行单元,用于检测获取单元所获取的单据数据中是否存在互斥操作;或者,用于获取所述操作指示中所指示的操作的操作原因;或者,执行代理接收到处理结果后,刷新原单据。12、一种用于单据处理的装置,该装置位于服务端,其特征在于,包括接收单元,分配单元、发送单元和至少一个业务处理单元的业务处理单元组,其中所述接收单元,用于接收批量上传的单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;所述分配单元,用于将所述单据数据分配给与所述操作指示相对应的业务处理单元;业务处理单元,用于对接收到的单据数据进行批量处理;发送单元,用于发送将业务处理单元批量处理的处理结果。13、根据权利12所述的装置,其特征在于,所述业务处理单元包括第一批量处理模块,用于通过自身业务的批量SQL进行批量业务处理;或者,第二批量处理模块,用于循环调用自身业务处理方法实现批量业务处理。14、一种单据处理系统,其特征在于,包括执行代理,用于获取单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;将获取的单据数据批量上传到服务端;接收服务端对单据数据批量处理后的处理结果;服务端,用于接收所述执行代理批量上传的单据数据,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;按照所述操作指示对接收到的单据数据进行批量处理;批量处理的处理结果发送给所述执行代理。15、根据权利要求14所示的系统,其特征在于,所述执行代理,还用于在获取单据数据后,检测所述单据数据中是否存在互斥操作;或者,在执行操作前要求用户录入执行操作的原因;或者,在执行操作后刷新原单据。全文摘要本发明实施例提供应用与多组织系统的单据处理方法装置和系统其中,所述方法为在所述多组织系统中设置执行代理,所述执行代理将获取的单据数据批量上传到服务端,其中,所述单据数据包括用户所选择单据的单据信息和操作指示;所述服务端根据接收到的单据数据中的操作指示将所述单据数据分配给自身预设的对应业务处理单元进行批量处理;所述业务处理单元在处理结束后将处理结果发送给执行代理用于向用户显示,从而实现了将多组织多单据一次性批量地提交到服务端,而在服务端,对应的业务处理单元也可以对批量提交的单据进行批量处理,极大地提高了处理效率。文档编号G06Q10/00GK101369330SQ20081016957公开日2009年2月18日申请日期2008年10月8日优先权日2008年10月8日发明者周万宝申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1