CN110109907B - 一种税务数据的存储、查询方法及装置 - Google Patents
一种税务数据的存储、查询方法及装置 Download PDFInfo
- Publication number
- CN110109907B CN110109907B CN201711447098.5A CN201711447098A CN110109907B CN 110109907 B CN110109907 B CN 110109907B CN 201711447098 A CN201711447098 A CN 201711447098A CN 110109907 B CN110109907 B CN 110109907B
- Authority
- CN
- China
- Prior art keywords
- invoice
- identification information
- character strings
- dividing
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种税务数据的存储、查询方法及装置,用以解决现有税务数据查询速度慢的问题。该存储方法通过获取发票的第一发票标识信息;根据预设的划分规则将第一发票标识信息划分出至少两个字符串,每个字符串至少包含一个字符;根据至少两个字符串生成存储标识信息;判断数据库中有无与存储标识信息对应的第一数据表;若有,将包括第一发票标识信息的发票信息存储在第一数据表内;若无,则建立与存储标识信息对应的第二数据表,将包括第一发票标识信息的发票信息存储在第二数据表内。由于本发明实施例将发票信息存储在与存储标识信息对应的数据表中,可以利用第一发票标识信息查找对应的数据表,提高了查询速度。
Description
技术领域
本发明涉及数据查询技术领域,特别涉及一种税务数据的存储、查询方法及装置。
背景技术
发票是指一切单位或个人在购销商品、提供或接受服务以及从事其他经营活动中,所开具或收取的业务凭证,是会计核算的原始依据,也是审计机关、税务机关执法检查的重要依据。
我国每时每刻都有大量的发票开具,不管是税务机关还是企业的税务系统,如何能够快速查询到已开发票信息,是需要解决的首要问题。目前为提高查询速度,常用的方法有数据库优化、服务器扩展等。数据库优化又有数据库结构设计优化、数据库分表等。数据库分表常采用的有按时间分表、按数据量分表,按时间分表即按照开具发票的时间,将不同时间开具的发票存储到不同的数据表中,按数据量分表即根据每个数据表能够包含的发票信息的数量,将相应数量的发票信息存储到数据表中。
采用数据库分表的方式进行数据库优化的情况下,查询发票信息的难点在于如何快速定位税务数据所在的数据表。而采用按时间分表和按数据量分表的方式,往往存在定位税务数据所在数据表的时间较长,税务数据查询速度慢的问题。
发明内容
本发明提供一种税务数据的存储、查询方法及装置,用以解决现有技术中定位税务数据所在数据表的时间较长,税务数据查询速度慢的问题。
本发明实施例提供了一种税务数据的存储方法,包括:
获取待存储的发票的第一发票标识信息;
根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息;
判断数据库中是否存在与所述存储标识信息对应的第一数据表;
若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;
若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
进一步地,所述第一发票标识信息包括:发票代码。
进一步地,所述第一发票标识信息中还包括:发票号码。
进一步地,所述根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串包括:
根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;
根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
进一步地,所述根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串包括:
当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;
当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例提供了一种基于税务数据的存储方法的税务数据的查询方法,所述查询方法包括:
获取待查询的发票的第二发票标识信息;
根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息;
在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
进一步地,所述第二发票标识信息包括:发票代码。
进一步地,所述第二发票标识信息中还包括:发票号码。
进一步地,所述根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串包括:
根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;
根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
进一步地,所述根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串包括:
当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;
当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例提供了一种税务数据的存储装置,所述存储装置包括:
获取模块,用于获取待存储的发票的第一发票标识信息;
划分生成模块,用于根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息;
判断存储模块,用于判断数据库中是否存在与所述存储标识信息对应的第一数据表;若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
进一步地,所述划分生成模块,具体用于根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
进一步地,所述划分生成模块,具体用于当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例提供了一种基于税务数据的存储装置的税务数据的查询装置,所述查询装置包括:
获取模块,用于获取待查询的发票的第二发票标识信息;
划分生成模块,用于根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息;
查询获取模块,用于在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
进一步地,所述划分生成模块,具体用于根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
进一步地,所述划分生成模块,具体用于当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例提供了一种税务数据的存储、查询方法及装置,该存储方法包括:获取待存储的发票的第一发票标识信息;根据预设的划分规则,将发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成发票的存储标识信息;判断数据库中是否存在与存储标识信息对应的第一数据表;若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;若否,则在数据库中建立与存储标识信息对应的第二数据表,并将包括第一发票标识信息的发票信息存储在第二数据表内。由于本发明实施例在进行税务数据存储时,将发票的第一发票标识信息划分出至少两个字符串,并将该至少两个字符串生成发票的存储标识信息,从而查找该存储标识信息对应的数据表,并进行存储,因此可以通过发票的第一发票标识信息查找对应的数据表,从而使发票查询更加方便快捷,提高了查询速度。
附图说明
图1为本发明实施例提供一种税务数据的存储方法的流程图;
图2为本发明实施例提供一种税务数据的存储方法的详细实施过程图;
图3为本发明实施例提供一种税务数据的查询方法的流程图;
图4为本发明实施例提供一种税务数据的查询方法的详细实施过程图;
图5为本发明实施例提供一种税务数据的存储装置示意图;
图6为本发明实施例提供一种税务数据的查询装置示意图;
图7为本发明实施例提供一种计算机设备示意图;
图8为本发明实施例提供一种计算机设备示意图。
具体实施方式
为了快速定位发票所在的数据表,提高发票的查询速度,本发明实施例提供了一种税务数据的存储、查询方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种税务数据的存储方法的流程图,其具体处理过程如下:
S101:获取待存储的发票的第一发票标识信息。
本发明实施例中针对待存储的任意一张发票,在将该发票的发票信息存入数据库中之前,首先要获取该发票的第一发票标识信息。第一发票标识信息为唯一能够标识该发票的信息。所述第一发票标识信息包括发票代码。
具体地,发票代码是税务部门给予发票的编码,每一张发票都有其对应的发票代码,发票类型不同,其发票代码的长度也不同。其中,普通发票的发票代码是由12位数字组成,增值税发票的发票代码为10位数字。
所述第一发票标识信息还可以包括发票号码。具体地,每一张发票可以由其对应的发票代码和发票号码唯一确定,其中发票号码由8位数字构成。
第一发票标识信息可以有多种构成方式,可以单独将发票代码作为第一发票标识信息,或者将发票代码和发票号码的组合作为第一发票标识信息。具体组合发票代码和发票号码时,可以采用多种方法,可以以发票代码在前,发票号码在后的方法将发票代码和发票号码进行组合,或者以发票号码在前,发票代码在后的方法将发票代码和发票号码进行组合,另外在组合时还可以将发票代码和发票号码中的数字拆分后重新进行排列组合等等。
较佳地,为了方便发票存储及后续的发票查询,在本发明实施例中第一发票标识信息以发票代码在前,发票号码在后的组合方法组成。
S102:根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息。
针对第一发票标识信息,将该第一发票标识信息划分出至少两个字符串,即,可以将该第一发票标识信息划分出两个、三个或四个等多个字符串。并且具体在划分时,可以采用多种方法,可以将第一发票标识信息划分出等长或不等长的至少两个字符串,其中,每个字符串至少包含一个字符,另外,划分出的每个字符串可以互相重叠或不重叠。
具体地,本发明实施例中,将所述发票的第一发票标识信息划分出至少两个字符串的方法包括但不限于以下几种:
第一种:将该发票的第一发票标识信息划分出两个等长并互不重叠的字符串。例如:将第一发票标识信息的第一位到第三位数字划分出来作为第一个字符串,将其第五位到第八位划分出来作为第二个字符串。第二种:将该发票的第一发票标识信息划分出三个等长并互相可重叠的字符串。例如:将第一发票标识信息的第一位到第三位数字划分出来作为第一个字符串,将其第二位到第四位划分出来作为第二个字符串,将其第五位到第七位划分出来作为第三个字符串。第三种:将该发票的第一发票标识信息划分出四个可不等长并互不重叠的字符串。例如:将第一发票标识信息的第二位到第三位数字划分出来作为第一个字符串,将其第四位到第五位划分出来作为第二个字符串,将其第六位划分出来作为第三个字符串,将其第七位到第九位划分出来作为第四个字符串。第四种:将该发票的第一发票标识信息划分出五个可不等长并互相可重叠的字符串。例如:将第一发票标识信息的第一位到第三位数字划分出来作为第一个字符串,将其第二位到第五位划分出来作为第二个字符串,将其第三位到第六位划分出来作为第三个字符串,将其第七位划分出来作为第四个字符串,将其第八位到第九位划分出来作为第五个字符串。
较佳地,为了方便发票存储及后续的发票查询,在本发明实施例中将该第一发票标识信息划分出至少两个可不等长且互不重叠的字符串。
具体地,在根据所述至少两个字符串生成所述发票的存储标识信息时,可以将划分出的至少两个字符串进行排列组合,从而可以得到多种不同的存储标识信息。较佳地,为了方便发票存储及后续的发票查询,在本发明实施例中将划分出的至少两个字符串,按每个字符串在第一发票标识信息中的前后顺序,进行组合得到存储标识信息。
S103:判断数据库中是否存在与所述存储标识信息对应的第一数据表;若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
在本发明实施例中在进行发票的存储时,因为针对所有待存储的发票的第一发票标识信息都采用相同的划分规则,并根据划分出的至少两个字符串生成发票的存储标识信息,从而方便发票的存储。另外,在对发票进行存储时,针对每个存储标识信息建立有对应的数据表,因此对于待存储的发票,获取其第一发票标识信息并生成该发票的存储标识信息后,根据该存储标识信息在数据库中查找是否存在与该存储标识信息对应的第一数据表即可。
其中,存储标识信息与第一数据表的对应关系,可以是以存储标识信息作为第一数据表的表名,形成存储标识信息与第一数据表的对应关系。
具体地,在根据存储标识信息查找第一数据表的过程中,可能数据库中已经存在与该发票的存储标识信息对应的第一数据表,也可能数据库中不存在与该发票的存储标识信息对应的第一数据表。如果数据库中已经存在与该发票的存储标识信息对应的第一数据表,可以直接将该发票的包含发票第一标识信息的发票信息存储在第一数据表中。如果数据库中不存在与该发票的存储标识信息对应的第一数据表,证明当前数据库中的数据表需要补充,此时可以根据该发票的存储标识信息,在数据库中建立与该发票的存储标识信息对应的第二数据表,并将该发票的包含发票第一标识信息的发票信息存储在第二数据表中。
由于本发明实施例在进行税务数据存储时,将发票的第一发票标识信息划分出至少两个字符串,并将该至少两个字符串生成发票的存储标识信息,从而查找该存储标识信息对应的数据表,并进行存储,因此可以通过发票的第一发票标识信息查找对应的数据表,从而使发票查询更加方便快捷,提高了查询速度。
实施例2:
为了实现根据不同的发票类别而制定不同的字符串划分规则,并能快速定位发票所在数据表,提高发票的查询速度。在上述实施例的基础上,在本发明实施例中:
所述根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串包括:
根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;
根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
因为待存储的发票类型可能是增值税发票,也可能是普通发票,普通发票的发票代码由12位数字组成,增值税发票的发票代码由10位数字组成,因此不同的发票类型对应的第一发票标识信息的长度是不同的,在进行划分时,当然可以采用统一的划分规则进行划分。但是因为发票代码中不同字符位代表的意义不同,因此为了更方便的划分第一发票标识信息,在本发明实施例中可以根据第一发票标识信息的长度,确定待存储的发票的目标类型,从而确定对应的划分规则。其中该第一发票标识信息可以仅包括发票代码,也可以同时包括发票代码和发票号码。
下面以第一发票标识信息同时包括发票代码和发票号码为例进行说明。
普通发票的发票代码由12位数字组成,发票号码由8位数字组成;增值税发票的发票代码由10位数字组成,发票号码由8位数字组成;由此,普通发票的第一发票标识信息由20位数字组成,增值税发票的第一发票标识信息由18位数字组成。
基于此,根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型,即当发票的第一发票标识信息的长度为20位数字时,可以确定该发票的目标类型为普通发票;当发票的第一发票标识信息的长度为18位数字时,可以确定该发票的目标类型为增值税发票。
所述根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串包括:
当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;
当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
具体地,对于不同目标类型的发票,其发票代码中的相应字符位的数字表示不同的含义。因为发票的第一标识信息中包含发票代码,而不同的发票类型,其发票代码中不同的字符位表示的含义不同。因此可以根据第一标识信息的长度,确定发票的目标类型,从而确定对应的划分规则。
字符串划分位置 | 分表效果 |
2-5 | 按照行政区划分表 |
6-7 | 按照年份分表 |
8 | 按照行业分表 |
9 | 按照发票类别分表 |
表1
如上表1所示为普通发票中相应字符位的数字标识的含义,该发票的发票代码中第二位到第五位数字为该发票所属的行政区域代码(地、市级),第六位到第七位数字为该发票的年份代码,第八位数字为该发票的行业代码,第九位数字为该发票的类别代码。
如果确定该发票的目标类型为普通发票,如果划分出两个字符串可以是上述表中的第二位到第五位对应的字符串和第六位到第七位对应的字符串,也可以是其他的任意两个字符串;如果是划分出三个字符串可以是包括第二位到第五位对应的字符串、第六位到第七位对应的字符串和第八位对应的字符串,或者上述表1中其他任意三个字符串;如果划分出四个字符串,则可以包括上述表1中第二位到第五位对应的字符串、第六位到第七位对应的字符串、第八位对应的字符串和第九位对应的字符串。当确定了划分出的每个字符串后,可以根据划分出的字符串确定对应的存储标识信息。
较佳地,可以将第一发票标识信息划分出四个字符串。将划分出的四个字符串按每个字符串在第一发票标识信息中的前后顺序,进行组合得到存储标识信息。该存储标识信息共由8位数字组成,而将8位随机数字进行排列组合可得到100000000种组合,但由于组成该存储标识信息的各个字符串都具有其具体的含义,故而该存储标识信息的组合数目要远小于100000000种。根据该存储标识信息进行税务数据存储和查询可以使数据库分表更加细致,存储税务数据的过程更加准确,查询税务数据时效率更高。
字符串划分位置 | 分表效果 |
1-4 | 按照行政区划分表 |
5-6 | 按照年份分表 |
表2
如上表2所示为增值税发票中相应字符位的数字标识的含义,该发票的发票代码中第一位到第四位数字为该发票所属的行政区域代码(地、市级),第五位到第六位数字为该发票的年份代码。
如果确定该发票的目标类型为增值税发票,较佳地,可以将第一发票标识信息划分出两个字符串,其中,划分出的两个字符串可以是上述表中的第一位到第四位对应的字符串和第五位到第六位对应的字符串。将划分出的两个字符串按每个字符串在第一发票标识信息中的前后顺序,进行组合得到存储标识信息。该存储标识信息共由6位数字组成,而将6位随机数字进行排列组合可得到1000000种组合,但由于组成该存储标识信息的各个字符串都具有其具体的含义,故而该存储标识信息的组合数目要远小于1000000种。根据该存储标识信息进行税务数据存储和查询可以使数据库分表更加细致,存储税务数据的过程更加准确,查询税务数据时效率更高。
通过以上方式,在减少了每个数据表中存储的数据量的前提下减少了数据表的数目,使发票信息在存入数据表时能够更加快捷准确,同时在数据库中查询发票信息时,能够快速定位待查询发票所在的数据表,提高了发票查询效率。
图2为本发明实施例提供的详细实施过程:
S201:获取待存储的发票的包含发票代码和发票号码的第一发票标识信息。
S202:当第一发票标识信息的长度为20位数字时,确定该发票为普通发票;当第一发票标识信息长度为18位数字时,确定该发票为增值税发票。
S203:如果该发票为普通发票,将第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串,将第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串,将第一发票标识信息中第八位对应的字符串划分为第三字符串,将第一发票标识信息中第九位对应的字符串划分为第四字符串;如果该发票为增值税发票,将第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串,将第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
S204:按每个字符串在第一发票标识信息中的前后顺序连接,组成其存储标识信息。
S205:判断数据库中是否存在与该发票存储标识信息对应的第一数据表,若是,则将包括第一发票标识信息的发票信息存储在第一数据表内;若否,则在数据库中建立与该发票存储标识信息对应的第二数据表,并将包括第一发票标识信息的发票信息存储在第二数据表内。
本发明实施例在进行税务数据存储时,将发票的第一发票标识信息划分出至少两个字符串,并将该至少两个字符串生成发票的存储标识信息,从而查找该存储标识信息对应的数据表,并进行存储,因此可以通过发票的第一发票标识信息查找对应的数据表,从而使发票查询更加方便快捷,提高了查询速度。
实施例3:
如图3所示,为本发明实施例提供的一种税务数据的查询方法的流程图,其具体处理过程如下:
S301:获取待查询的发票的第二发票标识信息。
本发明实施例中针对待查询的任意一张发票,在数据库中查询该发票的发票信息之前,首先要获取该发票的第二发票标识信息。第二发票标识信息为唯一能够标识该发票的信息。所述第二发票标识信息包括发票代码。
具体地,发票代码是税务部门给予发票的编码,每一张发票都有其对应的发票代码,发票类型不同,其发票代码的长度也不同。其中,普通发票的发票代码是由12位数字组成,增值税发票的发票代码为10位数字。
所述第二发票标识信息还可以包括发票号码。具体地,每一张发票可以由其对应的发票代码和发票号码唯一确定。其中发票号码由8位数字构成。
第二发票标识信息可以有多种构成方式,可以单独将发票代码作为第二发票标识信息,或者将发票代码和发票号码的组合作为第二发票标识信息。具体组合发票代码和发票号码时,可以采用多种方法,可以以发票代码在前,发票号码在后的方法将发票代码和发票号码进行组合,或者以发票号码在前,发票代码在后的方法将发票代码和发票号码进行组合,另外组合的方法还可以将发票代码和发票号码中的数字拆分后重新进行排列组合等等。
为了实现发票的查询,在本发明实施例中第二发票标识信息的组成方法与实施例1中第一发票标识信息的组成方式一致。
S302:根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息。
针对第二发票标识信息,根据税务数据存储时采用的划分规则,将该第二发票标识信息划分出至少两个字符串,即,可以将该第二发票标识信息划分出两个、三个或四个等多个字符串;并且具体在划分时,可以采用多种方法,可以将第二发票标识信息划分出等长或不等长的至少两个字符串,其中,每个字符串至少包含一个字符,另外,划分出的每个字符串可以互相重叠或不重叠。具体地,本发明实施例中,将所述发票的第二发票标识信息划分出至少两个字符串的方法包括但不限于以下几种:第一种:将该发票的第二发票标识信息划分出两个等长并互不重叠的字符串。例如:将第二发票标识信息的第一位到第三位数字划分出来作为第一个字符串,将其第五位到第八位划分出来作为第二个字符串。第二种:将该发票的第二发票标识信息划分出三个等长并互相可重叠的字符串。例如:将第二发票标识信息的第一位到第三位数字划分出来作为第一个字符串,将其第二位到第四位划分出来作为第二个字符串,将其第五位到第七位划分出来作为第三个字符串。第三种:将该发票的第二发票标识信息划分出四个可不等长并互不重叠的字符串。例如:将第二发票标识信息的第二位到第三位数字划分出来作为第一个字符串,将其第四位到第五位划分出来作为第二个字符串,将其第六位划分出来作为第三个字符串,将其第七位到第九位划分出来作为第四个字符串。第四种:将该发票的第二发票标识信息划分出五个可不等长并互相可重叠的字符串。例如:将第二发票标识信息的第一位到第三位数字划分出来作为第一个字符串,将其第二位到第五位划分出来作为第二个字符串,将其第三位到第六位划分出来作为第三个字符串,将其第七位划分出来作为第四个字符串,将其第八位到第九位划分出来作为第五个字符串。
为了实现发票查询,在本发明实施例中第二发票标识信息的划分方法与实施例1中第一发票标识信息的划分方法一致。
具体地,在根据所述至少两个字符串生成所述发票的查询标识信息时,可以将划分出的至少两个字符串进行排列组合,从而可以得到多种不同的查询标识信息。较佳地,为了方便发票查询,在本发明实施例中查询标识信息的生成方法与实施例1中存储标识信息的生成方法一致。即,将划分出的至少两个字符串按每个字符串在第二发票标识信息中的前后顺序,进行组合得到查询标识信息。根据至少两个字符串组合得到查询标识信息的过程,与上述实施例1中根据至少两个字符串组合得到存储标识信息的过程相同,即存储标识信息采用怎样的组合方式,查询标识信息就采用怎样的组合方式。
S303:在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
在本发明实施例中在进行发票的查询时,因为针对所有待查询的发票都采用相同的划分规则,对第二发票标识信息进行划分,并根据划分出的至少两个字符串生成发票的查询标识信息,从而方便发票的查询。另外,在对发票进行查询时,针对每个查询标识信息在数据库中都建立有与之对应的数据表,因此对于待查询的发票,获取其第二发票标识信息并生成该发票的查询标识信息后,根据该查询标识信息在数据库中查找与该查询标识信息所对应的数据表,并定位出存储该发票的发票信息的数据表。
其中,查询标识信息与数据表的对应关系,可以是以查询标识信息与数据表的表名相同,形成查询标识信息与数据表的对应关系。
具体地,利用查询标识信息与数据表的对应关系,根据待查询发票的查询标识信息定位该发票所在的数据表,在该数据表内利用结构化查询语言(Structured QueryLanguage,SQL)查询该发票的发票信息,SQL语言是一种数据库查询和程序设计语言,主要用于存取数据以及查询、更新和管理关系数据库系统。由于其为公知的现有技术,此处对于查询方法和步骤不再进行赘述。
由于本发明实施例在进行税务数据存储时,将发票的第一发票标识信息划分出至少两个字符串,并将该至少两个字符串生成发票的存储标识信息,从而查找该存储标识信息对应的数据表,并进行存储,并在查找时采用相同的方式,获取查询标识信息,从而能够根据该查询标识信息快速定位每一张发票所在的数据表,使发票查询更加方便快捷,提高了查询速度。
实施例4:
为了实现根据不同的发票类别而制定不同的字符串划分规则,并能快速定位发票所在数据表,提高发票查询速度的效果。在上述实施例的基础上,在本发明实施例中:
所述根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串包括:
根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;
根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
因为待存储的发票类型可能是增值税发票,也可能是普通发票,普通发票的发票代码由12位数字组成,增值税发票的发票代码由10位数字组成,因此不同的发票类型对应的第二发票标识信息的长度是不同的,在进行划分时,当然了可以采用统一的划分规则进行划分。但是因为发票代码中不同字符位代表的意义不同,因此为了更方便的划分第二发票标识信息,在本发明实施例中可以根据第二发票标识信息的长度,确定待存储的发票的目标类型,从而确定对应的划分规则。其中该第二发票标识信息可以仅包括发票代码,也可以同时包括发票代码和发票号码。
下面以第一发票标识信息同时包括发票代码和发票号码为例进行说明。
普通发票的发票代码由12位数字组成,发票号码由8位数字组成;增值税发票的发票代码由10位数字组成,发票号码由8位数字组成;由此,普通发票的第二发票标识信息由20位数字组成,增值税发票的第二发票标识信息由18位数字组成。
基于此,根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型,即当发票的第二发票标识信息的长度为20位数字时,可以确定该发票的目标类型为普通发票;当发票的第二发票标识信息的长度为18位数字时,可以确定该发票的目标类型为增值税发票。
所述根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串包括:
当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;
当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
具体地,对于不同目标类型的发票,其发票代码中的相应字符位的数字表示不同的含义。
如上表1所示为普通发票中的相应字符位的数字标识的含义,该发票的发票代码中第二位到第五位数字为该发票所属的行政区域代码(地、市级),第六位到第七位数字为该发票的年份代码,第八位数字为该发票的行业代码,第九位数字为该发票的类别代码。
因为发票的第二标识信息中包含发票代码,而不同的发票类型,其发票代码中不同的字符位表示的含义不同。因此可以根据第二标识信息的长度,确定发票的目标类型,从而确定对应的划分规则。
如果确定该发票的目标类型为普通发票,如果划分出两个字符串可以是上述表中的第二位到第五位对应的字符串和第六位到第七位对应的字符串,也可以是其他的任意两个字符串;如果是划分出三个字符串可以是包括第二位到第五位对应的字符串、第六位到第七位对应的字符串和第八位对应的字符串,或者上述表1中其他任意三个字符串;如果划分出四个字符串,则可以包括上述表1中第二位到第五位对应的字符串、第六位到第七位对应的字符串、第八位对应的字符串和第九位对应的字符串。当确定了划分出的每个字符串后,可以根据划分出的字符串确定对应的查询标识信息。
如上表2所示为增值税发票中相应字符位的数字标识的含义,该发票的发票代码中第一位到第四位数字为该发票所属的行政区域代码(地、市级),第五位到第六位数字为该发票的年份代码。
如果确定该发票的目标类型为增值税发票,较佳地,可以将第二发票标识信息划分出两个字符串,其中,划分出两个字符串可以是上述表中的第一位到第四位对应的字符串和第五位到第六位对应的字符串。将划分出的两个字符串按每个字符串在第二发票标识信息中的前后顺序,进行组合得到查询标识信息。
通过以上方式,在减少了每个数据表中存储的数据量的前提下减少了数据表的数目,在数据库中查询发票信息时,能够快速定位待查询发票所在的数据表,提高了发票查询效率。
图4为本发明实施例提供的一种税务数据查询方法的详细实施过程图,其具体处理过程如下:
S401:获取待查询的发票的包含发票代码和发票号码的第二发票标识信息。
S402:当第二发票标识信息的长度为20位数字时,确定该发票为普通发票;当第二发票标识信息长度为18位数字时,确定该发票为增值税发票。
S403:如果该发票为普通发票,将第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将第二发票标识信息中第八位对应的字符串划分为第三字符串;将第二发票标识信息中第九位对应的字符串划分为第四字符串;如果该发票为增值税发票,将第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
S404:按每个字符串在第二发票标识信息中的前后顺序连接,组成其查询标识信息。
S405:在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
本发明实施例中采用与税务数据的存储方法相对应的税务数据的查询方法进行发票信息查询,可以通过利用发票的第二发票标识信息生成的查询标识信息查找该发票对应的数据表,从而能够快速定位每一张发票所在的数据表,使发票查询更加方便快捷,提高了查询速度。
实施例5:
图5为本发明实施例提供的一种税务数据的存储装置的结构示意图,所述装置包括:
获取模块51,用于获取待存储的发票的第一发票标识信息;
划分生成模块52,用于根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息;
判断存储模块53,用于判断数据库中是否存在与所述存储标识信息对应的第一数据表;若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
具体地,所述划分生成模块52,具体用于根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
具体地,所述划分生成模块52,具体用于当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例中本发明实施例在进行税务数据存储时,将发票的第一发票标识信息划分出至少两个字符串,并将该至少两个字符串生成发票的存储标识信息,从而查找该存储标识信息对应的数据表,并进行存储,因此可以通过发票的第一发票标识信息查找对应的数据表,从而使发票查询更加方便快捷,提高了查询速度。
实施例6:
图6为本发明实施例提供的一种基于税务数据的存储装置的税务数据的查询装置的结构示意图,所述装置包括:
获取模块61,用于获取待查询的发票的第二发票标识信息;
划分生成模块62,用于根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息;
查询获取模块63,用于在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
具体地,所述划分生成模块62,具体用于根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
具体地,所述划分生成模块62,具体用于当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例中采用与税务数据的存储方法相对应的税务数据的查询方法进行发票信息查询,可以通过利用发票的第二发票标识信息生成的查询标识信息查找该发票对应的数据表,从而能够快速定位每一张发票所在的数据表,使发票查询更加方便快捷,提高了查询速度。
实施例7:
在上述各实施例的基础上,本发明实施例中还提供了一种计算机设备,如图7所示,包括处理器71和存储器72;
所述处理器71用于执行存储器72中存储的计算机程序时实现上述税务数据的存储方法的步骤。
基于同一发明构思,本发明实施例中还提供了一种计算机设备,由于上述计算机设备解决问题的原理与税务数据的存储方法相似,因此上述计算机设备的实施可以参见方法的实施,重复之处不再赘述。
可选的,处理器71可以是CPU(中央处埋器)、ASIC(ApplicationSpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
所述处理器71,用于按照存储器72中存储的计算机程序时执行如下步骤:
获取待存储的发票的第一发票标识信息;
根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息;
判断数据库中是否存在与所述存储标识信息对应的第一数据表;
若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;
若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
所述处理器71,具体用于根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
所述处理器71,具体用于当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例中提供的计算机设备中处理器根据存储器中存储的计算机程序,执行将发票的第一发票标识信息划分出至少两个字符串,并将该至少两个字符串生成发票的存储标识信息,从而查找该存储标识信息对应的数据表,并进行存储,因此可以通过发票的第一发票标识信息查找对应的数据表,从而使发票查询更加方便快捷,提高了查询速度。
实施例8:
在上述各实施例中,本发明实施例中还提供了一种可读存储介质,如图7所示,存储器72上存储有计算机程序,所述计算机程序被处理器执行时实现上述税务数据的存储方法的步骤。
上述可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD)等。
可读存储介质,即存储器72上存储的计算机程序,被处理器执行时实现如下步骤:
获取待存储的发票的第一发票标识信息;
根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息;
判断数据库中是否存在与所述存储标识信息对应的第一数据表;
若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;
若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例中提供的可读存储介质中存储的计算机程序被处理器执行,执行将发票的第一发票标识信息划分出至少两个字符串,并将该至少两个字符串生成发票的存储标识信息,从而查找该存储标识信息对应的数据表,并进行存储,因此可以通过发票的第一发票标识信息查找对应的数据表,从而使发票查询更加方便快捷,提高了查询速度。
实施例9:
在上述各实施例的基础上,本发明实施例中还提供了一种计算机设备,如图8所示,包括处理器81和存储器82;
所述处理器81用于执行存储器82中存储的计算机程序时实现上述税务数据的查询方法的步骤。
基于同一发明构思,本发明实施例中还提供了一种计算机设备,由于上述计算机设备解决问题的原理与税务数据的查询方法相似,因此上述计算机设备的实施可以参见方法的实施,重复之处不再赘述。
所述处理器81,用于按照存储器82中存储的计算机程序时执行如下步骤:
获取待查询的发票的第二发票标识信息;
根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息;
在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
所述处理器81,具体用于根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
所述处理器81,具体用于当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例中提供的计算机设备中处理器根据存储器中存储的计算机程序,采用与税务数据的存储方法相对应的税务数据的查询方法执行发票信息查询,可以通过利用发票的第二发票标识信息生成的查询标识信息查找该发票对应的数据表,从而能够快速定位每一张发票所在的数据表,使发票查询更加方便快捷,提高了查询速度。
实施例10:
在上述各实施例中,本发明实施例中还提供了一种可读存储介质,如图8所示,存储器82上存储有计算机程序,所述计算机程序被处理器执行时实现上述税务数据的查询方法的步骤。
可读存储介质,即存储器82上存储的计算机程序,被处理器执行时实现如下步骤:
获取待查询的发票的第二发票标识信息;
根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息;
在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
本发明实施例中提供的可读存储介质中存储的计算机程序被处理器执行,采用与税务数据的存储方法相对应的税务数据的查询方法执行发票信息查询,可以通过利用发票的第二发票标识信息生成的查询标识信息查找该发票对应的数据表,从而能够快速定位每一张发票所在的数据表,使发票查询更加方便快捷,提高了查询速度。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种税务数据的存储方法,其特征在于,所述存储方法包括:
获取待存储的发票的第一发票标识信息;
根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息,其中将所述至少两个字符串进行排列组合,得到所述存储标识信息;所述至少两个字符串为不等长且互不重叠的字符串;
判断数据库中是否存在与所述存储标识信息对应的第一数据表;
若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;
若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
2.如权利要求1所述的方法,其特征在于,所述第一发票标识信息包括:
发票代码。
3.如权利要求2所述的方法,其特征在于,所述第一发票标识信息中还包括:发票号码。
4.如权利要求1所述的方法,其特征在于,所述根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串包括:
根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;
根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
5.如权利要求4所述的方法,其特征在于,所述根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串包括:
当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;
当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
6.一种基于权利要求1-5任一项所述税务数据的存储方法的税务数据的查询方法,其特征在于,所述查询方法包括:
获取待查询的发票的第二发票标识信息;
根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息,其中将所述至少两个字符串进行排列组合,得到所述查询标识信息;所述至少两个字符串为不等长且互不重叠的字符串;
在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
7.如权利要求6所述的方法,其特征在于,所述第二发票标识信息包括:
发票代码。
8.如权利要求7所述的方法,其特征在于,所述第二发票标识信息中还包括:发票号码。
9.如权利要求6所述的方法,其特征在于,所述根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串包括:
根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;
根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
10.如权利要求9所述的方法,其特征在于,所述根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串包括:
当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;
当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
11.一种税务数据的存储装置,其特征在于,所述存储装置包括:
获取模块,用于获取待存储的发票的第一发票标识信息;
划分生成模块,用于根据预设的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的存储标识信息,其中将所述至少两个字符串进行排列组合,得到所述存储标识信息;所述至少两个字符串为不等长且互不重叠的字符串;
判断存储模块,用于判断数据库中是否存在与所述存储标识信息对应的第一数据表;若是,则将包括所述第一发票标识信息的发票信息存储在所述第一数据表内;若否,则在数据库中建立与所述存储标识信息对应的第二数据表,并将包括所述第一发票标识信息的发票信息存储在所述第二数据表内。
12.如权利要求11所述的装置,其特征在于,所述划分生成模块,具体用于根据所述第一发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的划分规则,将所述发票的第一发票标识信息划分出至少两个字符串。
13.如权利要求12所述的装置,其特征在于,所述划分生成模块,具体用于当所述目标类型为普通发票类型时,将所述第一发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第一发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第一发票标识信息中第八位对应的字符串划分为第三字符串;将所述第一发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第一发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第一发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
14.一种基于权利要求11-13任一项所述税务数据的存储装置的税务数据的查询装置,其特征在于,所述查询装置包括:
获取模块,用于获取待查询的发票的第二发票标识信息;
划分生成模块,用于根据税务数据存储时采用的划分规则,将所述发票的第二发票标识信息划分出至少两个字符串,其中,每个字符串至少包含一个字符;根据所述至少两个字符串生成所述发票的查询标识信息,其中将所述至少两个字符串进行排列组合,得到所述查询标识信息;所述至少两个字符串为不等长且互不重叠的字符串;
查询获取模块,用于在数据库中查询与所述查询标识信息对应的数据表,从所述数据表中获取包括所述第二发票标识信息的发票信息。
15.如权利要求14所述的装置,其特征在于,所述划分生成模块,具体用于根据所述第二发票标识信息的长度,以及预先保存的长度与发票类型的对应关系,确定所述发票的目标类型;根据所述发票的目标类型,采用与所述目标类型对应的税务数据存储时划分规则,将所述发票的第二发票标识信息划分出至少两个字符串。
16.如权利要求15所述的装置,其特征在于,所述划分生成模块,具体用于当所述目标类型为普通发票类型时,将所述第二发票标识信息中第二位到第五位对应的字符串划分为第一字符串;将所述第二发票标识信息中第六位到第七位对应的字符串划分为第二字符串;将所述第二发票标识信息中第八位对应的字符串划分为第三字符串;将所述第二发票标识信息中第九位对应的字符串划分为第四字符串;当所述目标类型为增值税发票类型时;将所述第二发票标识信息中第一位到第四位对应的字符串划分为第五字符串;将所述第二发票标识信息中第五位到第六位对应的字符串划分为第六字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711447098.5A CN110109907B (zh) | 2017-12-27 | 2017-12-27 | 一种税务数据的存储、查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711447098.5A CN110109907B (zh) | 2017-12-27 | 2017-12-27 | 一种税务数据的存储、查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110109907A CN110109907A (zh) | 2019-08-09 |
CN110109907B true CN110109907B (zh) | 2021-08-24 |
Family
ID=67483476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711447098.5A Active CN110109907B (zh) | 2017-12-27 | 2017-12-27 | 一种税务数据的存储、查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110109907B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073174B (zh) * | 2020-07-28 | 2023-06-27 | 广州骏伯网络科技有限公司 | 通讯账号解密方法、装置、设备、存储介质及信息交互系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473848A (zh) * | 2013-09-27 | 2013-12-25 | 浪潮齐鲁软件产业有限公司 | 一种基于高并发的网络发票查验构架及方法 |
CN104992495A (zh) * | 2015-07-09 | 2015-10-21 | 胡昭 | 云智能发票查验自助终端及基于其的查验系统和方法 |
CN105023340A (zh) * | 2015-07-09 | 2015-11-04 | 胡昭 | 基于扫描仪的云智能发票识别查验系统及方法 |
CN105847508A (zh) * | 2016-03-16 | 2016-08-10 | 北京羽乐创新科技有限公司 | 一种电话号码的存储方法、识别方法及装置 |
CN106850922A (zh) * | 2016-12-06 | 2017-06-13 | 北京奇虎科技有限公司 | 针对通讯号码的处理方法、系统及其设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147577A9 (en) * | 2009-09-30 | 2017-05-25 | Gennady LAPIR | Method and system for extraction |
CN103488999A (zh) * | 2013-09-11 | 2014-01-01 | 东华大学 | 一种发票数据记录方法 |
CN105205706A (zh) * | 2015-09-01 | 2015-12-30 | 深圳市金蝶友商电子商务服务有限公司 | 一种查询发票的方法及装置 |
CN105528604B (zh) * | 2016-01-31 | 2018-12-11 | 华南理工大学 | 一种基于ocr的票据自动识别与处理系统 |
-
2017
- 2017-12-27 CN CN201711447098.5A patent/CN110109907B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473848A (zh) * | 2013-09-27 | 2013-12-25 | 浪潮齐鲁软件产业有限公司 | 一种基于高并发的网络发票查验构架及方法 |
CN104992495A (zh) * | 2015-07-09 | 2015-10-21 | 胡昭 | 云智能发票查验自助终端及基于其的查验系统和方法 |
CN105023340A (zh) * | 2015-07-09 | 2015-11-04 | 胡昭 | 基于扫描仪的云智能发票识别查验系统及方法 |
CN105847508A (zh) * | 2016-03-16 | 2016-08-10 | 北京羽乐创新科技有限公司 | 一种电话号码的存储方法、识别方法及装置 |
CN106850922A (zh) * | 2016-12-06 | 2017-06-13 | 北京奇虎科技有限公司 | 针对通讯号码的处理方法、系统及其设备 |
Non-Patent Citations (1)
Title |
---|
发票业务审计方法与技巧;李荣生;《财会研究》;20160331(第3期);第70-71、77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110109907A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220284017A1 (en) | Systems and methods for rapid data analysis | |
US10067954B2 (en) | Use of dynamic dictionary encoding with an associated hash table to support many-to-many joins and aggregations | |
US8010521B2 (en) | Systems and methods for managing foreign key constraints | |
CN103514201B (zh) | 一种非关系型数据库的数据查询方法和装置 | |
CN106528787B (zh) | 一种基于海量数据多维分析的查询方法及装置 | |
CN106844320B (zh) | 一种财务报表整合方法和设备 | |
US9703832B2 (en) | Method, system and computer program to provide fares detection from rules attributes | |
CN103914456A (zh) | 一种数据存储方法和系统 | |
WO2014106418A1 (en) | Method and apparatus for storing and reading files | |
CN111324781A (zh) | 一种数据分析方法、装置及设备 | |
CN107735781B (zh) | 存储查询结果的方法和装置、计算设备 | |
CN114153898A (zh) | 梳理数据库表间关系的方法、装置及应用 | |
CN102521713B (zh) | 数据处理装置和数据处理方法 | |
CN114020790A (zh) | 一种数据查询的方法及装置 | |
CN105468623A (zh) | 数据处理方法及装置 | |
CN116166849A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
CN110109907B (zh) | 一种税务数据的存储、查询方法及装置 | |
CN115658731A (zh) | 一种数据查询方法、装置、设备和存储介质 | |
CN104572805A (zh) | 通过实时索引生成处理地图数据的装置和方法及其系统 | |
CN114328612A (zh) | 查询优化器的数据处理方法、装置及电子设备 | |
US8463799B2 (en) | System and method for consolidating search engine results | |
CN103593409A (zh) | 实时数据库检索方法及检索系统 | |
CN116226553A (zh) | 轨迹查询方法和装置、存储介质 | |
CN114564501A (zh) | 一种数据库数据存储、查询方法、装置、设备及介质 | |
CN110929207B (zh) | 数据处理方法、装置和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |