一种IC卡的数据控制方法及系统与流程
本技术涉及数据处理,特别是涉及一种ic卡的数据控制方法及系统。
背景技术:
1、在医院收费窗口的日常缴费过程中,收费员收取现金后需要将扣款结果与缴费流水写回患者的ic卡,ic卡内划分有存储余额数值的余额区域和存储缴费流水记录的流水区域,结算系统向ic卡发送写入指令后等待读卡器返回写入完成回执,收到回执即记录写卡成功,未收到回执即记录写卡失败并提示收费员重新办理。写入操作按照先向余额区域写入、后向流水区域写入的次序分段执行,收费窗口人流密集,患者常常在完成检查排队或赶时间的压力下急于离开,写入进行中患者看到屏幕金额刷新便认为缴费已完成,随即拔出ic卡,读卡器触点与ic卡金属片分离,写入在两段之间被中断,写入完成回执无法发回。
2、结算系统按照收到回执与否的单点判断将本笔业务记录为失败待重办,但是ic卡内的余额区域已经写入扣减后的数值,流水区域仍旧没有任何本次缴费的记录,卡内余额数据与流水数据前后不一致,收费员重新刷卡时看到余额显示已经扣款而流水显示没有缴费,无法判断本笔缴费是否完成。
3、收费员按照失败待重办的提示重新办理缴费时,写入以卡内已经扣减的余额为基础再次执行扣款,造成患者被重复扣款,收费员选择不重新办理时,患者携带余额已变而流水缺失的ic卡前往后续环节,后续环节刷卡核查出卡内数据不一致,患者被迫返回窗口反复核查。对账过程中,结算系统记录本笔业务为失败待重办,卡内余额已经扣减,卡内流水没有缴费记录,后台记录与卡内数据无法对应,本笔缴费成为长期无法核销的悬账,收费窗口排队队伍持续加长,患者往返奔波,收费效率明显下降。
4、现有技术缺乏对写入中断后卡内各数据区域各自新旧状态的判断手段,缺乏中断后卡内实际写入状态的识别手段,也缺乏在卡内余额已经扣减情形下仅补充写入缺失流水记录的处理手段,写入中断引发的重复扣款与缴费悬账问题在收费窗口场景中长期得不到解决。
技术实现思路
1、鉴于上述存在的问题,提出了本技术。
2、因此,本技术提供了一种ic卡的数据控制方法及系统,能够解决ic卡分段写入被拔卡中断后余额区域已写入而流水区域未写入时重新办理造成重复扣款的问题。
3、为解决上述技术问题,本技术提供如下技术方案:
4、第一方面,本技术提供了一种ic卡的数据控制方法,包括:
5、获取缴费金额,从ic卡的余额区域读取余额旧值,从所述ic卡的流水区域读取末条流水号,生成包含卡号、所述余额旧值与所述末条流水号的写前快照;
6、所述余额区域为所述ic卡中存储余额数值的数据区域,所述流水区域为所述ic卡中存储缴费流水记录的数据区域;
7、向所述ic卡发送写入指令,按照先向所述余额区域写入、后向所述流水区域写入的写入次序执行写入;
8、响应于写入中断且所述ic卡重新插入读卡器,读取余额当前值与流水号当前值,将所述余额当前值与所述余额旧值比对、将所述流水号当前值与所述末条流水号比对,确定写入状态标识;
9、根据所述写入状态标识对所述ic卡执行写入处理,所述写入状态标识为部分写入标识时,仅向所述流水区域写入缴费流水记录,不向所述余额区域写入。
10、作为优选,所述获取缴费金额,从ic卡的余额区域读取余额旧值,从所述ic卡的流水区域读取末条流水号,生成包含卡号、所述余额旧值与所述末条流水号的写前快照,包括:
11、从所述ic卡读取所述卡号、所述余额旧值与所述末条流水号;
12、判断所述卡号、所述余额旧值与所述末条流水号是否读取完整,并判断所述余额旧值是否满足支付所述缴费金额的支付条件;
13、响应于读取完整且满足所述支付条件,将所述卡号、所述余额旧值与所述末条流水号关联所述缴费金额,生成所述写前快照;
14、响应于读取不完整,向收费终端屏幕发送重插提示,根据重新插入的所述ic卡重新执行读取,直至读取完整后生成所述写前快照。
15、作为优选,所述将所述余额当前值与所述余额旧值比对、将所述流水号当前值与所述末条流水号比对,确定写入状态标识,包括:
16、响应于所述余额当前值相对所述余额旧值的扣减数额等于所述缴费金额、且所述流水号当前值等于所述末条流水号,确定所述写入状态标识为部分写入标识;
17、响应于所述余额当前值等于所述余额旧值、且所述流水号当前值等于所述末条流水号,确定所述写入状态标识为未写入标识;
18、响应于所述余额当前值相对所述余额旧值的扣减数额等于所述缴费金额、且所述流水号当前值为所述末条流水号的下一流水号,确定所述写入状态标识为已完成标识。
19、作为优选,所述根据所述写入状态标识对所述ic卡执行写入处理,所述写入状态标识为部分写入标识时,仅向所述流水区域写入缴费流水记录,包括:
20、生成包含所述缴费金额与标识本笔缴费业务的业务单号的预生成流水记录,所述预生成流水记录的流水号为所述末条流水号的下一流水号;
21、写入前从所述流水区域读取第一校验流水号;
22、响应于所述第一校验流水号等于所述末条流水号,将所述预生成流水记录写入所述流水区域,不向所述余额区域写入;
23、响应于所述第一校验流水号不等于所述末条流水号,不执行向所述流水区域写入,生成人工核查提示并发送至收费终端屏幕。
24、作为优选,所述响应于写入中断且所述ic卡重新插入读卡器,读取余额当前值与流水号当前值,包括:
25、在按照所述写入次序执行写入的过程中,检测所述读卡器与所述ic卡之间的触点断开信号;
26、响应于检测到所述触点断开信号,向收费终端屏幕发送第一提示,并向与所述读卡器关联的扬声器发送第二提示,所述第一提示用于提示写入被中断,所述第二提示用于提示将所述ic卡插回;
27、响应于预设等待时长内所述ic卡重新插入所述读卡器,读取所述余额当前值与所述流水号当前值;
28、响应于所述预设等待时长内未检测到所述ic卡重新插入,通过所述扬声器再次发送所述第二提示,并响应于之后所述ic卡重新插入所述读卡器,读取所述余额当前值与所述流水号当前值。
29、作为优选,所述根据所述写入状态标识对所述ic卡执行写入处理,包括:
30、响应于所述写入状态标识为未写入标识,向收费终端屏幕发送现金处理选择请求;
31、接收收费员针对所述现金处理选择请求输入的第一选择响应或第二选择响应,所述第一选择响应指示现金已收且重新办理本笔缴费业务,所述第二选择响应指示退还现金且取消本笔缴费业务;
32、响应于所述第一选择响应,以所述写前快照中的所述余额旧值为基准,向所述余额区域写入扣减所述缴费金额后的余额数值,并向所述流水区域写入缴费流水记录,完成所述写入处理;
33、响应于所述第二选择响应,取消向所述ic卡写入,打印退款凭证,完成所述写入处理。
34、作为优选,所述方法还包括:
35、响应于预设等待时长内未检测到所述ic卡重新插入所述读卡器,将本笔缴费业务生成待补写单写入待补写队列,所述待补写单包含所述卡号、所述缴费金额、标识本笔缴费业务的业务单号与所述写前快照;
36、响应于所述ic卡插入院内读卡终端,通过所述院内读卡终端读取所述卡号,并向结算系统发送卡号查询请求;
37、响应于根据所述卡号查询请求在所述待补写队列中查询到与所述卡号匹配的待补写单,向所述院内读卡终端发送补写确认请求,接收针对所述补写确认请求输入的立即补写响应或稍后补写响应;
38、响应于所述立即补写响应,触发执行所述读取余额当前值与流水号当前值、确定所述写入状态标识的步骤;
39、响应于所述稍后补写响应,将所述待补写单保留于所述待补写队列。
40、作为优选,所述将所述预生成流水记录写入所述流水区域,包括:
41、写入完成后,从所述余额区域读取第一回读数值,从所述流水区域读取第二回读数值与回读流水记录;
42、判断所述第一回读数值相对所述余额旧值的扣减数额是否等于所述缴费金额,判断所述第二回读数值是否为所述末条流水号的下一流水号,并判断所述回读流水记录中的金额与业务单号是否与所述预生成流水记录一致;
43、响应于判断结果均为一致,生成一致标识,核销本笔缴费业务;
44、响应于判断结果存在不一致,重新执行所述将所述预生成流水记录写入所述流水区域,达到预设重试上限仍存在不一致时,生成人工核查提示并发送至收费终端屏幕。
45、作为优选,所述方法还包括:
46、在所述待补写单存续于所述待补写队列期间,响应于所述ic卡在任一读卡终端发起新的缴费结算,向发起所述新的缴费结算的读卡终端发送缴费锁定提示,所述缴费锁定提示用于提示先完成所述待补写单的补写;
47、响应于所述待补写单补写完成并核销,解除所述缴费锁定提示对应的缴费锁定状态,继续执行所述新的缴费结算;
48、将所述待补写单的生成、补写与核销事件按时刻与因果关系写入关联日志;
49、响应于接收到对账查询请求,返回所述关联日志中按时刻排列的事件序列。
50、第二方面,本技术还提供了一种ic卡的数据控制系统,包括:
51、快照生成模块、写入执行模块、重读比对模块和写入处理模块;
52、所述快照生成模块用于获取缴费金额,从ic卡的余额区域读取余额旧值、从所述ic卡的流水区域读取末条流水号,生成包含卡号、所述余额旧值与所述末条流水号的写前快照,所述余额区域为所述ic卡中存储余额数值的数据区域,所述流水区域为所述ic卡中存储缴费流水记录的数据区域;
53、所述写入执行模块用于向所述ic卡发送写入指令,按照先向所述余额区域写入、后向所述流水区域写入的写入次序执行写入;
54、所述重读比对模块用于响应于写入中断且所述ic卡重新插入读卡器,读取余额当前值与流水号当前值,将所述余额当前值与所述余额旧值比对、将所述流水号当前值与所述末条流水号比对,确定写入状态标识;
55、所述写入处理模块用于根据所述写入状态标识对所述ic卡执行写入处理,在所述写入状态标识为部分写入标识时仅向所述流水区域写入缴费流水记录,不向所述余额区域写入。
56、实施本技术,具有如下有益效果:
57、本技术提供了一种ic卡的数据控制方法及系统,本技术在写入指令发出前留存写前快照,写入中断后重新读取余额当前值与流水号当前值并与写前快照比对,能够识别余额区域已写入而流水区域未写入的部分写入状态,在部分写入状态下仅向流水区域补充写入缴费流水记录,不再向余额区域写入,避免了重新办理缴费业务时以已扣减余额为基础再次扣款,防止患者被重复扣款,缴费流水记录补写完成后卡内余额数据与流水数据前后一致,患者持卡前往后续环节刷卡核查时不再出现卡内数据不一致而被拦下的情形,结算系统的业务记录与卡内数据对应,后台对账时能够核销本笔缴费业务,缴费悬账不再产生,收费窗口重复办理与反复核查的次数减少,排队等待时间缩短。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com