一种基于多金税盘的开票方法技术

技术编号:15879187 阅读:34 留言:0更新日期:2017-07-25 17:11
本发明专利技术涉及开票领域,提供一种基于多金税盘的开票方法,所述方法包括金税盘进程与主进程,所述主进程始终是发出一项操作请求后,等待所述金税盘进程的返回信息;所述金税盘进程循环监听所述主进程发来的操作请求,操作完成后,回传返回信息。本发明专利技术引入了金税盘进程,利用此方法可以进行其它开票软件的二次开发,解决了使用开票组件接口无法实现多金税盘开票的问题,改善了开票组件接口应用的局限性,扩大了软件的适用范围。金税盘进程具有很强的封装性、可复用性、可扩展性等优点。

A billing method based on golden plate

The present invention relates to the field of billing, providing a billing method based on the golden plate, the method including gold plate process and the main process, the main process is always issued an operation request, waiting for the golden plate process return information; the golden plate process of circular monitoring the main process the operation request, after the completion of the operation, return the information back. The invention introduces a golden plate process, two times the development and utilization of this method can be used in other billing software, solves the golden plate ballot problem can not be achieved using the billing component interface, improve the limitations of the application interface billing module, expand the scope of application software. Golden plate process has strong encapsulation, reusability, scalability etc..

【技术实现步骤摘要】
一种基于多金税盘的开票方法
本专利技术涉及开票领域,尤其涉及一种基于多金税盘的开票方法。
技术介绍
目前,为了进行税务发票管理,企业开票、打印发票、抄税等操作都是通过使用开票专用设备金税盘实现的。企业通常只需使用单个金税盘设备进行开票,但是有些特殊单位如税务代理机构,需要使用多个金税盘进行开票。虽然开票软件支持同时连接多个金税盘进行开票,但开票软件作为一款面向大众企业的通用软件,往往无法适应一些特定场景下的开票需求。比如,在原有开票软件基础之上,基于开票组件接口二次开发的软件也应运而生。但是,开票组件接口在调用过程中,存在弊端,即在同一个进程中,一旦对一个金税盘进行开盘、开票等一系列操作后,再对另一个金税盘进行操作时,就会出错,无法进行开票等相关操作。
技术实现思路
鉴于上述问题,提出了本专利技术,以便提供一种克服上述问题或至少部分地解决上述问题的一种基于多金税盘的开票方法,以便解决同时连接多个金税盘开票的问题。本专利技术提供了一种基于多金税盘的开票方法,所述方法包括金税盘进程与主进程,所述主进程始终是发出一项操作请求后,等待所述金税盘进程的返回信息;所述金税盘进程循环监听所述主进程发来的操作请求,操作完成后,回传返回信息。进一步的,所述金税盘进程中封装了所有与金税盘交互的操作,所述主进程可以与多个所述金税盘进程进行通信,从而实现对多个金税盘的操作。进一步的,在使用金税盘开票等操作过程中,所述主进程和多个金税盘进程均无需关闭,直到完成所有操作。进一步的,所述金税盘进程是一个控制台程序,包含输入、输出和错误输出三条管道。为了使调用所述金税盘进程的主进程可以与所述金税盘进程进行通信,通过进程调用的方法,对输入、输出两条管道进行了重定向,所述主进程只需向输入管道发送操作指令或必要信息,然后等待从所述金税盘进程输出管道返回的数据,即可实现两个进程间的通信。进一步的,每个金税盘需要单独使用一个金税盘进程。在首次执行金税盘操作时,需创建金税盘进程,使用之后可保留进程,以便下次金税盘操作时直接使用,更快地完成开票操作。进一步的,所述金税盘进程具体包括:创建金税盘进程后,首先执行一些初始化操作,即首先判断新盘是否传递证书口令,如果是,则继续判断开启金税盘是否成功;如果否,则回传错误代码或错误信息,结束金税盘进程;如果金税盘开启成功,则回传返回码,否则回传错误代码或错误信息,结束金税盘进程;经过初始化操作后,所述金税盘进程开始监听主进程从输入管道传来的操作指令,根据不同的操作指令执行不同的操作。进一步的,当所述金税盘进程接收到“读取税号”指令、“检查开票状态”指令、“关闭进程”指令时,可以直接开始相应的操作,操作完成后,不论成功与否都要通过输出管道将操作结果传回主进程;当所述金税盘进程接收到“开票”指令或“打印”指令时,需要再次监听主进程传来的必要信息,以便完成后续操作。进一步的,所述金税盘进程收到“开票”指令后,接收所述主进程封装的开票信息JSON字符串后,需要按约定格式进行解析,才能进行后续的开票操作;开票成功后,通过输出管道返回发票代码、发票号码、开票日期等信息;如果开票没成功,则回传错误码或错误信息。进一步的,所述主进程开始后,先复制注册表项获取开票路径,之后判断进程容器中是否已存在此进程,如果是,则从进程容器获取进程;如果否,显示窗体,提示用户输入税号、开票机号、证书口令,之后注册动态链接库,创建金税盘进程传递证书口令,判断接收开盘返回码是否成功,如果是,则发送操作指令,如果否,则输出错误信息;所述主进程发送操作指令后,判断是否接收到金税盘进程回传的指令操作结果,如果收到,则添加进程到进程容器,否则输出错误信息,结束主进程。进一步的,所述操作指令包括“读取税号”指令、“检查开票状态”指令、“开票”指令、“打印”指令和“关闭进程”指令。本专利技术引入了金税盘进程,利用此方法可以进行其它开票软件的二次开发,解决了使用开票组件接口无法实现多金税盘开票的问题,改善了开票组件接口应用的局限性,扩大了软件的适用范围。金税盘进程具有很强的封装性、可复用性、可扩展性等优点。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例的一种基于多金税盘的开票方法的金税盘进程操作流程示意图。图2为专利技术实施例的一种基于多金税盘的开票方法的主进程操作流程示意图。具体实施方式为便于对本专利技术实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例并不构成对本专利技术实施例的限定。一种基于多金税盘的开票方法,包括金税盘进程与主进程,其中:金税盘进程中封装了所有与金税盘交互的操作,包括开票、打印发票等。主进程可以与多个金税盘进程进行通信,从而实现对多个金税盘的操作。主进程始终是发出一项操作请求后,等待金税盘进程的返回信息,金税盘进程循环监听主进程发来的操作请求,操作完成后,回传返回信息。在使用金税盘开票等操作过程中,主进程和多个金税盘进程均无需关闭,直到完成所有操作。本专利技术使用的金税盘进程是一个控制台程序,控制台程序包含输入、输出、错误输出三条管道。为了使调用金税盘进程的主进程可以与金税盘进程进行通信,通过进程调用的方法,对输入、输出两条管道进行了重定向。这样主进程只需向输入管道发送操作指令或必要信息,然后等待从金税盘进程输出管道返回的数据,即可实现两个进程间的通信。每个金税盘需要单独使用一个金税盘进程。在首次执行金税盘操作时,需创建金税盘进程,使用之后可保留进程,以便下次金税盘操作时直接使用,更快地完成开票操作。具体的,如图1所示,创建金税盘进程后,首先执行一些初始化操作,即首先判断新盘是否传递证书口令,如果是,则继续判断开启金税盘是否成功;如果否,则回传错误代码或错误信息,结束金税盘进程;如果金税盘开启成功,则回传返回码,否则回传错误代码或错误信息,结束金税盘进程。经过初始化操作后,金税盘进程开始监听主进程从输入管道传来的操作指令,操作指令包括“读取税号”指令、“检查开票状态”指令、“开票”指令、“打印”指令和“关闭进程”指令,根据不同的操作指令执行不同的操作。其中,当金税盘进程接收到“读取税号”指令、“检查开票状态”指令、“关闭进程”指令时,可以直接开始相应的操作。操作完成后,不论成功与否都要通过输出管道将操作结果传回主进程。比如,当判断收到“读取税号”指令时,则回传税号;当判断收到“检查开票状态”指令时,则判断金税盘是否可开票,如果是,则回传成功标识,如果否,则回传错误码或错误信息;当判断收到“关闭进程”指令时,则关闭金税盘,结束金税盘进程,否则,返回金税盘进程继续监听。当金税盘进程接收到“开票”指令或“打印”指令时,需要再次监听主进程传来的必要信息,以便完成后续操作。对于收到“打印”指令时,只需接收待打印发票的发票代码和发票号码,如果打印成功,则回传返回码,如果打印没成功,则回传错误码或错误信息。对于收到“开票”指令,由于所需的必要信息较多,包括购销方企业税号、企业名称、发票明细、合计金额、合计税额等,为了方便通信,将本文档来自技高网...
一种基于多金税盘的开票方法

【技术保护点】
一种基于多金税盘的开票方法,其特征在于:所述方法包括金税盘进程与主进程,所述主进程始终是发出一项操作请求后,等待所述金税盘进程的返回信息;所述金税盘进程循环监听所述主进程发来的操作请求,操作完成后,回传返回信息。

【技术特征摘要】
1.一种基于多金税盘的开票方法,其特征在于:所述方法包括金税盘进程与主进程,所述主进程始终是发出一项操作请求后,等待所述金税盘进程的返回信息;所述金税盘进程循环监听所述主进程发来的操作请求,操作完成后,回传返回信息。2.根据权利要求1所述的一种基于多金税盘的开票方法,其特征在于:所述金税盘进程中封装了所有与金税盘交互的操作,所述主进程可以与多个所述金税盘进程进行通信,从而实现对多个金税盘的操作。3.根据权利要求1所述的一种基于多金税盘的开票方法,其特征在于:在使用金税盘开票等操作过程中,所述主进程和多个金税盘进程均无需关闭,直到完成所有操作。4.根据权利要求1所述的一种基于多金税盘的开票方法,其特征在于:所述金税盘进程是一个控制台程序,包含输入、输出和错误输出三条管道。为了使调用所述金税盘进程的主进程可以与所述金税盘进程进行通信,通过进程调用的方法,对输入、输出两条管道进行了重定向,所述主进程只需向输入管道发送操作指令或必要信息,然后等待从所述金税盘进程输出管道返回的数据,即可实现两个进程间的通信。5.根据权利要求1所述的一种基于多金税盘的开票方法,其特征在于:每个金税盘需要单独使用一个金税盘进程。在首次执行金税盘操作时,需创建金税盘进程,使用之后可保留进程,以便下次金税盘操作时直接使用,更快地完成开票操作。6.根据权利要求1所述的一种基于多金税盘的开票方法,其特征在于,所述金税盘进程具体包括:创建金税盘进程后,首先执行一些初始化操作,即首先判断新盘是否传递证书口令,如果是,则继续判断开启金税盘是否成功;如果否,则回传错误代码或错误信息,结束金税盘进程;如果金税盘开启成功,则回传返回码,否则回传错误代码...

【专利技术属性】
技术研发人员:熊林欣朱兴张学军
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1