System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种发票数据加工方法、装置、设备及存储介质。
技术介绍
1、目前,根据企业类型的差异,企业可以基于oracle平台开具增值税专用发票、增值税普通发票、卷式发票、通行费发票、机动车销售统一发票、二手车销售统一发票等不同种类的发票,增值税专用发票和增值税普通发票又分纸质版和电子版。而由于不同种类的发票的票面信息有较大差异,所以企业开具的发票在生产系统落地存储时,首先会以发票种类为单位进行独立的存储。并对每一个发票种类的发票再分成本地票和异地票分别存储。所以最终有16张发票主表、14张发票子表,以及若干附加信息表。这样一来,不仅数据海量且不同种类的发票独立存储。在业内,现在基本上采取以下三种方式来处理发票数据以支撑上层取数需求:①建主题表;②建视图;③分表取数。然而,第一种会极度消耗存储空间且耗时很长;第二种由于视图的数据不落地,导致取数性能极差;第三种加工脚本会极其冗长和复杂,出错率较高,且需要大量的开发与维护成本。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种发票数据加工方法、装置、设备及存储介质,能够有效提高加工效率,并降低开发与维护成本。其具体方案如下:
2、第一方面,本申请提供了一种发票数据加工方法,应用于预设发票加工接口,包括:
3、从第一预设发票加工类型配置表中获取与当前发票加工项目中各发票加工类型对应的三级加工脚本;
4、从第二预设发票加工类型配置表中获取与各所述发票加工类型分别对应的取数标志信
5、针对满足所述预设取数条件的第一发票加工类型,基于所述第二预设发票加工类型配置表以及预设发票来源配置表执行相应的取数操作,以基于得到的取数结果以及对应的所述三级加工脚本,得到对应的目标可执行脚本;
6、在得到与各所述发票加工类型对应的所述目标可执行脚本之后,基于预设脚本自动执行规则以及各所述目标可执行脚本、各所述三级加工脚本进行发票数据加工,以得到与当前发票加工项目对应的加工结果。
7、可选的,所述基于各所述取数标志信息确定当前是否满足预设取数条件,包括:
8、若所述取数标志信息为是,则确定当前满足预设取数条件;
9、若所述取数标志信息为否,则确定当前不满足所预设取数条件。
10、可选的,所述基于得到的取数结果以及对应的所述三级加工脚本,得到对应的目标可执行脚本,包括:
11、获取对应的所述三级加工脚本中与预设一级加工字段对应的初始加工脚本;
12、基于得到的取数结果以及所述初始加工脚本得到与所述第一发票加工类型对应的目标可执行脚本。
13、可选的,所述基于得到的取数结果以及所述初始加工脚本得到与所述第一发票加工类型对应的目标可执行脚本,包括:
14、通过利用所述取数结果对所述初始加工脚本中的预设关键字进行替换,得到与所述第一发票加工类型对应的所述目标可执行脚本。
15、可选的,所述方法还包括:
16、针对不满足所述预设取数条件的第二发票加工类型,将对应的所述初始加工脚本作为与所述第二发票加工类型对应的目标可执行脚本。
17、可选的,所述针对满足所述预设取数条件的第一发票加工类型,基于所述第二预设发票加工类型配置表以及预设发票来源配置表执行相应的取数操作,包括:
18、针对满足所述预设取数条件的第一发票加工类型,从所述第二预设发票加工类型配置表中获取对应的目标发票来源代码id;
19、基于所述目标发票来源代码id从预设发票来源配置表中读取与所述第一发票加工类型对应的发票来源信息,以得到相应的取数结果;其中,所述取数结果包括相应的一次加工最大分区数。
20、可选的,所述基于预设脚本自动执行规则以及各所述目标可执行脚本、各所述三级加工脚本进行发票数据加工,以得到与当前发票加工项目对应的加工结果,包括:
21、基于分区循环依次执行与各所述发票加工类型对应的所述目标可执行脚本,以完成相应的分区级加工,并得到相应的分区结果;
22、在分区级加工过程中,基于所述一次加工最大分区数自动调用对应的所述三级加工脚本中与预设二级加工字段对应的加工脚本,以进行若干次的发票来源级加工;
23、在各所述发票来源级加工均完成之后,自动调用对应的所述三级加工脚本中与预设三级加工字段对应的加工脚本进行汇总加工,以得到与当前发票加工项目对应的加工结果。
24、第二方面,本申请提供了一种发票数据加工装置,应用于预设发票加工接口,包括:
25、脚本获取模块,用于从第一预设发票加工类型配置表中获取与当前发票加工项目中各发票加工类型对应的三级加工脚本;
26、条件判断模块,用于从第二预设发票加工类型配置表中获取与各所述发票加工类型分别对应的取数标志信息,并基于各所述取数标志信息确定当前是否满足预设取数条件;
27、目标脚本获取模块,用于针对满足所述预设取数条件的第一发票加工类型,基于所述第二预设发票加工类型配置表以及预设发票来源配置表执行相应的取数操作,以基于得到的取数结果以及对应的所述三级加工脚本,得到对应的目标可执行脚本;
28、加工结果获取模块,用于在得到与各所述发票加工类型对应的所述目标可执行脚本之后,基于预设脚本自动执行规则以及各所述目标可执行脚本、各所述三级加工脚本进行发票数据加工,以得到与当前发票加工项目对应的加工结果。
29、第三方面,本申请提供了一种电子设备,包括:
30、存储器,用于保存计算机程序;
31、处理器,用于执行所述计算机程序,以实现前述的发票数据加工方法的步骤。
32、第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的发票数据加工方法的步骤。
33、可见,本申请中,从第一预设发票加工类型配置表中获取与当前发票加工项目中各发票加工类型对应的三级加工脚本;从第二预设发票加工类型配置表中获取与各所述发票加工类型分别对应的取数标志信息,并基于各所述取数标志信息确定当前是否满足预设取数条件;针对满足所述预设取数条件的第一发票加工类型,基于所述第二预设发票加工类型配置表以及预设发票来源配置表执行相应的取数操作,以基于得到的取数结果以及对应的所述三级加工脚本,得到对应的目标可执行脚本;在得到与各所述发票加工类型对应的所述目标可执行脚本之后,基于预设脚本自动执行规则以及各所述目标可执行脚本、各所述三级加工脚本进行发票数据加工,以得到与当前发票加工项目对应的加工结果。也就是说,本申请,针对当前发票加工项目,先基于预设发票加工接口,从第一预设发票加工类型配置表中获取各发票加工类型对应的三级加工脚本,然后通过从第二预设发票加工类型配置表中获取对应的取数标志信息进行判断,然后基于得到的判断结果确定对应的目标可执行脚本,本文档来自技高网...
【技术保护点】
1.一种发票数据加工方法,其特征在于,应用于预设发票加工接口,包括:
2.根据权利要求1所述的发票数据加工方法,其特征在于,所述基于各所述取数标志信息确定当前是否满足预设取数条件,包括:
3.根据权利要求1所述的发票数据加工方法,其特征在于,所述基于得到的取数结果以及对应的所述三级加工脚本,得到对应的目标可执行脚本,包括:
4.根据权利要求3所述的发票数据加工方法,其特征在于,所述基于得到的取数结果以及所述初始加工脚本得到与所述第一发票加工类型对应的目标可执行脚本,包括:
5.根据权利要求3所述的发票数据加工方法,其特征在于,还包括:
6.根据权利要求1至5任一项所述的发票数据加工方法,其特征在于,所述针对满足所述预设取数条件的第一发票加工类型,基于所述第二预设发票加工类型配置表以及预设发票来源配置表执行相应的取数操作,包括:
7.根据权利要求6所述的发票数据加工方法,其特征在于,所述基于预设脚本自动执行规则以及各所述目标可执行脚本、各所述三级加工脚本进行发票数据加工,以得到与当前发票加工项目对应的加工结果,
8.一种发票数据加工装置,其特征在于,应用于预设发票加工接口,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的发票数据加工方法。
...【技术特征摘要】
1.一种发票数据加工方法,其特征在于,应用于预设发票加工接口,包括:
2.根据权利要求1所述的发票数据加工方法,其特征在于,所述基于各所述取数标志信息确定当前是否满足预设取数条件,包括:
3.根据权利要求1所述的发票数据加工方法,其特征在于,所述基于得到的取数结果以及对应的所述三级加工脚本,得到对应的目标可执行脚本,包括:
4.根据权利要求3所述的发票数据加工方法,其特征在于,所述基于得到的取数结果以及所述初始加工脚本得到与所述第一发票加工类型对应的目标可执行脚本,包括:
5.根据权利要求3所述的发票数据加工方法,其特征在于,还包括:
6.根据权利要求1至5任一项所述的发票数据...
【专利技术属性】
技术研发人员:汤宇航,周复曙,王伟萍,王培勇,
申请(专利权)人:税友信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。