掌桥专利:专业的专利平台
掌桥专利
首页

业务表单的审批方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 09:41:38


业务表单的审批方法、装置、电子设备和存储介质

技术领域

本公开实施例涉及计算机技术领域,尤其涉及一种业务表单的审批方法、装置、电子设备和存储介质。

背景技术

目前,为了保证业务员能够高效地办公,一般会采用线上审批的方式进行表单的审批。

业务表单是需要审批的表单类型之一。目前在对业务表单进行审批时,通常会由业务员直接修改业务表单,再将修改后的业务表单提交审批,并根据最终的审批结果,在审批被拒绝时,再有业务员手动将所修改的业务表单还原为原始的状态。

但是,由于业务表单本身存在被其他业务表单引用及进行统计汇总的可能性,因此,会导致审批过程中数据统计出现失准的问题,且一旦审批被拒绝,审批期间的统计失准问题将会变得尤为严重。

发明内容

本公开实施例提供一种业务表单的审批方法、装置、电子设备和存储介质,以提高业务表单审批过程中数据统计结果的准确性。

第一方面,本公开实施例提供了业务表单的审批方法,包括:

当接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据;

对所述待审批数据进行审批,生成审批结果;

如果所述审批结果的内容为审批通过,则将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

第二方面,本公开实施例还提供了一种业务表单的审批装置,包括:

确定模块,用于在接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据;

审批模块,用于对所述待审批数据进行审批,生成审批结果;

更新模块,用于在所述审批结果的内容为审批通过时,将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

第三方面,本公开实施例还提供了一种电子设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例所述的业务表单的审批方法。

第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例所述的业务表单的审批方法。

本公开实施例提供的业务表单的审批方法、装置、电子设备和存储介质,当接收到当前审批请求时,确定该当前审批请求对应的待审批表单中的待审批数据,该待审批数据为待审批表单内的原始数据待修改为的数据,对该待审批数据进行审批,生成审批结果,如果该审批结果的内容为审批通过,则将业务数据库中存储的待审批表单内的原始数据更新待审批数据最终审批通过的目标数据。本公开实施例通过采用上述技术方案,在审批过程中不对待审批表单中的原始数据进行更新,审批完成后再将该原始数据更新为最终审批通过的目标数据,能够提高业业务数据统计结果的准确性,避免数据统计出现失真的情况。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。

图1为本公开实施例提供的一种业务表单的审批方法的流程示意图;

图2为本公开实施例提供的另一种业务表单的审批方法的流程示意图;

图3为本公开实施例提供的一种业务表单的审批装置的结构框图;

图4为本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

图1为本公开实施例提供的一种业务表单的审批方法的流程示意图。该方法可以由业务表单的审批装置(如审批流程引擎)执行,其中,该装置可以由软件和/或硬件实现,可配置于电子设备中,典型的,可以配置在计算机设备、平板电脑或手机中。可选的,本公开实施例提供的业务表单的审批方法适用于对业务表单进行审批的情景,尤其适用于对存在被其他业务对象调用的可能性的业务表单进行审批的情景。如图1所示,本实施例提供的业务表单的审批方法可以包括:

S101、当接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据。

其中,当前审批请求可以理解为当前处理的审批请求,该审批请求用于请求审批流程引擎对将待审批表单内的原始数据修改为的待审批数据进行审批,其可以由业务员在欲对待审批表单内的原始数据进行修改时触发生成,如在业务员提交审批时生成。待审批表单可以理解为本次需要进行审批的业务表单,相应的,原始数据为待审批表单中所填写的数据,其可以存储于业务数据库中;待审批数据为待审批表单中需要进行审批的数据,即待审批表单中的原始数据待修改为的数据,其可以为待审批表单中任意能够进行修改的内容,如文字和/或数字等。

示例性的,业务员在欲对业务数据库中存储的待审批表单中的原始数据进行修改时,可以递交携带有待审批表单的待审批表单标识(如表单ID)以及原始数据待修改为的待审批数据的审批请求;相应的,计算机设备在接收到业务员提交的审批请求后,可以将其作为当前审批请求,对该当前审批请求进行解析,确定本次需要进行审批的待审批数据。

S102、对所述待审批数据进行审批,生成审批结果。

其中,该审批结果可以理解为待审批表单的最终审批结果,即待审批表单对应的审批流程中的最后一级审批节点生成的审批结果。

在本实施例中,待审批表单对应的审批流程中可以包括不具有修改待审批表单中的数据的权限的第一审批节点和/或具有修改待审批表单中的数据的权限的第二审批节点。相应的,当待审批表单对应的审批流程中包括且仅包括第一审批节点时,该审批流程中的各审批节点需要进行审批的待审批数据均为当前审批请求中携带的待审批数据;当审批表单对应的审批流程中包括第二审批节点时,该审批流程中的第一级审批节点的待审批数据为当前审批请求中携带的待审批数据,除第一级审批节点之外的其他级审批节点的待审批数据为其上一级审批节点审批通过的待审批数据,以下以此种情况为例进行说明。其中,第一审批节点可以为仅用于进行表单审批的节点,第一审批节点侧的审批人员在进行表单审批时,只需给出审批意见即可,该审批意见可以为同意修改或拒绝修改;第二审批节点可以为同时具有表单审批和业务办理能力的节点,第二审批节点侧的审批人员在进行表单审批时,可以修改待审批表单中的数据,如调整待审批表单中的日期、修改待审批表单中的金额和/或在待审批表单中添加备注等信息,等等。

在本步骤中,当待审批表单对应的审批流程中包含多级审批节点时,可以依次控制该审批流程中的各级审批节点在其上一级审批节点审批通过时对其上一级审批节点审批通过的数据继续进行审批。具体的,可以将所述待审批数据存储于审批流程引擎的审批数据库中,并将所述当前审批请求对应的第一级审批节点确定为当前审批节点;将所述待审批数据发送给所述当前审批节点,以供所述当前审批节点侧的审批人员对所述待审批数据进行审批;如果审批通过,则将所述待审批数据更新为所述审批人员审批通过的中间审批数据,将下一级审批节点确定为当前审批节点,并返回执行将所述待审批数据发送给所述当前审批节点的操作,直至不存在下一级审批节点为止;当不存在下一级审批节点时,生成内容为审批通过的审批结果,并将所述审批数据库中存储的待审批数据确定为目标数据。

在上述优选实施方式中,审批流程引擎内部可以设计有用于在审批过程中存储待审批表单中的待审批数据的表单数据存储结构。由于需要面对各种类型的待审批表单内的待审批数据,因此,该表单数据存储结构可以为开放式的map结构,采用键值对key-value的形式进行存储,key可以为待审批表单的字段名,value为待审批表单相应字段需要审批的数据值。存储的待审批数据可以与其所属审批流程的流程实例数据(如审批记录)对应存储在审批流程引擎的审批数据库中,如可以在流程实例表中增加一个格式为json的字段,将待审批数据与其所属审批流程的流程实例数据对应存储在该流程实例表中。其中,审批数据库为审批流程引擎所配置的数据库,其内部存储的数据仅对审批流程引擎可见,从而,可以在审批过程中将待审批数据存储于审批数据库中,业务数据库中存储的待审批表单内的原始数据仍然保持待审批表单在提交审批前的状态,并不会被更新。

示例性的,待审批数据的审批过程可以描述为:

a、运行当前审批请求对应的审批流程,将待审批表单内的待审批数据存储在审批数据库中,并在审批流程启动后,将该审批流程中的第一级审批节点确定为当前审批节点。

b、将当前时刻业务数据库中存储的、与该当前审批请求对应的待审批数据发送给该当前审批节点进行审批。

c、当检测到待审批数据在当前审批节点审批结束时,判断当前审批节点是否审批通过,若审批未通过,则生成内容为审批未通过的审批结果,并结束操作;若审批通过,则执行步骤d。

d、判断当前审批节点是否对待审批数据进行了修改,若是,则将审批数据库中存储的待审批数据更新为当前待审批节点修改后的待审批数据,执行步骤e;若否,则执行步骤e。

e、判断当前节点是否存在下一级审批节点,若是,则将下一级审批节点确定为当前审批节点,并返回执行步骤b;若否,则生成内容为审批通过的审批结果,并将当前时刻审批数据库中存储的待审批数据确定为目标数据。

可以理解的是,在审批过程中,待审批表单内的待审批数据也可以存储于除审批数据库之外的其他存储位置,如可以存储于业务系统外部,只需确保不会被业务系统调用即可。

S103、如果所述审批结果的内容为审批通过,则将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

相应的,如果所述审批结果的内容为审批未通过,则可以向生成当前审批请求的终端发送审批未通过的提示信息。

在本实施例中,审批流程引擎可以直接调用待审批表单所对应的业务对象来将待审批表单中的原始数据更新为目标数据;也可以调用预先设置的审批数据更新接口,通过审批数据更新接口调用待审批表单所对应的业务对象来将待审批表单中的原始数据更新为目标数据,本实施例不对此进行限制。

由于直接调用待审批表单所对应的业务对象来更新待审批表单中的原始数据会导致审批流程引擎与业务对象耦合在一起,此时,无论是待审批表单发生变化,还是待审批表单所对应的业务对象发生变化,都需要修改审批流程引擎的调用逻辑。因此,为了降低审批流程引擎与外部业务对象之间的耦合性,本实施例优选可以预先设置审批数据更新接口,通过该审批数据更新接口将待审批表单中的原始数据更新为目标数据,此时,优选的,所述将所述待审批表单内的原始数据更新为目标数据,包括:调用审批数据更新接口,通过所述审批数据更新接口将所述待审批表单内的原始数据更新为目标数据。

其中,审批数据更新接口可用于供审批流程引擎调用来更新待审批表单内的数据,其可以具有业务对象标识、待审批表单标识和更新操作类型参数三个参数,该业务对象标识可以理解为需要调用的业务对象的对象标识,该更新操作类型参数可以理解为审批数据更新接口当前所需对待审批表单内的数据执行的操作的类型,如新建、修改或删除,锁状态调整接口在被审批流程引擎调用时,可以对待审批表单内的数据执行与该更新操作类型参数相符的操作。

示例性的,审批流程引擎在审批通过时,可以将待审批表单所对应的业务对象的业务对象标识、待审批表单标识和相应的更新操作类型参数发送给锁状态调整接口;审批数据更新接口在接收到审批流程引擎发送的业务对象标识、待审批表单标识和更新操作类型参数时,可以根据该业务对象标识调用待审批表单所对应的业务对象,控制该业务对象基于该审批表单标识确定待审批表单,并对待审批表单内的原始数据执行与更新操作类型相符的操作,以将待审批表单内的原始数据更新为审批通过的目标数据。

在本实施例中,审批过程中对待审批数据的修改都只会反应在审批流程引擎内部的审批数据库中,只有审批过程执行完毕且审批结果为审批通过时,审批流程引擎才会将审批数据库中存储的、审批通过的最终数据更新到业务数据库存储的待审批表单中,此时,外部的业务对象才可以读取这些在审批过程中最终被审批通过的数据值;而当审批结果为审批未通过时,审批数据库中存储的数据并不会更新到业务数据库存储的待审批表单中,业务数据库中存储的待审批表单内的数据仍保持在提交审批前的状态,外部的业务对象读取到的始终是提交审批前的原始数据,避免出现数据失真的问题。

本实施例提供的业务表单的审批方法,当接收到当前审批请求时,确定该当前审批请求对应的待审批表单中的待审批数据,该待审批数据为待审批表单内的原始数据待修改为的数据,对该待审批数据进行审批,生成审批结果,如果该审批结果的内容为审批通过,则将业务数据库中存储的待审批表单内的原始数据更新待审批数据最终审批通过的目标数据。本实施例通过采用上述技术方案,在审批过程中不对待审批表单中的原始数据进行更新,审批完成后再将该原始数据更新为最终审批通过的目标数据,能够提高业业务数据统计结果的准确性,避免数据统计出现失真的情况。

图2为本公开实施例提供的另一种业务表单的审批方法的流程示意图。本实施例中的方案可以与上述实施例中的一个或多个可选方案组合。在本实施例中,可选的,所述对所述待审批数据进行审批,生成审批结果,包括:如果所述待审批表单处于未锁定状态,则将所述待审批表单由未锁定状态调整为锁定状态,并对所述待审批数据进行审批,生成审批结果,所述锁定状态用于拒绝非审批流程引擎更新所述原始数据;在所述将所述待审批表单内的原始数据更新为目标数据之后,还包括:将所述待审批表单由锁定状态调整为未锁定状态。

可选的,在所述将所述待审批表单由未锁定状态调整为锁定状态之前,还包括:确定审批流程引擎中不存在与所述待审批表单对应且尚未审批结束的其他审批请求。

可选的,本实施例提供的业务表单的审批方法还包括:如果所述待审批表单处于锁定状态,和/或,如果所述审批流程引擎中存在与所述待审批表单对应且尚未审批结束的其他审批请求,则拒绝所述当前审批请求。

相应的,如图2所示,本实施例提供的业务表单的审批方法可以包括:

S201、当接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据。

S202、判断所述待审批表单是否处于未锁定状态,若是,则执行S203;若否,则执行S208。

在本实施例中,待审批表单的锁状态可以通过待审批表单的锁标识进行表征。相应的,在接收到待当前审批请求之后,可以根据当前审批请求中携带的待审批表单身份标识自业务数据库中查询得到待审批表单,并进一步判断待审批表单是否具有锁标识,若是,则判定待审批表单处于锁定状态;若否,则判定待审批表单处于未锁定状态。

S203、判断审批流程引擎中是否存在与所述待审批表单对应且尚未审批结束的其他审批请求,若是,则执行S208;若否,则执行S204。

示例性的,可以首先确定审批流程引擎中尚未运行结束的审批流程,然后基于待审批表单的待审批表单标识查询各未运行结束的审批流程中是否存在对该审批表单进行审批的审批流程,若是,则执行S208;若否,则执行S204。

S204、将所述待审批表单由未锁定状态调整为锁定状态,所述锁定状态用于拒绝非审批流程引擎更新所述原始数据。

在本实施例中,虽然通过在审批流程引擎中存在与待审批表单对应且尚未审批结束的其他审批请求时拒绝当前审批请求的方式能够保证审批流程引擎中不会同时对待审批表单对应的多个审批请求进行处理,避免待审批表单中的数据出现混乱,但待审批表单还可能会被审批流程引擎之外的其他业务服务通过调用业务数据的数据更新接口进行更新(如新建、修改或删除等),而如果在审批通过之前,待审批表单中的数据被其他业务服务更新,审批通过后,该业务服务所执行的更新会被审批流程引擎的更新所覆盖,导致待审批数据出现数据不一致的隐患。因此,本实施例在对待审批表单中的待审批数据进行审批之前,可以将待审批表单调整为锁定状态,如为待审批表单添加锁标识;相应的,其他业务服务在需要对业务数据库中存储的某一表单(如待审批表单)中的数据进行更新时,可以判断该表单是否处于锁定状态,并仅在判定其未处于锁定状态时,再对该表单中的数据执行更新操作,以避免更新后数据被审批流程引擎所更新的目标数据覆盖。

S205、对所述待审批数据进行审批,生成审批结果。

S206、如果所述审批结果的内容为审批通过,则将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

S207、将所述待审批表单由锁定状态调整为未锁定状态,结束操作。

在本步骤中,当将业务数据库中存储的待审批表单内的原始数据更新为目标数据之后,可以将待审批表单由锁定状态调整未锁定状态,如删除待审批表单的锁标识,以将待审批表单调整可更新的状态。

在本实施例中,审批流程引擎可以直接调用待审批表单所对应的业务对象来调整待审批表单的锁状态;也可以调用预先设置的锁状态调整接口,通过该锁状态调整接口调用待审批表单所对应的业务对象来调整待审批表单的锁状态,本实施例不对此进行限制。

由于直接调用待审批表单所对应的业务对象来调整待审批表单的锁状态会导致审批流程引擎与业务对象耦合在一起,此时,无论是待审批表单发生变化,还是待审批表单所对应的业务对象发生变化,都需要修改审批流程引擎的调用逻辑。因此,为了降低审批流程引擎与外部业务对象之间的耦合性,本实施例优选可以预先设置锁状态调整接口,通过该锁状态调整接口调整待审批表单的锁状态,此时,优选的,所述将所述待审批表单由未锁定状态调整为锁定状态,包括:调用锁状态调整接口,通过所述锁状态调整接口将所述待审批表单由未锁定状态调整为锁定状态;所述将所述待审批表单由锁定状态调整为未锁定状态,包括:调用锁状态调整接口,通过所述锁状态调整接口将所述待审批表单由锁定状态调整为未锁定状态。

其中,锁状态调整接口可用于调整待审批表单的锁状态,其可以具有业务对象标识和待审批表单标识两个参数,还可以进一步设置有锁操作类型参数,该锁操作类型参数可以理解为锁状态调整接口当前所需对待审批表单执行的操作的类型,如加锁或解锁。当不具有锁操作类型参数时,锁状态调整接口在被审批流程引擎调用时,可以直接切换待审批表单的锁状态,即若待审批表单处于未锁定状态,则将待审批表单调整为锁定状态,如待审批表单处于锁定状态,则将待审批表单调整为未锁定状态;当具有锁操作类型参数时,锁状态调整接口在被审批流程引擎调用时,可以对待审批表单执行与该锁操作类型参数相符的操作,即若审批流程引擎所发送的锁操作类型参数为加锁,则将待审批表单调整为锁定状态,若审批流程引擎所发送的锁操作类型参数为解锁,则将待审批表单调整为未锁定状态。

以锁状态调整接口具有业务对象标识、待审批表单标识和锁操作类型参数三个参数为例,审批流程引擎在将待审批表单调整为锁定状态(或未锁定状态)时,可以将待审批表单所对应的业务对象的业务对象标识、待审批表单标识和值为上锁(或解锁)的锁操作类型参数发送给锁状态调整接口,以调用该锁状态调整接口;锁状态调整接口在接收到审批流程引擎发送的业务对象标识、待审批表单标识和锁操作类型参数时,可以根据该业务对象标识调用待审批表单所对应的业务对象,控制该业务对象基于该审批表单标识确定待审批表单,并将待审批表单调整为锁定状态(或未锁定状态)。

S208、拒绝所述当前审批请求。

在本实施例中,若审批表单处于锁定状态时,意味着待审批表单中的数据处于不允许进行修改的状态,此时,即使审批通过,也无法对待审批表单的原始数据进行修改的,且即使等待到待审批表单被调整为未锁定状态,当前审批请求生成时所欲修改的业务待审批表单中的原始数据也可能已经被其他业务流程或审批流程修改;若审批流程引擎中存在与待审批表单对应且尚未审批结束的其他审批请求,当该其他审批请求审批通过时,待审批表单中的原始数据会被修改,即当前审批请求生成时所欲修改的业务待审批表单中的原始数据也已经被其他业务流程或审批流程修改,无需再针对当前审批请求进行处理。因此,当待审批表单处于锁定状态时,和/或,当审批流程引擎中存在与待审批表单对应且尚未审批结束的其他审批请求时,可以直接拒绝当前审批请求,如可以不对该当前审批请求进行处理,并可以进一步向生成该当前审批请求的终端发送具体审批通知,以提示业务员其所提交的当前审批请求被拒绝。

本实施例提供的业务表单的审批方法,仅在待审批表单处于未锁定状态且审批流程引擎中不存在针对该待审批表单的尚未处理结束的其他审批请求时,再对当前审批请求所请求审批的待审批表单进行审批,且在审批时将待审批表单调整为锁定状态,能够避免待审批表单中的数据被除审批流程引擎之外的其他业务对象更新,并能够避免待审批表单出现被重复审批的情况,保证待审批表单内数据的一致性。

图3为本公开实施例提供的一种业务表单的审批装置的结构框图。该装置可以由软件和/或硬件实现,可配置于电子设备中,典型的,可以配置在计算机设备、平板电脑或手机中,可通过执行业务表单的审批方法对业务表单进行审批。如图3所示,本实施例提供的业务表单的审批装置包括:确定模块301、审批模块302和更新模块303,其中,

确定模块301,用于在接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据;

审批模块302,用于对所述待审批数据进行审批,生成审批结果;

更新模块303,用于在所述审批结果的内容为审批通过时,将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

本实施例提供的业务表单的审批装置,通过确定模块在接收到当前审批请求时,确定该当前审批请求对应的待审批表单中的待审批数据,该待审批数据为待审批表单内的原始数据待修改为的数据,通过审批模块对该待审批数据进行审批,生成审批结果,并通过更新模块在该审批结果的内容为审批通过时,将业务数据库中存储的待审批表单内的原始数据更新待审批数据最终审批通过的目标数据。本实施例通过采用上述技术方案,在审批过程中不对待审批表单中的原始数据进行更新,审批完成后再将该原始数据更新为最终审批通过的目标数据,能够提高业业务数据统计结果的准确性,避免数据统计出现失真的情况。

在上述方案中,所述更新模块302可以用于:在所述待审批表单处于未锁定状态时,将所述待审批表单由未锁定状态调整为锁定状态,并对所述待审批数据进行审批,生成审批结果,所述锁定状态用于拒绝非审批流程引擎更新所述原始数据;本实施例提供的业务表单的审批装置还可以包括:状态修改模块,用于在所述将所述待审批表单内的原始数据更新为目标数据之后,将所述待审批表单由锁定状态调整为未锁定状态。

在上述方案中,所述更新模块302还可以用于:在所述将所述待审批表单由未锁定状态调整为锁定状态之前,确定审批流程引擎中不存在与所述待审批表单对应且尚未审批结束的其他审批请求。

进一步地,本实施例提供的业务表单的审批装置还可以包括:拒绝模块,用于在所述待审批表单处于锁定状态,和/或,所述审批流程引擎中存在与所述待审批表单对应且尚未审批结束的其他审批请求时,拒绝所述当前审批请求。

在上述方案中,所述更新模块302可用于:调用锁状态调整接口,通过所述锁状态调整接口将所述待审批表单由未锁定状态调整为锁定状态;所述状态修改模块可用于:调用锁状态调整接口,通过所述锁状态调整接口将所述待审批表单由锁定状态调整为未锁定状态。

在上述方案中,所述审批模块302可用于:将所述待审批数据存储于审批流程引擎的审批数据库中,并将所述当前审批请求对应的第一级审批节点确定为当前审批节点;将所述待审批数据发送给所述当前审批节点,以供所述当前审批节点侧的审批人员对所述待审批数据进行审批;如果审批通过,则将所述待审批数据更新为所述审批人员审批通过的中间审批数据,将下一级审批节点确定为当前审批节点,并返回执行将所述待审批数据发送给所述当前审批节点的操作,直至不存在下一级审批节点为止;当不存在下一级审批节点时,生成内容为审批通过的审批结果,并将所述审批数据库中存储的待审批数据确定为目标数据。

在上述方案中,所述更新模块303可用于调用审批数据更新接口,通过所述审批数据更新接口将所述待审批表单内的原始数据更新为目标数据。

本公开实施例提供的业务表单的审批装置可执行本公开任意实施例提供的业务表单的审批方法,具备执行业务表单的审批方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开任意实施例所提供的业务表单的审批方法。

下面参考图4,其示出了适于用来实现本公开实施例的电子设备(例如终端设备)400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置406加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置406;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置406被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:当接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据;对所述待审批数据进行审批,生成审批结果;如果所述审批结果的内容为审批通过,则将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

根据本公开的一个或多个实施例,示例1提供了一种业务表单的审批方法,包括:

当接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据;

对所述待审批数据进行审批,生成审批结果;

如果所述审批结果的内容为审批通过,则将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

根据本公开的一个或多个实施例,示例2根据示例1所述的方法,所述对所述待审批数据进行审批,生成审批结果,包括:

如果所述待审批表单处于未锁定状态,则将所述待审批表单由未锁定状态调整为锁定状态,并对所述待审批数据进行审批,生成审批结果,所述锁定状态用于拒绝非审批流程引擎更新所述原始数据;

在所述将所述待审批表单内的原始数据更新为目标数据之后,还包括:

将所述待审批表单由锁定状态调整为未锁定状态。

根据本公开的一个或多个实施例,示例3根据示例2所述的方法,在所述将所述待审批表单由未锁定状态调整为锁定状态之前,还包括:

确定审批流程引擎中不存在与所述待审批表单对应且尚未审批结束的其他审批请求。

根据本公开的一个或多个实施例,示例4根据示例3所述的方法,还包括:

如果所述待审批表单处于锁定状态,和/或,如果所述审批流程引擎中存在与所述待审批表单对应且尚未审批结束的其他审批请求,则拒绝所述当前审批请求。

根据本公开的一个或多个实施例,示例5根据示例2所述的方法,所述将所述待审批表单由未锁定状态调整为锁定状态,包括:

调用锁状态调整接口,通过所述锁状态调整接口将所述待审批表单由未锁定状态调整为锁定状态;

所述将所述待审批表单由锁定状态调整为未锁定状态,包括:

调用锁状态调整接口,通过所述锁状态调整接口将所述待审批表单由锁定状态调整为未锁定状态。

根据本公开的一个或多个实施例,示例6根据示例1-5任一所述的方法,所述对所述待审批数据进行审批,生成审批结果,包括:

将所述待审批数据存储于审批流程引擎的审批数据库中,并将所述当前审批请求对应的第一级审批节点确定为当前审批节点;

将所述待审批数据发送给所述当前审批节点,以供所述当前审批节点侧的审批人员对所述待审批数据进行审批;

如果审批通过,则将所述待审批数据更新为所述审批人员审批通过的中间审批数据,将下一级审批节点确定为当前审批节点,并返回执行将所述待审批数据发送给所述当前审批节点的操作,直至不存在下一级审批节点为止;

当不存在下一级审批节点时,生成内容为审批通过的审批结果,并将所述审批数据库中存储的待审批数据确定为目标数据。

根据本公开的一个或多个实施例,示例7根据示例1-5任一所述的方法,所述将所述待审批表单内的原始数据更新为目标数据,包括:

调用审批数据更新接口,通过所述审批数据更新接口将所述待审批表单内的原始数据更新为目标数据。

根据本公开的一个或多个实施例,示例8提供了一种业务表单的审批装置,包括:

确定模块,用于在接收到当前审批请求时,确定所述当前审批请求对应的待审批表单中的待审批数据,所述待审批数据为待审批表单内的原始数据待修改为的数据;

审批模块,用于对所述待审批数据进行审批,生成审批结果;

更新模块,用于在所述审批结果的内容为审批通过时,将业务数据库中存储的所述待审批表单内的原始数据更新为目标数据,所述目标数据为对所述待审批数据进行审批得到的最终审批数据。

根据本公开的一个或多个实施例,示例9提供了一种电子设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如示例1-7中任一所述的业务表单的审批方法。

根据本公开的一个或多个实施例,示例10提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如示例1-7中任一所述的业务表单的审批方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 业务表单的审批方法、装置、电子设备和存储介质
  • 审批表单控制方法、装置、电子设备和可读存储介质
技术分类

06120112260053