一种自助设备小面额有限配钞的方法、系统及介质转让专利

申请号 : CN202110779663.8

文献号 : CN113611053B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高强孙宾胡焱牛鹏

申请人 : 浪潮金融信息技术有限公司

摘要 :

本发明公开了一种自助设备小面额有限配钞的方法、系统及介质,所述方法包括以下步骤:设定第一基准面额和第一最大出钞金额;根据第一基准面额,执行钞箱分组操作,得到钞箱分组结果;根据第一最大出钞金额,执行取款金额分组操作,得到初始化分组金额;根据钞箱分组结果,对初始化分组金额执行金额修正操作,得到临时配钞金额;根据临时配钞金额,执行临时配钞操作,得到临时配钞结果和临时配钞方案;根据临时配钞方案和临时配钞结果,通过第一公式执行配钞金额反算操作,得到反算配钞金额;根据反算配钞金额,执行配钞验证操作,得到实际配钞结果;通过上述方式,本发明实现动态调整大小面额钞票的配钞比例,降低工作量,提升工作效率。

权利要求 :

1.一种自助设备小面额有限配钞的方法,其特征在于,包括以下步骤:配置信息:设定第一基准面额和第一最大出钞金额;所述第一基准面额用于将现金自助设备的所有钞箱中现有的钞票面额进行区分,大于等于第一基准面额的为大面额组,小于第一基准面额的为小面额组;所述第一最大出钞金额用于限制小面额组的钞票最大出钞金额;

钞箱分组:根据所述第一基准面额,对钞箱执行钞箱分组操作,得到钞箱分组结果,所述钞箱分组结果包括第一钞箱组和第二钞箱组;

金额初始化分组:获取待取款金额;根据所述第一最大出钞金额,对所述待取款金额执行取款金额分组操作,得到初始化分组金额,所述初始化分组金额包括初始化小面额组总金额和初始化大面额组总金额;

分组金额修正:根据所述钞箱分组结果,对所述初始化分组金额执行金额修正操作,得到临时配钞金额;所述分组金额修正的步骤进一步包括:求取最大公约数:求取所述第一钞箱组中全部所述钞箱的钞票面额的最大公约数;判断大面额:根据所述最大公约数,对所述初始化大面额组总金额执行大面额判断操作,得到初始化大面额判断结果;调整面额:根据所述初始化大面额判断结果,对所述初始化小面额组总金额和所述初始化大面额组总金额执行所述金额修正操作,得到所述临时配钞金额;

临时配钞:根据所述临时配钞金额,执行临时配钞操作,得到临时配钞结果和临时配钞方案;

配钞反算验证:根据所述临时配钞方案和所述临时配钞结果,通过第一公式执行配钞金额反算操作,得到反算配钞金额;根据所述反算配钞金额和所述待取款金额,执行配钞验证操作,得到实际配钞结果。

2.根据权利要求1所述的自助设备小面额有限配钞的方法,其特征在于:所述钞箱分组的步骤进一步包括:

若所述钞箱中的钞票面额大于等于所述第一基准面额,则设定当前所述钞箱为所述第一钞箱组;

若所述钞箱中的钞票面额小于所述第一基准面额,则设定当前所述钞箱为所述第二钞箱组。

3.根据权利要求2所述的自助设备小面额有限配钞的方法,其特征在于:所述金额初始化分组的步骤进一步包括:设定所述初始化小面额组总金额等于所述第一最大出钞金额,则所述初始化大面额组总金额为所述待取款金额减去所述初始化小面额组总金额的值。

4.根据权利要求3所述的自助设备小面额有限配钞的方法,其特征在于:所述初始化大面额判断结果包括第一大面额判断结果和第二大面额判断结果;所述判断大面额的步骤进一步包括:所述初始化大面额金额对所述最大公约数执行取余操作,得到余数:若余数等于零,则得到所述第一大面额判断结果;

若余数不等于零,则得到所述第二大面额判断结果。

5.根据权利要求4所述的自助设备小面额有限配钞的方法,其特征在于:所述临时配钞金额包括第一小面额组总金额和第一大面额组总金额;所述调整面额的步骤进一步包括:若所述初始化大面额判断结果为所述第一大面额判断结果,则所述第一小面额组总金额等于所述初始化小面额组总金额,所述第一大面额组总金额等于所述初始化大面额组总金额;

若所述初始化大面额判断结果为所述第二大面额判断结果,则执行所述金额修正操作:根据所述最大公约数和所述初始化大面额组总金额,求取修正值,设定所述第一大面额组总金额等于所述初始化大面额组总金额加上所述修正值的和,设定所述第一小面额组总金额等于所述初始化小面额组总金额减去所述修正值的差;

判断所述第一小面额组总金额的值:

若所述第一小面额组总金额小于零,则执行配钞流程停止操作;

若所述第一小面额组总金额大于等于零,则进入所述临时配钞步骤。

6.根据权利要求5所述的自助设备小面额有限配钞的方法,其特征在于:所述临时配钞方案包括大面额钞票张数和小面额钞票张数;所述临时配钞的步骤进一步包括:根据所述第一大面额组总金额,从所述第一钞箱组进行配钞,得到所述大面额钞票张数和第一大面额临时配钞结果;根据所述第一小面额组总金额,从所述第二钞箱组进行配置,得到所述小面额钞票张数和第一小面额临时配钞结果;

若所述第一大面额临时配钞结果为成功并且所述第一小面额临时配钞结果为成功,则设定所述临时配钞结果的为成功;

若所述第一大面额临时配钞结果与所述第一小面额临时配钞结果中至少有一个为失败,则设定所述临时配钞结果的为失败,并执行所述金额修正操作。

7.根据权利要求6所述的自助设备小面额有限配钞的方法,其特征在于:所述配钞反算验证的步骤进一步包括:

若所述临时配钞结果为失败,则执行所述配钞流程停止操作;

若所述临时配钞结果为成功,则根据所述大面额钞票张数和所述小面额钞票张数,通过所述第一公式进行配钞金额反算,得到所述反算配钞金额;

判断所述反算配钞金额与所述待取款金额是否相等:

若不相等,则执行第一告警提示操作;

若相等,则得到所述实际配钞结果。

8.一种自助设备小面额有限配钞的系统,其特征在于,包括:配置信息模块、钞箱分组模块、金额初始化分组模块、分组金额修正模块、临时配钞模块和配钞反算验证模块;

所述配置信息模块用于设定第一基准面额和第一最大出钞金额;所述第一基准面额用于将现金自助设备的所有钞箱中现有的钞票面额进行区分,大于等于第一基准面额的为大面额组,小于第一基准面额的为小面额组;所述第一最大出钞金额用于限制小面额组的钞票最大出钞金额;

所述钞箱分组模块用于根据所述第一基准面额,对钞箱执行钞箱分组操作,得到钞箱分组结果;

所述金额初始化分组模块用于获取待取款金额;根据所述第一最大出钞金额,对所述待取款金额执行取款金额分组操作,得到初始化分组金额;

所述分组金额修正模块用于根据所述钞箱分组结果,对所述初始化分组金额执行金额修正操作,得到临时配钞金额;

所述临时配钞模块用于根据所述临时配钞金额,执行临时配钞操作,得到临时配钞结果和临时配钞方案;

所述配钞反算验证模块用于根据所述临时配钞方案和所述临时配钞结果,通过第一公式执行配钞金额反算操作,得到反算配钞金额;根据所述反算配钞金额和所述待取款金额,执行配钞验证操作,得到实际配钞结果;

所述钞箱分组结果包括第一钞箱组和第二钞箱组,所述初始化分组金额包括初始化小面额组总金额和初始化大面额组总金额;所述分组金额修正模块包括求取最大公约数单元、判断大面额单元和调整面额单元;

所述求取最大公约数单元用于求取所述第一钞箱组中全部所述钞箱的钞票面额的最大公约数;

所述判断大面额单元用于根据所述最大公约数,对所述初始化大面额组总金额执行大面额判断操作,得到初始化大面额判断结果;

所述调整面额单元用于根据所述初始化大面额判断结果,对所述初始化小面额组总金额和所述初始化大面额组总金额执行所述金额修正操作,得到所述临时配钞金额。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1‑7任一项所述的一种自助设备小面额有限配钞的方法步骤。

说明书 :

一种自助设备小面额有限配钞的方法、系统及介质

技术领域

[0001] 本发明涉及现金自助设备配钞的技术领域,特别是涉及一种自助设备小面额有限配钞的系统、方法及介质。

背景技术

[0002] 现金自助设备作为金融领域常用且重要的设备,广泛应用于各个银行。目前,现有的现金自助设备通常采用钞箱来存放钞票,一个钞箱存放一种面额的钞票,一个现金自助设备可以放多个相同面额或者不同面额的钞箱。当客户进行取款交易时,现金自助设备根
据客户取款的金额,从多个不同钞箱中获取出多种面额的钞票的数量,我们称之为配钞,从而满足客户的多种取款金额的需求。
[0003] 以前的现金自助设备一般都只开通了大面额钞票的取款功能,比如100元钞票,但是随着社会的发展,人们的对钞票需求的多样化出现,大额现金自助设备需求越来越大,该设备支持1元及其以上所有面额的钞票的取款。
[0004] 传统的配钞方法有最小张数、均空出钞、最多钞箱数等算法,但是这些方法都没有对小面额的配钞数量做出限制,所以用在大额现金自助设备上会出现小面额钞票配钞过多的情况,例如,用户需要取1000元钞票,大额现金自助设备按照现有的均空出钞算法出钞,可能会配出1000张1元的钞票给用户;如果运用最小张数算法,若自助设备中100面额的钞
票没有了,那么该算法在计算100面额的配钞张数时,就需要重复减去100,操作次数九次,操作复杂,耗时较长;会给用户带去很不好的体验,也会给自助设备维护人员带去维护的不便。

发明内容

[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] 若所述临时配钞结果为成功,则根据所述大面额钞票张数和所述小面额钞票张数,通过所述第一公式进行配钞金额反算,得到所述反算配钞金额;
[0038] 判断所述反算配钞金额与所述待取款金额是否相等:
[0039] 若不相等,则执行第一告警提示操作;
[0040] 若相等,则得到所述实际配钞结果。
[0041] 一种自助设备小面额有限配钞的系统,包括:配置信息模块、钞箱分组模块、金额初始化分组模块、分组金额修正模块、临时配钞模块和配钞反算验证模块;
[0042] 所述配置信息模块用于设定第一基准面额和第一最大出钞金额;
[0043] 所述钞箱分组模块用于根据所述第一基准面额,对钞箱执行钞箱分组操作,得到钞箱分组结果;
[0044] 所述金额初始化分组模块用于获取待取款金额;根据所述第一最大出钞金额,对所述待取款金额执行取款金额分组操作,得到初始化分组金额;
[0045] 所述分组金额修正模块用于根据所述钞箱分组结果,对所述初始化分组金额执行金额修正操作,得到临时配钞金额;
[0046] 所述临时配钞模块用于根据所述临时配钞金额,执行临时配钞操作,得到临时配钞结果和临时配钞方案;
[0047] 所述配钞反算验证模块用于根据所述临时配钞方案和所述临时配钞结果,通过第一公式执行配钞金额反算操作,得到反算配钞金额;根据所述反算配钞金额和所述待取款
金额,执行配钞验证操作,得到实际配钞结果;
[0048] 所述钞箱分组结果包括第一钞箱组和第二钞箱组,所述初始化分组金额包括初始化小面额组总金额和初始化大面额组总金额;所述分组金额修正模块包括求取最大公约数
单元、判断大面额单元和调整面额单元;
[0049] 所述求取最大公约数单元用于求取所述第一钞箱组中全部所述钞箱的钞票面额的最大公约数;
[0050] 所述判断大面额单元用于根据所述最大公约数,对所述初始化大面额组总金额执行大面额判断操作,得到初始化大面额判断结果
[0051] 所述调整面额单元用于根据所述初始化大面额判断结果,对所述初始组小面额组总金额和所述初始组大面额组总金额执行所述金额修正操作,得到所述临时配钞金额。
[0052] 本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的一种自助设备小面额有限配钞的方法
的步骤。
[0053] 本发明的有益效果是:
[0054] 1、本发明所述的自助设备小面额有限配钞的方法,可以实现根据自助设备里各个钞箱中各面额钞票的剩余数量动态调整大面额钞票和小面额钞票的配钞比例,使得现金自
助设备吐出的大面额钞票和小面额钞票的数量较为均衡合理,降低自助设备维护人员的工
作量,提升了工作效率;
[0055] 2、本发明所述的自助设备小面额有限配钞的系统,可以实现将用户的待取款金额分为两部分,即大金额组和小金额组,计算出大金额组和小金额组分别的配钞金额和实际
的配钞张数,更加快速准确的完成配钞,提升用户的体验,降低设备维护人员的工作量;
[0056] 3、本发明所述的自助设备小面额有限配钞的介质,可以实现对待取款金额的反算验证,确保出钞数量的正确性,提升现金自助设备的安全性。

附图说明

[0057] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的
附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前
提下,还可以根据这些附图获得其他的附图。
[0058] 图1是本发明实施例1所述的自助设备小面额有限配钞的方法的流程图;
[0059] 图2是本发明实施例1所述的自助设备小面额有限配钞的方法的分组金额修正步骤的流程图;
[0060] 图3是本发明实施例2所述的自助设备小面额有限配钞的系统的示意图;
[0061] 图4是本发明实施例2所述的自助设备小面额有限配钞的系统的分组金额修正模块的示意图。
[0062] 需要说明的是,在本发明的描述中,
[0063] ID(Identity Document)是身份标识码;
[0064] AWT(Abstract Window Toolkit)是Java提供的用来建立和设置Java的图形用户界面的基本工具包;
[0065] gcd(Greatest Common Divisor)是求取最大公约数的函数。

具体实施方式

[0066] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,“面额”、“出钞”、“钞箱”、“取款金额”、“修正”、“配钞”、“反算”、“小面额”、“大面额”、“取余”、“余数”等术语应做广义理解。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0068] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
[0069] 实施例1
[0070] 本发明实施例提供一种自助设备小面额有限配钞的方法,请参阅图1和图2,包括以下步骤:
[0071] S100、配置信息:
[0072] 设定第一基准面额,第一基准面额用于将现金自助设备的所有钞箱中现有的钞票面额进行区分,大于等于第一基准面额的为大面额组,小于第一基准面额的为小面额组;
[0073] 设定第一最大出钞金额,第一最大出钞金额用于限制小面额组的钞票最大出钞金额。
[0074] 自助设备管理员可以根据自助设备中各个面额的钞票剩余数量进行第一基准面额和第一最大出钞金额的动态调整设定,当前的设定在下一次设定前一直有效。
[0075] 为了更清楚地解释本发明的执行过程,此处设定第一基准面额为M,设定第一最大出钞金额为N;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0076] S200、钞箱分组:
[0077] 根据设定的第一基准面额M将自助设备中的所有钞箱进行分组:
[0078] 若钞箱中放置的钞票的面额大于或者等于M,则设定当前钞箱为第一钞箱组,即大面额组;
[0079] 若钞箱中放置的钞票的面额小于M,则设定当前钞箱为第二钞箱组,即小面额组。
[0080] 为了更清楚地解释本发明的执行过程,此处设定第一钞箱组为B组,第二钞箱组为S组;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0081] S300、金额初始化分组:
[0082] 获取待取款金额,并对待取款金额进行分组,根据待取款金额的组成,分为初始化小面额组总金额和初始化大面额组总金额;
[0083] 由于小面额的钞票的最大出钞金额为第一最大出钞金额N,则预设定初始化小面额组总金额为第一最大出钞金额N,那么初始化大面额组总金额为待取款金额减去第一最
大出钞金额N的值。
[0084] 为了更清楚地解释本发明的执行过程,此处设定待取款金额为A,初始化小面额组总金额为As,初始化大面额组总金额为Ab;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0085] 那么As=N,Ab=A‑N或者A‑As,用户的待取款金额被分为As和Ab两组。
[0086] S400、分组金额修正:
[0087] S401、求取最大公约数:
[0088] 求取第一钞箱组也就是大面额组B组中所有钞箱里钞票面额的最大公约数,为了更清楚地解释本发明的执行过程,此处设定第一钞箱组B组中各个钞箱中存放的钞票的面
额分别为Mb1、Mb2……Mbj,设定最大公约数为Gb;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0089] 那么,第一钞箱组B组中各个钞箱中存放钞票的面额的最大公约数Gb=gcd(Mb1,Mb2,……Mbj)。
[0090] S402、判断大面额:
[0091] 根据配钞的原理,初始化大面额组总金额Ab应该为最大公约数Gb的整数倍,根据最大公约数Gb,对初始化大面额组总金额Ab进行判断,即初始化大面额组总金额Ab对最大
公约数Gb取余,得到余数;为了更清楚地解释本发明的执行过程,此处设定余数为R;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限
定本发明的保护范围;那么R=Ab%Gb,对余数R进行判断:
[0092] 若R=0,则得到第一大面额判断结果,即初始化大面额组总金额Ab是最大公约数Gb的整数倍;
[0093] 若R≠0,则得到第二大面额判断结果,即初始化大面额组总金额Ab不是最大公约数Gb的整数倍。
[0094] S403、调整面额:
[0095] 若R=0,则初始化大面额组总金额不需要进行修正,初始化小面额组总金额也不需要修正,设定第一小面额组总金额为初始化小面额组总金额As,设定第一大面额组总金
额为初始化大面额组总金额Ab;为了更清楚地解释本发明的执行过程,此处设定第一小面
额组总金额为As1,设定第一大面额组总金额为Ab1;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围;那么,As1=As,Ab1=Ab。
[0096] 若R≠0,则执行金额修正操作,即通过最大公约数Gb和初始化大面额组总金额Ab求取修正值;为了更清楚地解释本发明的执行过程,此处设定修正值为t,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围;那
么t=Gb‑Ab%Gb;
[0097] 根据修正值t进行第一次修正,As1=As‑t,Ab1=Ab+t,金额修正后,得到第一小面额组总金额As1和第一大面额组总金额Ab1,对As1进行判断:
[0098] 若As1小于0,则执行配钞流程停止操作,即配钞失败,配钞流程结束,提示用户当前设备故障,更换设备操作;
[0099] 若As1大于等于0,则金额修正成功,得到临时配钞金额为Ab1和As1,进入S500临时配钞步骤。
[0100] S500、临时配钞:
[0101] 根据第一大面额组总金额Ab1,对第一钞箱组B组进行配钞,得到大面额配钞张数和第一大面额临时配钞结果;根据第一小面额组总金额As1,对第二钞箱组S组进行配钞,得到小面额配钞张数和第一小面额临时配钞结果;为了更清楚地解释本发明的执行过程,此
处设定第一大面额临时配钞结果为DB1,设定第一小面额临时配钞结果为DS1,此处的设定
仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范
围。
[0102] 若DB1成功并且DS1成功,则临时配钞成功,设定临时配钞结果为成功;
[0103] 若DB1失败或者DS1失败或者DB1和DS1均失败,则临时配钞失败,设定临时配钞结果为失败,再次执行金额修正操作,即:
[0104] 根据修正值t进行金额修正,第二大面额组总金额Ab2=Ab1+t,第二小面额组总金额As2=As1–t,判断As2是否小于0:
[0105] 若As2小于0,则执行配钞流程停止操作,即配钞失败,配钞流程结束,提示用户当前设备故障,更换设备操作;
[0106] 若As2大于等于0,则金额修正成功,得到临时配钞金额为As2和Ab2,进入S500临时配钞步骤;
[0107] 重复上述步骤,直到金额修正成功或者完全失败,完全失败是指根据当前自助设备中钞箱里的钞票面额无法配出Abn和Asn。
[0108] S600、配钞反算验证:
[0109] 对临时配钞结果进行判断:
[0110] 若临时配钞失败,则执行配钞流程停止操作,即配钞失败,配钞流程结束,提示用户当前设备故障,更换设备操作;
[0111] 若临时配钞成功,则执行配钞金额反算操作,即:
[0112] 根据大面额配钞张数和小面额配钞张数,通过第一公式进行总金额的反算,得到反算金额;为了更清楚地解释本发明的执行过程,此处设定第一钞箱组的钞箱为B1、B2……Bj,其对应钞票的面额分别为Mb1、Mb2……Mbj,其对应的大面额配钞张数分别为Cb1、
Cb2……Cbj,设定第二钞箱组的钞箱为S1、S2……Sk,其对应钞票的面额分别为Ms1、
Ms2……Msk,其对应的小面额配钞张数分别为Cs1、Cs2……Csk,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0113] 第一公式: 计算出反算金额。
[0114] 若反算配钞金额不等于待取款金额A,则执行第一告警提示操作,即提示用户当前设备故障,请更换设备操作;
[0115] 若反算配钞金额等于待取款金额A,则S500临时配钞步骤中的配钞结果即为最终配钞结果,自助设备根据最终配钞结果进行配钞,用户通过自助设备获取到对应取款金额
的钞票。
[0116] 实施例2
[0117] 本发明实施例还提供一种自助设备小面额有限配钞的系统,请参阅图3和图4,包括:配置信息模块、钞箱分组模块、金额初始化分组模块、分组金额修正模块、临时配钞模块和配钞反算验证模块;
[0118] 配置信息模块:
[0119] 配置信息模块用于设定第一基准面额和第一最大出钞金额;
[0120] 具体地,配置信息模块设定第一基准面额,第一基准面额用于将现金自助设备的所有钞箱中现有的钞票面额进行区分,大于等于第一基准面额的为大面额组,小于第一基
准面额的为小面额组;
[0121] 配置信息模块设定第一最大出钞金额,第一最大出钞金额用于限制小面额组的钞票最大出钞金额。
[0122] 自助设备管理员可以根据自助设备中各个面额的钞票剩余数量进行第一基准面额和第一最大出钞金额的动态调整设定,当前的设定在下一次设定前一直有效。
[0123] 为了更清楚地解释本发明的执行过程,此处设定第一基准面额为M,设定第一最大出钞金额为N;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0124] 钞箱分组模块:
[0125] 钞箱分组模块用于根据第一基准面额,对钞箱执行钞箱分组操作,得到钞箱分组结果;
[0126] 具体地,钞箱分组模块根据设定的第一基准面额M将自助设备中的所有钞箱进行分组:
[0127] 若钞箱中放置的钞票的面额大于或者等于M,则设定当前钞箱为第一钞箱组,即大面额组;
[0128] 若钞箱中放置的钞票的面额小于M,则设定当前钞箱为第二钞箱组,即小面额组。
[0129] 为了更清楚地解释本发明的执行过程,此处设定第一钞箱组为B组,第二钞箱组为S组;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0130] 金额初始化分组模块:
[0131] 金额初始化分组模块用于获取待取款金额;根据第一最大出钞金额,对待取款金额执行取款金额分组操作,得到初始化分组金额;
[0132] 具体地,金额初始化分组模块获取带取款金额,并对待取款金额进行分组,根据待取款金额的组成,分为初始化小面额组总金额和初始化大面额组总金额;
[0133] 由于小面额的钞票的最大出钞金额为第一最大出钞金额N,则预设定初始化小面额组总金额为第一最大出钞金额N,那么初始化大面额组总金额为待取款金额减去第一最
大出钞金额N的值。
[0134] 为了更清楚地解释本发明的执行过程,此处设定待取款金额为A,初始化小面额组总金额为As,初始化大面额组总金额为Ab;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0135] 那么As=N,Ab=A‑N或者A‑As,用户的待取款金额被分为As和Ab两组。
[0136] 分组金额修正模块:
[0137] 分组金额修正模块用于根据钞箱分组结果,对初始化分组金额执行初始化金额修正操作,得到临时配钞金额;分组金额修正模块包括求取最大公约数单元、判断大面额单元和调整面额单元;
[0138] 求取最大公约数单元:
[0139] 求取最大公约数单元用于求取第一钞箱组中全部钞箱的面额的最大公约数;
[0140] 具体地,求取最大公约数单元求取第一钞箱组也就是大面额组B组中所有钞箱里钞票面额的最大公约数,为了更清楚地解释本发明的执行过程,此处设定第一钞箱组B组中各个钞箱中存放的钞票的面额分别为Mb1、Mb2……Mbj,设定最大公约数为Gb;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本
发明的保护范围。
[0141] 那么,第一钞箱组B组中各个钞箱中存放钞票的面额的最大公约数Gb=gcd(Mb1,Mb2,……Mbj)。
[0142] 判断大面额单元:
[0143] 判断大面额单元用于根据最大公约数,对初始化大面额组总金额执行大面额判断操作,得到初始化大面额判断结果;
[0144] 具体地,判断大面额单元根据配钞的原理,初始化大面额组总金额Ab应该为最大公约数Gb的整数倍,根据最大公约数Gb,对初始化大面额组总金额Ab进行判断,即初始化大面额组总金额Ab对最大公约数Gb取余,得到余数,为了更清楚地解释本发明的执行过程,此处设定余数为R;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围;那么R=Ab%Gb,对余数R进行判断:
[0145] 若R=0,则得到第一大面额判断结果,即初始化大面额组总金额Ab是最大公约数Gb的整数倍;
[0146] 若R≠0,则得到第二大面额判断结果,即初始化大面额组总金额Ab不是最大公约数Gb的整数倍。
[0147] 调整面额单元:
[0148] 调整面额单元用于根据所述初始化大面额判断结果,对所述初始组小面额组总金额和所述初始组大面额组总金额执行所述金额修正操作,得到所述临时配钞金额;
[0149] 具体地,调整面额单元对余数R进行判断:
[0150] 若R=0,则初始化大面额组总金额不需要进行修正,初始化小面额组总金额也不需要修正,设定第一小面额组总金额为初始化小面额组总金额As,设定第一大面额组总金
额为初始化大面额组总金额Ab;为了更清楚地解释本发明的执行过程,此处设定第一小面
额组总金额为As1,设定第一大面额组总金额为Ab1;需要说明的是,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围;那么,As1=As,Ab1=Ab。
[0151] 若R≠0,则执行金额修正操作,即通过最大公约数Gb和初始化大面额组总金额Ab求取修正值;为了更清楚地解释本发明的执行过程,此处设定修正值为t,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围;那
么t=Gb‑Ab%Gb;
[0152] 根据修正值t进行第一次修正,As1=As‑t,Ab1=Ab+t,金额修正后,得到第一小面额组总金额As1和第一大面额组总金额Ab1,对As1进行判断:
[0153] 若As1小于0,则执行配钞流程停止操作,即配钞失败,配钞流程结束,提示用户当前设备故障,更换设备操作;
[0154] 若As1大于等于0,则金额修正成功,得到临时配钞金额为Ab1和As1,进入临时配钞模块。
[0155] 临时配钞模块:
[0156] 临时配钞模块用于根据临时配钞金额,执行临时配钞操作,得到临时配钞结果和临时配钞方案;
[0157] 具体地,临时配钞模块根据第一大面额组总金额Ab1,对第一钞箱组B组进行配钞,得到大面额配钞张数和第一大面额临时配钞结果;临时配钞模块根据第一小面额组总金额As1,对第二钞箱组S组进行配钞,得到小面额配钞张数和第一小面额临时配钞结果;为了更清楚地解释本发明的执行过程,此处设定第一大面额临时配钞结果为DB1,设定第一小面额临时配钞结果为DS1,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0158] 若DB1成功并且DS1成功,则临时配钞成功,设定临时配钞结果为成功;
[0159] 若DB1失败或者DS1失败或者DB1和DS1均失败,则临时配钞失败,设定临时配钞结果为失败,再次执行金额修正操作,即:
[0160] 临时配钞模块根据修正值t进行金额修正,第二大面额组总金额Ab2=Ab(1)+t,第二小面额组总金额As2=As(1)–t,判断As2是否小于0:
[0161] 若As2小于0,则执行配钞流程停止操作,即配钞失败,配钞流程结束,提示用户当前设备故障,更换设备操作;
[0162] 若As2大于等于0,则金额修正成功,得到临时配钞金额为As2和Ab2,进入临时配钞模块;
[0163] 重复上述步骤,直到金额修正成功或者完全失败,完全失败是指根据当前自助设备中钞箱里的钞票面额无法配出Abn和Asn。
[0164] 配钞反算验证模块:
[0165] 配钞反算验证模块用于根据临时配钞方案和所述临时配钞结果,通过第一公式执行配钞金额反算操作,得到反算配钞金额;根据反算配钞金额和待取款金额,执行配钞验证操作,得到实际配钞结果;
[0166] 具体地,配钞反算验证模块对临时配钞结果进行判断:
[0167] 若临时配钞失败,则执行配钞流程停止操作,即配钞失败,配钞流程结束,提示用户当前设备故障,更换设备操作;
[0168] 若临时配钞成功,则执行配钞金额反算操作,即:
[0169] 根据大面额配钞张数和小面额配钞张数,通过第一公式进行总金额的反算,得到反算金额;为了更清楚地解释本发明的执行过程,此处设定第一钞箱组的钞箱为B1、B2……Bj,其对应钞票的面额分别为Mb1、Mb2……Mbj,其对应的大面额配钞张数分别为Cb1、
Cb2……Cbj,设定第二钞箱组的钞箱为S1、S2……Sk,其对应钞票的面额分别为Ms1、
Ms2……Msk,其对应的小面额配钞张数分别为Cs1、Cs2……Csk,此处的设定仅仅是为了更清楚的解释本发明和对后续流程的解释,并不能因此限定本发明的保护范围。
[0170] 第一公式: 计算出反算金额。
[0171] 若反算配钞金额不等于待取款金额A,则执行第一告警提示操作,即提示用户当前设备故障,请更换设备操作;
[0172] 若反算配钞金额等于待取款金额A,则临时配钞模块中的配钞结果即为最终配钞结果,自助设备根据最终配钞结果进行配钞,用户通过自助设备获取到对应取款金额的钞
票。
[0173] 实施例3
[0174] 本实施例3具有一种计算机可读存储介质,所述存储介质用于储存将上述实施例1所述的自助设备小面额有限配钞的方法实现所用的计算机软件指令,其包含用于自助设备
小面额有限配钞的方法所设置的程序;具体地,该可执行程序可以内置于实施例2所述的自助设备小面额有限配钞的系统中,这样,自助设备小面额有限配钞的系统就可以通过执行
内置的可执行程序实现所述实施例1的自助设备小面额有限配钞的方法。
[0175] 上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0176] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介
质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0177] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本发明的专利保护范围内。