System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及java数据处理,具体涉及一种打印指令生成方法、装置、计算机设备及存储介质。
技术介绍
1、随着我国快递业务总量迅速增长,快递物流业已经发展成为重要的现代服务业。特别是近年来,我国快递物流行业保持快速发展,全社会物流总额呈不断上涨趋势。
2、快递面单是指快递行业在运送货物的过程中用以记录发件人、收件人以及产品重量、价格等相关信息的单据。所以说,面单打印是物流运输中至关重要的一环。现有的面单打印模式主要分为pc打印、蓝牙打印和云打印三种模式,通常的作法都是前端程序向后端接口请求打印,后端接口返回相应模式的打印指令,前端程序再把相应指令发送给打印机。后端java接口根据面单的需求,完成打印指令的拼接,该过程往往是静态的,java代码根据特定的规则生成特定的面单打印指令。
3、而随着业务的发展,不断衍生出新的面单样式需求,同时每一个快递公司对面单的样式也是千变万化的;但由于java做为一门静态语言,只能根据已经写好的逻辑与规则,生成相应的面单指令。因此每一种面单模板都需要重新开发、编译、打包、部署,浪费大量的人力成本。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种打印指令生成方法、装置、计算机设备及存储介质,不同面单模板的目标类继承同一个公共抽象类,且实现公共抽象类里面的方法,统一调用入口,因此只需编译面单模板的代码即可,不需要全部重新开发编译。
2、第一方面,本申请提供一种打印指令生成方法,包括:
3、获取用于打印
4、根据预设的模板类型与模板代码的对应关系,确定所述面单模板类型对应的目标代码;
5、根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类;
6、根据所述目标类生成所述待打印面单的面单打印指令。
7、在本申请一些实施例中,所述根据所述目标类生成所述待打印面单的面单打印指令,包括:
8、将所述目标类转化为所述公共抽象类对应的目标抽象类;
9、识别所述目标抽象类中的类对象和业务方法;
10、根据所述类对象和所述业务方法生成所述待打印面单的面单打印指令。
11、在本申请一些实施例中,所述根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类,包括:
12、计算所述目标代码的哈希值;
13、若哈希表中存在所述哈希值,则从所述哈希表获取所述哈希值对应的所述目标类,所述目标类继承所述公共抽象类;
14、若哈希表中不存在所述哈希值,则根据所述目标代码和所述公共抽象类确定所述目标类,并将所述哈希值和所述目标类存储在所述哈希表中。
15、在本申请一些实施例中,所述根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类,包括:
16、根据所述目标代码确定代码名称和打印指令;
17、根据预设的公共抽象类、所述代码名称和所述打印指令,确定用于打印所述待打印面单的目标类。
18、在本申请一些实施例中,所述若哈希表中不存在所述哈希值,则根据所述目标代码和所述公共抽象类确定所述目标类,并将所述哈希值和所述目标类存储在所述哈希表中之后,还包括:
19、获取所述哈希表中某目标类的删除指令;
20、根据所述删除指令确定待删除类的目标哈希值;
21、根据所述目标哈希值删除所述哈希表中匹配的哈希值和类对象。
22、在本申请一些实施例中,所述获取用于打印待打印面单的面单模板类型之前,还包括:
23、获取各所述面单模板的面单信息和预设的所述模板代码的代码生成策略;
24、根据所述面单信息和所述代码生成策略,生成各所述面单模板的模板代码;
25、获取各所述模板代码的创建更新信息;
26、根据所述面单信息、所述模板代码及所述创建更新信息,得到模板代码管理表,所述模板代码管理表包含预设的模板类型与模板代码的对应关系。
27、在本申请一些实施例中,所述获取用于打印待打印面单的面单模板类型之前,还包括:
28、获取所述待打印面单对应快件的快件运输信息;
29、根据所述快件运输信息确定所述面单模板类型。
30、第二方面,本申请提供一种打印指令生成装置,包括:
31、模板获取模块,用于获取用于打印待打印面单的面单模板类型;
32、代码分析模块,与所述模板获取模块通讯连接,用于根据预设的模板类型与模板代码的对应关系,确定所述面单模板类型对应的目标代码;
33、对象分析模块,与所述代码分析模块通讯连接,用于根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类;
34、指令生成模块,与所述对象分析模块通讯连接,用于根据所述目标类生成所述待打印面单的面单打印指令。
35、在本申请一些实施例中,指令生成模块还用于将所述目标类转化为所述公共抽象类对应的目标抽象类;识别所述目标抽象类中的类对象和业务方法;根据所述类对象和所述业务方法生成所述待打印面单的面单打印指令。
36、在本申请一些实施例中,对象分析模块还用于计算所述目标代码的哈希值;若哈希表中存在所述哈希值,则从所述哈希表获取所述哈希值对应的所述目标类,所述目标类继承所述公共抽象类;若哈希表中不存在所述哈希值,则根据所述目标代码和所述公共抽象类确定所述目标类,并将所述哈希值和所述目标类存储在所述哈希表中。
37、在本申请一些实施例中,对象分析模块还用于根据所述目标代码确定代码名称和打印指令;根据预设的公共抽象类、所述代码名称和所述打印指令,确定用于打印所述待打印面单的目标类。
38、在本申请一些实施例中,对象分析模块还用于获取所述哈希表中某目标类的删除指令;根据所述删除指令确定待删除类的目标哈希值;根据所述目标哈希值删除所述哈希表中匹配的哈希值和类对象。
39、在本申请一些实施例中,模板获取模还用于获取各所述面单模板的面单信息和预设的所述模板代码的代码生成策略;根据所述面单信息和所述代码生成策略,生成各所述面单模板的模板代码;获取各所述模板代码的创建更新信息;根据所述面单信息、所述模板代码及所述创建更新信息,得到模板代码管理表,所述模板代码管理表包含预设的模板类型与模板代码的对应关系。
40、在本申请一些实施例中,模板获取模还用于获取所述待打印面单对应快件的快件运输信息;根据所述快件运输信息确定所述面单模板类型。
41、第三方面,本申请还提供一种计算机设备,所述计算机设备包括:
42、一个或多个处理器;
43、存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现所述的打印指令生成方法。
44、第四方面,本申请还提供本文档来自技高网...
【技术保护点】
1.一种打印指令生成方法,其特征在于,包括:
2.如权利要求1所述的打印指令生成方法,其特征在于,所述根据所述目标类生成所述待打印面单的面单打印指令,包括:
3.如权利要求1所述的打印指令生成方法,其特征在于,所述根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类,包括:
4.如权利要求1或3所述的打印指令生成方法,其特征在于,所述根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类,包括:
5.如权利要求3所述的打印指令生成方法,其特征在于,所述若哈希表中不存在所述哈希值,则根据所述目标代码和所述公共抽象类确定所述目标类,并将所述哈希值和所述目标类存储在所述哈希表中之后,还包括:
6.如权利要求1所述的打印指令生成方法,其特征在于,所述获取用于打印待打印面单的面单模板类型之前,还包括:
7.如权利要求1所述的打印指令生成方法,其特征在于,所述获取用于打印待打印面单的面单模板类型之前,还包括:
8.一种打印指令生成装置,其特征在于,包括:
9.一种
10.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的打印指令生成方法中的步骤。
...【技术特征摘要】
1.一种打印指令生成方法,其特征在于,包括:
2.如权利要求1所述的打印指令生成方法,其特征在于,所述根据所述目标类生成所述待打印面单的面单打印指令,包括:
3.如权利要求1所述的打印指令生成方法,其特征在于,所述根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类,包括:
4.如权利要求1或3所述的打印指令生成方法,其特征在于,所述根据预设的公共抽象类和所述目标代码,确定用于打印所述待打印面单的目标类,包括:
5.如权利要求3所述的打印指令生成方法,其特征在于,所述若哈希表中不存在所述哈希值,则根据所述目标代码和所述公共抽象类确...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。