本发明涉及通信技术领域,尤其涉及一种基于json数据协议的发票开具方法和系统。
背景技术:
目前,随着税务管理应用系统的不断发展,各种功能越来越强大,从而为用户提供了越来越多自由发挥的空间。用户可以根据自己的习惯、自身的需要,在系统中定制一些专属自己的特定功能。但这些众多个性化功能的根本还是增值税发票开具功能。
根据国家税务总局的要求,对增值税发票的操作需要通过特殊硬件(即金税盘)来完成。现阶段,航天信息股份有限公司针对市场需求推出开票软件和组件接口两种开票方案。其中更多的大型企业及集团客户选择在组件接口开票方案进行二次开发,以完成增值税管理系统的定制化构建。
技术实现要素:
本发明的实施例提供了一种基于json数据协议的发票开具方法和系统,具体方案如下:
接收控制台发送的以json数据协议封装的请求报文,其中,所述请求报文包括用于索引开票服务的sid号;解析所述请求报文获取所述sid号;
根据所述sid号索引对应的开票服务并执行对应的开票服务。
根据本发明的上述方法,包括:
预先建立的sid号与开票服务的映射关系,按照json数据协议格式封装sid号与开票服务的映射关系,其中,每一个sid号对应一项开票服务。
根据本发明的上述方法,包括:
将所述预先按照json数据协议建立sid号与开票服务的映射关系分别存储在控制台以及开票服务客户端。
根据本发明的上述方法,包括:
将执行对应的开票服务结果以json数据协议格式封装为响应报文并返回控制台。
根据本发明的上述方法,包括:以json数据协议封装所述请求报文以及响应报文,且对所述报文内容采用base64加密,并将加密后的base64报文中的加号替换成减号。
根据本发明的另一方面,还提供一种基于json数据协议的发票开具系统,包括:
接收模块:其用于接收控制台发送的以json数据协议封装的请求报文,其中,所述请求报文包括用于索引开票服务的sid号;
解析模块:其用于解析所述请求报文获取所述sid号;
索引模块:其用于根据所述sid号索引对应的开票服务并执行对应的开票服务。
根据本发明的另一方面,还包括:
映射模块:其用于预先建立的sid号与开票服务的映射关系,按照json数据协议格式封装sid号与开票服务的映射关系,其中,每一个sid号对应一项开票服务。
根据本发明的另一方面,所述映射模块还用于:
将所述预先按照json数据协议建立sid号与开票服务的映射关系分别存储在控制台以及开票服务客户端。
根据本发明的另一方面,还包括返回模块,其用于将执行对应的开票服务结果以json数据协议格式封装并返回控制台。
根据本发明的另一方面,包括:以json数据协议封装所述请求报文以及响应报文,且对所述报文内容采用base64加密,并将加密后的base64报文中的加号替换成减号。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例接收控制台发送的以json数据协议封装的请求报文,其中,所述请求报文包括用于索引开票服务的sid号;解析所述请求报文获取所述sid号;根据所述sid号索引对应的开票服务并执行对应的开票服务。最大化满足大客户在外网环境与内网环境中使用固态ip或动态ip对增值税发票开具、打印、作废以及相关增值服务所产生的需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种基于json数据协议的发票开具方法的处理流程图;
图2为为本发明实施例二提供的一种基于json数据协议的发票开具系统的系统模块图。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
该实施例提供了一种轨道交通网络防止环路的方法的处理流程如图1所示,其处理步骤如下:步骤11、接收控制台发送的以json数据协议封装的请求报文,其中,所述请求报文包括用于索引开票服务的sid号;
步骤12、解析所述请求报文获取所述sid号;
步骤13、根据所述sid号索引对应的开票服务并执行对应的开票服务。
预先建立sid号与开票服务的映射关系,按照json数据协议格式封装sid号与开票服务的映射关系,其中,每一个sid号对应一项开票服务。
本实例中,预先建立的sid号与开票服务的映射关系如附图2所示。
将所述预先建立的sid号与开票服务的映射关系分别存储在控制台以及开票服务客户端。
将执行对应的开票服务结果以json数据协议格式封装并返回控制台。
以json数据协议封装所述请求报文以及响应报文,且对所述报文内容采用base64加密,并将加密后的base64报文中的加号替换成减号。
本实施例中,企业的增值税管理系统通过接口命令调用客户端时,默认向如下地址发起请求:
http://127.0.0.1:8888/invsvr?sid={sid}&sidparam={sidparam}
其中sid为服务id,sidparam为报文体,因报文体为json格式,故返回信息也会封装成json体(至少包含{"retcode":"1","retmsg":"xxxx"},返回异常信息{"retcode":"-1","retmsg":"xxxx"}),返回报文统一封装成{"encmsg":"密码串"}。
将所述预先建立的sid号与开票服务的映射关系分别存储在控制台以及开票服务客户端,根据请求报文中sid号控制台服务会完成对应界面提示语操作并分发给开票服务中对应的方法。两者通过delphi中idhttp和idhttpserver控件完成交互。
以json数据协议封装所述请求报文以及响应报文,且对所述报文内容采用base64加密,并将加密后的base64报文中的加号替换成减号。本实施例中,得到返回的以json数据协议封装相应报文报文如下:
{"encmsg":"eyjxzwiiojasilnjrci6ijeyiiwicmv0y29kzsi6ijewmteilcjyzxrtc2cioik98muwyeixunlrv6rg9cj9"}
实施例二
该实施例提供了一种基于json数据协议的发票开具系统,其具体实现结构如图2所示,具体可以包括如下的模块:
接收模块21:其用于接收控制台发送的以json数据协议封装的请求报文,其中,所述请求报文包括用于索引开票服务的sid号;
解析模块22:其用于解析所述请求报文获取所述sid号;
索引模块23:其用于根据所述sid号索引对应的开票服务并执行对应的开票服务。
本实施例的一种基于json数据协议的发票开具系统,还包括:
映射模块20:其用于预先建立的sid号与开票服务的映射关系,按照json数据协议格式封装sid号与开票服务的映射关系,其中,每一个sid号对应一项开票服务。
所述映射模块20还用于:
将所述预先按照json数据协议建立sid号与开票服务的映射关系分别存储在控制台以及开票服务客户端。
本实施例的一种基于json数据协议的发票开具系统,其特征在于,还包括返回模块24,其用于将执行对应的开票服务结果以json数据协议格式封装并返回控制台。
以json数据协议封装上述请求报文以及响应报文,且对所述报文内容采用base64加密,并将加密后的base64报文中的加号替换成减号。
用本发明实施例的系统开具发票的具体过程与前述方法实施例类似,此处不再赘述。
综上所述,本发明实施例接收控制台发送的以json数据协议封装的请求报文,其中,所述请求报文包括用于索引开票服务的sid号;解析所述请求报文获取所述sid号;根据所述sid号索引对应的开票服务并执行对应的开票服务。最大化满足大客户在外网环境与内网环境中使用固态ip或动态ip对增值税发票开具、打印、作废以及相关增值服务所产生的需求。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。