单证模板生成方法、处理方法、装置、计算机设备和介质转让专利

申请号 : CN202111640364.2

文献号 : CN114004211B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 闫末利冯洋赖欣联熊刚夫

申请人 : 太平金融科技服务(上海)有限公司深圳分公司

摘要 :

本申请涉及一种单证模板生成方法、处理方法、装置、计算机设备和介质。生成方法包括:接收第一终端上传的静态模板,所述静态模板包括待处理对象;接收针对所述静态模板进行开发解析所得到的解析结果;根据所述解析结果为每个所述待处理对象配置对应的数据集;建立所配置的所述数据集以及所述静态模板关系,所述数据集以及所述静态模板用于模板使用时生成单证模板。采用本方法能够提高开发效率。

权利要求 :

1.一种单证模板生成方法,其特征在于,所述单证模板生成方法包括:

接收第一终端上传的静态模板,所述静态模板包括待处理对象以及格式,且所述静态模板是由用户已经设置完成的,且仅无具体的数据;

接收针对所述静态模板进行开发解析所得到的解析结果,包括:对所述静态模板进行解析得到文档对象,并获取所述文档对象的文档内容;对所述文档内容进行解析得到段落对象,并对所述段落对象进行解析得到文本对象;对文本对象进行解析得到待处理对象;

根据所述解析结果为每个所述待处理对象配置对应的数据集,包括:将所述静态模板的模板路径存储在reportmain数据集主表中,为每一个所述待处理对象分配唯一标识,并为每一所述唯一标识添加数据库访问语句,并给出所述数据库访问语句对应的数据类型、参数名称以及参数位置,且所述数据集以数据库访问语句sql形式存储在reportdataset数据集表中,其中数据库访问语句sql中参数以问号嵌入,用于读取数据库访问语句sql时嵌入参数;

建立所配置的所述数据集以及所述静态模板关系,所述数据集以及所述静态模板用于模板使用时生成单证模板,包括读取reportdataset数据集对象,执行数据对象中存储的sql,获取业务数据‑list>,并循环遍历填充到解析后的静态模板中。

2.根据权利要求1所述的单证模板生成方法,其特征在于,所述建立所配置的所述数据集以及所述静态模板关系之后,包括:对生成的所述单证模板进行单元测试;

当所述单元测试成功时,发布所述单证模板。

3.根据权利要求1所述的方法,其特征在于,所述接收第一终端上传的静态模板之后,还包括:接收所述第一终端上传的所述静态模板的基本信息;

根据所述基本信息对所述静态模板的属性进行配置。

4.根据权利要求3所述的方法,其特征在于,所述基本信息包括产品、业务、流程节点中的至少一个;所述根据所述基本信息对所述静态模板的属性进行配置,包括:根据所述基本信息配置所述静态模板的路由信息,并根据所述基本信息对所述静态模板进行分类存储。

5.根据权利要求4所述的方法,其特征在于,所述基本信息包括有效时间;所述根据所述基本信息对所述静态模板的属性进行配置,包括:根据所述有效时间配置所述静态模板的有效时间。

6.一种单证模板处理方法,其特征在于,所述单证模板处理方法包括:

接收第一终端发送的模板选择指令;

根据所述模板选择指令获取静态模板,并对所述静态模板进行解析得到目标模板,包括:对所述静态模板进行解析得到文档对象,并获取所述文档对象的文档内容;对所述文档内容进行解析得到段落对象,并对所述段落对象进行解析得到文本对象;对文本对象进行解析得到待处理对象;所述目标模板包括待处理对象以及模板格式且所述静态模板是由用户已经设置完成的,且仅无具体的数据;

获取所述待处理对象对应的数据集,其中所述数据集的配置方式包括:将所述静态模板的模板路径存储在reportmain数据集主表中,为每一个所述待处理对象分配唯一标识,并为每一所述唯一标识添加数据库访问语句,并给出所述数据库访问语句对应的数据类型、参数名称以及参数位置,且所述数据集以数据库访问语句sql形式存储在reportdataset数据集表中,其中数据库访问语句sql中参数以问号嵌入,用于读取数据库访问语句sql时嵌入参数;

将所获取的数据集填充至所述模板格式的对应位置处,并填充完成得到的单证模板发送至所述第一终端进行显示,包括读取reportdataset数据集对象,执行数据对象中存储的sql,获取业务数据‑list>,并循环遍历填充到解析后的静态模板中。

7.根据权利要求6所述的单证模板处理方法,其特征在于,所述对所述静态模板进行解析得到目标模板,包括:判断所述静态模板是否存在嵌套;

若是存在,从外至内依次对嵌套的模板进行解析。

8.根据权利要求6所述的单证模板处理方法,其特征在于,所述获取所述待处理对象对应的数据集,包括:读取所述待处理对象对应的数据库访问语句;

执行所述数据库访问语句时嵌入数据集类型参数,以读取对应的数据集。

9.根据权利要求6所述的单证模板处理方法,其特征在于,所述将所获取的数据集填充至所述模板格式的对应位置处,包括:获取待处理对象对应的图片节点;

通过预设方法将图片节点对应的数据集填充至所述图片节点处。

10.根据权利要求6所述的方法,其特征在于,所述根据所述模板选择指令获取静态模板,包括:根据所述模板选择指令获取路由信息;

从所述路由信息对应的分类中读取静态模板。

11.一种单证模板生成装置,其特征在于,所述单证模板生成装置包括:

第一接收模块,用于接收第一终端上传的静态模板,所述静态模板包括待处理对象;

第二接收模块,用于接收针对所述静态模板进行开发解析所得到的解析结果,包括:对所述静态模板进行解析得到文档对象,并获取所述文档对象的文档内容;对所述文档内容进行解析得到段落对象,并对所述段落对象进行解析得到文本对象;对文本对象进行解析得到待处理对象;

配置模块,用于根据所述解析结果为每个所述待处理对象配置对应的数据集,包括:将所述静态模板的模板路径存储在reportmain数据集主表中,为每一个所述待处理对象分配唯一标识,并为每一所述唯一标识添加数据库访问语句,并给出所述数据库访问语句对应的数据类型、参数名称以及参数位置,且所述数据集以数据库访问语句sql形式存储在reportdataset数据集表中,其中数据库访问语句sql中参数以问号嵌入,用于读取数据库访问语句sql时嵌入参数;

建立模块,用于建立所配置的所述数据集以及所述静态模板关系,所述数据集以及所述静态模板用于模板使用时生成单证模板,包括读取reportdataset数据集对象,执行数据对象中存储的sql,获取业务数据‑list>,并循环遍历填充到解析后的静态模板中。

12.一种单证模板处理装置,其特征在于,所述单证模板处理装置包括:

第三接收模块,用于接收第一终端发送的模板选择指令;

解析模块,用于根据所述模板选择指令获取静态模板,并对所述静态模板进行解析得到目标模板,所述目标模板包括待处理对象以及模板格式;

数据集获取模块,用于获取所述待处理对象对应的数据集,其中所述数据集的配置方式包括:将所述静态模板的模板路径存储在reportmain数据集主表中,为每一个所述待处理对象分配唯一标识,并为每一所述唯一标识添加数据库访问语句,并给出所述数据库访问语句对应的数据类型、参数名称以及参数位置,且所述数据集以数据库访问语句sql形式存储在reportdataset数据集表中,其中数据库访问语句sql中参数以问号嵌入,用于读取数据库访问语句sql时嵌入参数;

填充模块,用于将所获取的数据集填充至所述模板格式的对应位置处,并填充完成得到的单证模板发送至所述第一终端进行显示,包括读取reportdataset数据集对象,执行数据对象中存储的sql,获取业务数据‑list>,并循环遍历填充到解析后的静态模板中。

13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5或6至10中任一项所述的方法的步骤。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5或6至10中任一项所述的方法的步骤。

说明书 :

单证模板生成方法、处理方法、装置、计算机设备和介质

技术领域

[0001] 本申请涉及研发技术领域,特别是涉及一种单证模板生成方法、处理方法、装置、计算机设备和介质。

背景技术

[0002] 随着计算机技术的发展,对单证存在不同的定制化要求以及不同的业务需求。
[0003] 传统技术中,对于单证定制的过程包括:业务提供单证格式,word、pdf或纸质的单证格式,技术根据单证格式与业务进行模板的细节沟通,最后利用单证开发工具进行开发。
[0004] 然而,开发或者重构一个新版的单证,用户方与IT实施方需要花费大量精力在沟通细节上,导致开发周期过长,且往往很难达到用户的预期效果。时效无法得到保障。

发明内容

[0005] 基于此,有必要针对上述技术问题,提供一种能够提高开发效率的单证模板生成方法、处理方法、装置、计算机设备和介质。
[0006] 一种单证模板生成方法,所述单证模板生成方法包括:
[0007] 接收第一终端上传的静态模板,所述静态模板包括待处理对象;
[0008] 接收针对所述静态模板进行开发解析所得到的解析结果;
[0009] 根据所述解析结果为每个所述待处理对象配置对应的数据集;
[0010] 建立所配置的所述数据集以及所述静态模板关系,所述数据集以及所述静态模板用于模板使用时生成单证模板。
[0011] 在其中一个实施例中,所述根据所述解析结果为每个所述待处理对象配置对应的数据集,包括:
[0012] 将所述静态模板存储在数据表主表中,并以数据库访问语句的形式配置每个所述待处理对象配置对应的数据集。
[0013] 在其中一个实施例中,所述建立所配置的所述数据集以及所述静态模板关系之后,包括:
[0014] 对生成的所述单证模板进行单元测试;
[0015] 当所述单元测试成功时,发布所述单证模板。
[0016] 在其中一个实施例中,所述接收第一终端上传的静态模板之后,还包括:
[0017] 接收所述第一终端上传的所述静态模板的基本信息;
[0018] 根据所述基本信息对所述静态模板的属性进行配置。
[0019] 在其中一个实施例中,所述基本信息包括产品、业务、流程节点中的至少一个;所述根据所述基本信息对所述静态模板的属性进行配置,包括:
[0020] 根据所述基本信息配置所述静态模板的路由信息,并根据所述基本信息对所述静态模板进行分类存储。
[0021] 在其中一个实施例中,所述基本信息包括有效时间;所述根据所述基本信息对所述静态模板的属性进行配置,包括:
[0022] 根据所述有效时间配置所述静态模板的有效时间。
[0023] 一种单证模板处理方法,所述单证模板处理方法包括:
[0024] 接收第一终端发送的模板选择指令;
[0025] 根据所述模板选择指令获取静态模板,并对所述静态模板进行解析得到目标模板,所述目标模板包括待处理对象以及模板格式;
[0026] 获取所述待处理对象对应的数据集;
[0027] 将所获取的数据集填充至所述模板格式的对应位置处,并填充完成得到的单证模板发送至所述第一终端进行显示。
[0028] 在其中一个实施例中,所述对所述静态模板进行解析得到目标模板,包括:
[0029] 对所述静态模板进行解析得到文档对象,并获取所述文档对象的文档内容;
[0030] 对所述文档内容进行解析得到段落对象,并对段落对象进行解析得到文本对象;
[0031] 对文本对象进行解析得到待处理对象。
[0032] 在其中一个实施例中,所述对所述静态模板进行解析得到目标模板,包括:
[0033] 判断所述静态模板是否存在嵌套;
[0034] 若是存在,从外至内依次对嵌套的模板进行解析。
[0035] 在其中一个实施例中,所述获取所述待处理对象对应的数据集,包括:
[0036] 读取所述待处理对象对应的数据库访问语句;
[0037] 执行所述数据库访问语句时嵌入数据集类型参数,以读取对应的数据集。
[0038] 在其中一个实施例中,所述将所获取的数据集填充至所述模板格式的对应位置处,包括:
[0039] 获取待处理对象对应的图片节点;
[0040] 通过预设方法将图片节点对应的数据集填充至所述图片节点处。
[0041] 在其中一个实施例中,所述根据所述模板选择指令获取静态模板,包括:
[0042] 根据所述模板选择指令获取路由信息;
[0043] 从所述路由信息对应的分类中读取静态模板。
[0044] 一种单证模板生成装置,所述单证模板生成装置包括:
[0045] 第一接收模块,用于接收第一终端上传的静态模板,所述静态模板包括待处理对象;
[0046] 第二接收模块,用于接收针对所述静态模板进行开发解析所得到的解析结果;
[0047] 配置模块,用于根据所述解析结果为每个所述待处理对象配置对应的数据集;
[0048] 建立模块,用于建立所配置的所述数据集以及所述静态模板关系,所述数据集以及所述静态模板用于模板使用时生成单证模板。
[0049] 一种单证模板处理装置,所述单证模板处理装置包括:
[0050] 第三接收模块,用于接收第一终端发送的模板选择指令;
[0051] 解析模块,用于根据所述模板选择指令获取静态模板,并对所述静态模板进行解析得到目标模板,所述目标模板包括待处理对象以及模板格式;
[0052] 数据集获取模块,用于获取所述待处理对象对应的数据集;
[0053] 填充模块,用于将所获取的数据集填充至所述模板格式的对应位置处,并填充完成得到的单证模板发送至所述第一终端进行显示。
[0054] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的方法的步骤。
[0055] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。
[0056] 上述单证模板生成方法、处理方法、装置、计算机设备和介质,由第一终端上传静态模板,该静态模板中包括了待处理对象,从而研发仅需要对静态模板进行解析得到待处理对象,并为每个待处理对象进行数据集配置即可,不需要研发和业务多次讨论模板的内容,减少了沟通时长,从而提高了单证模板的研发效率。

附图说明

[0057] 图1为一个实施例中单证模板生成和处理方法的应用环境图;
[0058] 图2为一个实施例中单证模板生成方法的流程示意图;
[0059] 图3为一个实施例中基本信息的示意图;
[0060] 图4为一个实施例中单证模板处理方法的流程示意图;
[0061] 图5为一个实施例中路由信息的示意图;
[0062] 图6为另一个实施例中单证模板生成方法的流程示意图;
[0063] 图7为一个实施例中单证模板生成装置的结构框图;
[0064] 图8为一个实施例中单证模板处理装置的结构框图;
[0065] 图9为一个实施例中计算机设备的内部结构图。

具体实施方式

[0066] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0067] 本申请提供的单证模板生成和处理方法,可以应用于如图1所示的应用环境中。其中,第一终端102通过网络与服务器104进行通信。其中第一终端102向服务器104上传静态模板,静态模板包括了待处理对象,这样服务器104接收针对该静态模板进行开发解析所得到的解析结果,这样根据解析结果为每个待处理对象配置对应的数据集,建立所配置的数据集以及静态模板关系,数据集以及静态模板用于模板使用时生成单证模板。静态模板中包括了待处理对象,从而研发仅需要对静态模板进行解析得到待处理对象,并为每个待处理对象进行数据集配置即可,不需要研发和业务多次讨论模板的内容,减少了沟通时长,从而提高了单证模板的研发效率。其中,第一终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0068] 在一个实施例中,如图2所示,提供了一种单证模板生成方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0069] S202:接收第一终端上传的静态模板,静态模板包括待处理对象。
[0070] 具体地,该静态模板是包括了待处理图像的模板,其中该静态模板是在正式使用的时候渲染得到的单证模板基础上,无具体的数据的模板,也就是说该静态模板是由用户已经设置完成的,仅是无具体的数据的模板,其给出了静态模板的各个细节,包括格式以及其中的各个待处理对象。静态模板的格式可以理解为静态模板的打印格式,例如doc、pdf等,静态模板的各个待处理对象可以包括但不限于字段、表格以及内嵌对象,其中内嵌对象包括图片、xls、docx、pdf等。内嵌对象解析一般有图片解析、文档解析。
[0071] 这样用户可以在第一终端对静态模板按照业务需求进行设置,而不需要与开发进行多次沟通,开发最后仅需要根据用户设置好的静态模板进行开发,例如设置数据集等,从而减少了沟通,提高了处理效率。
[0072] S204:接收针对静态模板进行开发解析所得到的解析结果。
[0073] 具体地,该实施例中对静态模板的解析是由开发进行解析的,其中该解析可以是手动解析或者是由服务器自动解析。例如开发手动分析静态模板获取到各个待处理对象。或者是通过服务器对静态模型进行解析,例如服务器先对静态模板进行解析得到文档对象,并获取文档对象的文档内容;再对文档内容进行解析得到段落对象,并对段落对象进行解析得到文本对象;最后对文本对象进行解析得到待处理对象,在实际应用中,服务器获取文档对象XWPFDocument,通过.getDocument().getBody()方法获取CTBody对象,再通过CTBody对象的.xmlText()属性,获取文档内容。内嵌对象通过XWPFDocument文档对象getParagraphs()方法获取段落对象,再遍历段落通过getRuns()获取XWPFRun文本对象,通过文本对象的获取node对象,通过解析node获取内嵌对象。
[0074] 此外需要说明的一点是,在进行解析的时候先解析主模板,然后解析嵌套的子模板,由外至内一层层解析直至解析完成。
[0075] S206:根据解析结果为每个待处理对象配置对应的数据集。
[0076] S208:建立所配置的数据集以及静态模板关系,数据集以及静态模板用于模板使用时生成单证模板。
[0077] 具体地,开发为每个待处理对象配置对应的数据集,从而在单证模板渲染的时候,可以读取到对应的动态数据,并填充至静态模板中,从而得到准确的单证模板。
[0078] 具体地,为待处理对象配置数据集可以包括:首先为每一个待处理对象分配唯一标识,然后为每一个唯一标识配置对应的数据集,其中配置即为每一个唯一标识添加数据库访问语句,并给出数据库访问语句对应的数据类型,参数名称以及参数位置,从而在渲染时,直接读取待处理对象,并执行该数据库访问语句,即可以实现对数据集的读取,从而完成渲染。
[0079] 服务器中建立了所配置的数据集以及静态模板关系,也就是说建立了所配置的数据集与静态模板中的待处理对象的关系,这样在渲染后,读取了待处理对象,根据待处理对象的位移标识查询到对应的数据库访问语句,进而即可以读取数据集,从而将读取到的数据集填充至模板中,以完成渲染。
[0080] 上述单证模板生成方法,由第一终端上传静态模板,该静态模板中包括了待处理对象,从而研发仅需要对静态模板进行解析得到待处理对象,并为每个待处理对象进行数据集配置即可,不需要研发和业务多次讨论模板的内容,减少了沟通时长,从而提高了单证模板的研发效率。
[0081] 在其中一个实施例中,根据解析结果为每个待处理对象配置对应的数据集,包括:将静态模板存储在数据表主表中,并以数据库访问语句的形式配置每个待处理对象配置对应的数据集。
[0082] 具体地,在该实施例中,服务器根据开发的配置,其中的数据存储均以数据集为存储单位,每套数据集对应一个标识,该标识可以作为外键关联相关数据集表。在配置的时候,开发将模板路径存储在数据集主表中,数据集则以数据库访问语句sql形式存储在数据集表中,其中数据库访问语句sql中参数以问号嵌入,用于读取数据库访问语句sql时嵌入参数,datasettype数据类型可分为maindataset‑主数据集、subdataset‑独立型子数据集、LinkDataSet‑存在主子关联型数据集、img‑图片。
[0083] 在其中一个实施例中,建立所配置的数据集以及静态模板关系之后,包括:对生成的单证模板进行单元测试;当单元测试成功时,发布单证模板。
[0084] 其中单元测试即是模拟测试的过程,在测试环境下,根据用户的选择服务器获取到对应的静态模板,对静态模板进行解析得到待处理对象,根据待处理对象对应的标识确定对应的数据集,并读取该数据集填充至静态模板的对应位置处,以渲染显示得到单证模板,最后发送至第一终端由用户确定所得到的单证模板是否正确,若是正确的测试成功,从而开发将单证模板发布至生产环境,若是存在问题,在用户可以在渲染后的模板中进行标注,并反馈给服务器,以便于开发及时处理。
[0085] 在其中一个实施例中,接收第一终端上传的静态模板之后,还包括:接收第一终端上传的静态模板的基本信息;根据所述基本信息对所述静态模板的属性进行配置。
[0086] 在其中一个实施例中,基本信息包括产品、业务、流程节点中的至少一个;根据基本信息对静态模板的属性进行配置,包括:根据基本信息配置静态模板的路由信息,并根据基本信息对静态模板进行分类存储。
[0087] 在其中一个实施例中,基本信息还包括有效时间;根据基本信息对静态模板的属性进行配置,包括:根据有效时间配置静态模板的有效时间。
[0088] 具体地,结合图3所示,在进行静态模板的上传时,第一终端还需要填写静态模板对应的基本信息,基本信息包括产品、业务、流程节点中的至少一个,从而可以确定该静态模板对应的产品、业务和流程,进而在配置数据集的时候,开发可以根据静态模板对应的产品、业务和流程确定对应的数据选择范围,进而根据数据选择范围来配置数据集的数据库访问语句,为开发提高了效率,且服务器还根据基本信息配置静态模板的路由信息。且服务器还根据基本信息对静态模板进行分类存储,这样在使用该静态模板的时候可以根据路由信息来确定,避免在大量的模板中查找,提高渲染效率。
[0089] 具体地,在实际应用中,新增单证模板可由用户上传并绑定需要使用该模板的产品、流程节点。并在线完成单元测试工作。用户可上传word模板及excel数据集实现单元测试。页面上传模板参数根据单证类型路由表做模型,以实现模板与产品、节点、类型绑定。
[0090] 结合图3,服务器还设置了模板的有效时间,在实际应用中,在路由表中存入模板生效及失效时间,以及validInd|有效标志控制,例如0‑Invalid无效,1‑Valid有效。如当生效日期大于当前日期则在单证类型路由表展示界面不再展示。
[0091] 在一个实施例中,如图4所示,提供了一种单证模板处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0092] S402:接收第一终端发送的模板选择指令。
[0093] 具体地,模板选择指令可以是第一终端中根据路由信息进行筛选并点击对应的模板生成的,例如,第一终端可以接收对应的产品、流程等信息,然后显示对应的单证模板的标识,用户根据需要选择其中一个模板,例如双击或其他操作其中一个进行选定,从而得到模板选择指令。并将该模板选择指令发送至第一终端,从而该模板选择指令携带有路由信息以及模板的唯一标识。
[0094] S404:根据模板选择指令获取静态模板,并对静态模板进行解析得到目标模板,目标模板包括待处理对象以及模板格式。
[0095] 具体地,服务器根据模板选择指令获取到静态模板,其中可选地,服务器根据路由信息对模板的范围进行选择,然后根据模板的唯一标识确定对应的静态模板。在确定了静态模板后,服务器对该静态模板进行解析得到目标模板,其中目标模板包括待处理对象以及模板格式,其中静态模板的格式可以理解为静态模板的打印格式,例如doc、pdf等,静态模板的各个待处理对象可以包括但不限于字段、表格以及内嵌对象,其中内嵌对象包括图片、xls、docx、pdf等。内嵌对象解析一般有图片解析、文档解析。
[0096] S406:获取待处理对象对应的数据集。
[0097] 具体地,服务器获取数据集的方式即执行每一个待处理对象所对应的数据库访问语句,以从数据库中获取到对应的数据集。
[0098] 在实际应用中,模板路径存储在reportmain数据集主表中,数据集以sql形式存储在reportdataset数据集表中,sql中参数以问号嵌入,用于读取sql时嵌入参数,datasettype数据类型,可分为maindataset‑主数据集、subdataset‑独立型子数据集、LinkDataSet‑存在主子关联型数据集、img‑图片。
[0099] 执行sql参数存储在reportdatasetparam表中,paramname‑参数名称、paramno‑参数号用于嵌入参数时定位位置。
[0100] 图片存储表reportimg,可统一管理存储img。图片以base64存入。
[0101] 具体地,服务器获取reportdataset数据集对象,执行数据对象中存储的sql,获取业务数据‑list>,并循环遍历填充到解析后的xml中,即解析后的静态模板中。
[0102] 其中,单证模板可支持中英文双文模板打印,英文模板位置与中文模板存储方式类似。内容采用英文形式。路径配置在reportmain表中englishtemplate。在单证类型选择界面可以勾选英文模板打印。
[0103] S408:将所获取的数据集填充至模板格式的对应位置处,并填充完成得到的单证模板发送至第一终端进行显示。
[0104] 最后,服务器将所读取的数据集填写至,模板格式的对应位置处,并填充完成得到的单证模板发送至第一终端进行显示。
[0105] 上述单证模板处理方法,由第一终端上传静态模板,该静态模板中包括了待处理对象,从而研发仅需要对静态模板进行解析得到待处理对象,并为每个待处理对象进行数据集配置即可,不需要研发和业务多次讨论模板的内容,减少了沟通时长,从而提高了单证模板的研发效率。且单证模板在显示的时候也仅是读取静态模板和对应的数据集即可,更加方便。
[0106] 在其中一个实施例中,对静态模板进行解析得到目标模板,包括:对静态模板进行解析得到文档对象,并获取文档对象的文档内容;对文档内容进行解析得到段落对象,并对段落对象进行解析得到文本对象;对文本对象进行解析得到待处理对象。
[0107] 在其中一个实施例中,对静态模板进行解析得到目标模板,包括:判断静态模板是否存在嵌套;若是存在,从外至内依次对嵌套的模板进行解析。
[0108] 其中,在实际应用中,服务器获取文档对象XWPFDocument,通过.getDocument().getBody()方法获取CTBody对象,再通过CTBody对象的.xmlText()属性,获取文档内容。内嵌对象通过XWPFDocument文档对象getParagraphs()方法获取段落对象,再遍历段落通过getRuns()获取XWPFRun文本对象,通过文本对象的获取node对象,通过解析node获取内嵌对象。
[0109] 且服务器的解析方式为先解析主模板,再解析子模板内嵌对象,直至里层所有模板解析完成。
[0110] 在其中一个实施例中,获取待处理对象对应的数据集,包括:读取待处理对象对应的数据库访问语句;执行数据库访问语句时嵌入数据集类型参数,以读取对应的数据集。
[0111] 数据存储以数据集为存储单位,每套数据集对应一个id,用id作为外键关联相关数据集表。
[0112] 模板路径存储在reportmain数据集主表中,数据集以sql形式存储在reportdataset数据集表中,sql中参数以问号嵌入,用于读取sql时嵌入参数,datasettype数据类型,可分为maindataset‑主数据集、subdataset‑独立型子数据集、LinkDataSet‑存在主子关联型数据集、img‑图片。
[0113] 执行sql参数存储在reportdatasetparam表中,paramname‑参数名称、paramno‑参数号用于嵌入参数时定位位置。
[0114] 图片存储表reportimg,可统一管理存储img。图片以base64存入。
[0115] Word模板上传至服务器中统一管理,文档管理将根据业务需求分类管理,例如根据产品、业务、流程节点分类。
[0116] 在其中一个实施例中,获将所获取的数据集填充至模板格式的对应位置处,包括:获取待处理对象对应的图片节点;通过预设方法将图片节点对应的数据集填充至图片节点处。
[0117] 其中,需要说明的是对于Logo、背景图片渲染,将图片以base64存在reportimg表中供使用。服务器将读取的base64数据转换流Base64.getMimeDecoder().decode(blankImg),再解析模板,获取v:imagedata图片节点,再通过XWPFDocument的addPictureData()方法将图片写入。
[0118] 在其中一个实施例中,根据模板选择指令获取静态模板,包括:根据模板选择指令获取路由信息;从路由信息对应的分类中读取静态模板。
[0119] 具体地,新增单证类型路由表ggdocumentprint,表中数据根据用户实际使用模板的场景构建。例如:数据集id、流程节点、产品、单证类型等。数据可根据用户需求,根据不同场景展示对应模板。再以列表形式供用户勾选。具体可以参见图5所示。
[0120] 新增单证模板管理系统,可由用户上传并绑定需要使用该模板的产品、流程节点。并在线完成单元测试工作 。用户可上传word模板及excel数据集实现单元测试。页面上传模板参数根据单证类型路由表做模型,以实现模板与产品、节点、类型绑定。
[0121] 在路由表中存入模板生效及失效时间,以及validInd|有效标志控制。0‑Invalid 无效,1‑Valid有效。如当生效日期大于当前日期则在单证类型路由表展示界面不再展示。
[0122] 具体地,结合图6所示,图6给出了单证模板生成方法的完整流程图,在该实施例中,首先用户线下开发静态模板,例如通过word或者wps等工具进行静态模板的绘制,然后将静态模板发送给服务器,服务器接收到该静态模板,并根据第一终端上传该静态模板时所选择的基本信息对该静态模板进行分类存储,并提醒开发存在新的静态模板,开发获取到该新的静态模板,并进行解析得到待处理对象,并为待处理对象配置对应的数据集后,通知第一终端的用户进行单元测试,第一终端对开发完成的单证模板则进行单元测试,即在测试环境下,根据用户的选择服务器获取到对应的静态模板,对静态模板进行解析得到待处理对象,根据待处理对象对应的标识确定对应的数据集,并读取该数据集填充至静态模板的对应位置处,以渲染显示得到单证模板,最后发送至第一终端由用户确定所得到的单证模板是否正确,若是正确的测试成功,从而开发将单证模板发布至生产环境,若是存在问题,在用户可以在渲染后的模板中进行标注,并反馈给服务器,以便于开发及时处理。
[0123] 在测试完成后,将测试成功的单证模板发布到生产环境。
[0124] 应该理解的是,虽然图2、图4和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4和图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0125] 在一个实施例中,如图7所示,提供了一种单证模板生成装置,包括:第一接收模块701、第二接收模块702、配置模块703和建立模块704,其中:
[0126] 第一接收模块701,用于接收第一终端上传的静态模板,静态模板包括待处理对象;
[0127] 第二接收模块702,用于接收针对静态模板进行开发解析所得到的解析结果;
[0128] 配置模块703,用于根据解析结果为每个待处理对象配置对应的数据集;
[0129] 建立模块704,用于建立所配置的数据集以及静态模板关系,数据集以及静态模板用于模板使用时生成单证模板。
[0130] 在其中一个实施例中,上述配置模块703用于将静态模板存储在数据表主表中,并以数据库访问语句的形式配置每个待处理对象配置对应的数据集。
[0131] 在其中一个实施例中,上述单证模板生成装置还包括:
[0132] 测试模块,用于对生成的单证模板进行单元测试;
[0133] 发布模块,用于当单元测试成功时,发布单证模板。
[0134] 在其中一个实施例中,上述单证模板生成装置还包括:
[0135] 第四接收模块,用于接收第一终端上传的静态模板的基本信息;
[0136] 配置模块,用于根据基本信息对静态模板的属性进行配置。
[0137] 在其中一个实施例中,基本信息包括产品、业务、流程节点中的至少一个;
[0138] 上述配置模块用于根据基本信息配置静态模板的路由信息,并根据基本信息对静态模板进行分类存储。
[0139] 在其中一个实施例中,基本信息包括有效时间;配置模块用于根据有效时间配置静态模板的有效时间。
[0140] 在一个实施例中,如图8所示,提供了一种单证模板处理装置,包括:第三接收模块801、解析模块802、数据集获取模块803和填充模块804,其中:
[0141] 第三接收模块801,用于接收第一终端发送的模板选择指令;
[0142] 解析模块802,用于根据模板选择指令获取静态模板,并对静态模板进行解析得到目标模板,目标模板包括待处理对象以及模板格式;
[0143] 数据集获取模块803,用于获取待处理对象对应的数据集;
[0144] 填充模块804,用于将所获取的数据集填充至模板格式的对应位置处,并填充完成得到的单证模板发送至第一终端进行显示。
[0145] 在其中一个实施例中,上述解析模块802包括:
[0146] 文档解析单元,用于对静态模板进行解析得到文档对象,并获取文档对象的文档内容;
[0147] 段落解析单元,用于对文档内容进行解析得到段落对象,并对段落对象进行解析得到文本对象;
[0148] 文本解析单元,用于对文本对象进行解析得到待处理对象。
[0149] 在其中一个实施例中,上述解析模块802包括:
[0150] 判断单元,用于判断静态模板是否存在嵌套;若是存在,从外至内依次对嵌套的模板进行解析。
[0151] 在其中一个实施例中,上述数据集获取模块803包括:
[0152] 读取单元,用于读取待处理对象对应的数据库访问语句;
[0153] 数据集获取单元,用于执行数据库访问语句时嵌入数据集类型参数,以读取对应的数据集。
[0154] 在其中一个实施例中,填充模块804包括:
[0155] 节点获取单元,用于获取待处理对象对应的图片节点;
[0156] 填充单元,用于通过预设方法将图片节点对应的数据集填充至图片节点处。
[0157] 在其中一个实施例中,解析模块802包括:
[0158] 路由信息获取单元,用于根据模板选择指令获取路由信息;
[0159] 模板获取单元,用于从路由信息对应的分类中读取静态模板。
[0160] 关于单证模板生成和处理装置的具体限定可以参见上文中对于单证模板生成和处理方法的限定,在此不再赘述。上述单证模板生成和处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0161] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储静态模板以及数据集。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种单证模板生成和处理方法。
[0162] 本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0163] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收第一终端上传的静态模板,静态模板包括待处理对象;接收针对静态模板进行开发解析所得到的解析结果;根据解析结果为每个待处理对象配置对应的数据集;建立所配置的数据集以及静态模板关系,数据集以及静态模板用于模板使用时生成单证模板。
[0164] 在一个实施例中,处理器执行计算机程序时所实现的根据解析结果为每个待处理对象配置对应的数据集,包括:将静态模板存储在数据表主表中,并以数据库访问语句的形式配置每个待处理对象配置对应的数据集。
[0165] 在一个实施例中,处理器执行计算机程序时所实现的建立所配置的数据集以及静态模板关系之后,包括:对生成的单证模板进行单元测试;当单元测试成功时,发布单证模板。
[0166] 在一个实施例中,处理器执行计算机程序时所实现的接收第一终端上传的静态模板之后,还包括:接收第一终端上传的静态模板的基本信息,根据所述基本信息对所述静态模板的属性进行配置。
[0167] 在一个实施例中,处理器执行计算机程序时所涉及的基本信息包括产品、业务、流程节点中的至少一个;处理器执行计算机程序时所实现的根据所述基本信息对所述静态模板的属性进行配置,包括:根据基本信息配置静态模板的路由信息,并根据基本信息对静态模板进行分类存储。
[0168] 在一个实施例中,处理器执行计算机程序时所涉及的基本信息包括有效时间;处理器执行计算机程序时所实现的根据所述基本信息对所述静态模板的属性进行配置,包括:根据有效时间配置静态模板的有效时间。
[0169] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收第一终端发送的模板选择指令;根据模板选择指令获取静态模板,并对静态模板进行解析得到目标模板,目标模板包括待处理对象以及模板格式;获取待处理对象对应的数据集;将所获取的数据集填充至模板格式的对应位置处,并填充完成得到的单证模板发送至第一终端进行显示。
[0170] 在一个实施例中,处理器执行计算机程序时所实现的对静态模板进行解析得到目标模板,包括:对静态模板进行解析得到文档对象,并获取文档对象的文档内容;对文档内容进行解析得到段落对象,并对段落对象进行解析得到文本对象;对文本对象进行解析得到待处理对象。
[0171] 在一个实施例中,处理器执行计算机程序时所实现的对静态模板进行解析得到目标模板,包括:判断静态模板是否存在嵌套;若是存在,从外至内依次对嵌套的模板进行解析。
[0172] 在一个实施例中,处理器执行计算机程序时所实现的获取待处理对象对应的数据集,包括:读取待处理对象对应的数据库访问语句;执行数据库访问语句时嵌入数据集类型参数,以读取对应的数据集。
[0173] 在一个实施例中,处理器执行计算机程序时所实现的获将所获取的数据集填充至模板格式的对应位置处,包括:获取待处理对象对应的图片节点;通过预设方法将图片节点对应的数据集填充至图片节点处。
[0174] 在一个实施例中,处理器执行计算机程序时所实现的根据模板选择指令获取静态模板,包括:根据模板选择指令获取路由信息;从路由信息对应的分类中读取静态模板。
[0175] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收第一终端上传的静态模板,静态模板包括待处理对象;接收针对静态模板进行开发解析所得到的解析结果;根据解析结果为每个待处理对象配置对应的数据集;建立所配置的数据集以及静态模板关系,数据集以及静态模板用于模板使用时生成单证模板。
[0176] 在一个实施例中,计算机程序被处理器执行时所实现的根据解析结果为每个待处理对象配置对应的数据集,包括:将静态模板存储在数据表主表中,并以数据库访问语句的形式配置每个待处理对象配置对应的数据集。
[0177] 在一个实施例中,计算机程序被处理器执行时所实现的建立所配置的数据集以及静态模板关系之后,包括:对生成的单证模板进行单元测试;当单元测试成功时,发布单证模板。
[0178] 在一个实施例中,计算机程序被处理器执行时所实现的接收第一终端上传的静态模板之后,还包括:接收第一终端上传的静态模板的基本信息,根据所述基本信息对所述静态模板的属性进行配置。
[0179] 在一个实施例中,处理器执行计算机程序时所涉及的基本信息包括产品、业务、流程节点中的至少一个;处理器执行计算机程序时所实现的根据所述基本信息对所述静态模板的属性进行配置,包括:根据基本信息配置静态模板的路由信息,并根据基本信息对静态模板进行分类存储。
[0180] 在一个实施例中,计算机程序被处理器执行时所涉及的基本信息还包括有效时间;处理器执行计算机程序时所实现的根据所述基本信息对所述静态模板的属性进行配置,包括:根据有效时间配置静态模板的有效时间。
[0181] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收第一终端发送的模板选择指令;根据模板选择指令获取静态模板,并对静态模板进行解析得到目标模板,目标模板包括待处理对象以及模板格式;获取待处理对象对应的数据集;将所获取的数据集填充至模板格式的对应位置处,并填充完成得到的单证模板发送至第一终端进行显示。
[0182] 在一个实施例中,计算机程序被处理器执行时所实现的对静态模板进行解析得到目标模板,包括:对静态模板进行解析得到文档对象,并获取文档对象的文档内容;对文档内容进行解析得到段落对象,并对段落对象进行解析得到文本对象;对文本对象进行解析得到待处理对象。
[0183] 在一个实施例中,计算机程序被处理器执行时所实现的对静态模板进行解析得到目标模板,包括:判断静态模板是否存在嵌套;若是存在,从外至内依次对嵌套的模板进行解析。
[0184] 在一个实施例中,计算机程序被处理器执行时所实现的获取待处理对象对应的数据集,包括:读取待处理对象对应的数据库访问语句;执行数据库访问语句时嵌入数据集类型参数,以读取对应的数据集。
[0185] 在一个实施例中,计算机程序被处理器执行时所实现的获将所获取的数据集填充至模板格式的对应位置处,包括:获取待处理对象对应的图片节点;通过预设方法将图片节点对应的数据集填充至图片节点处。
[0186] 在一个实施例中,计算机程序被处理器执行时所实现的根据模板选择指令获取静态模板,包括:根据模板选择指令获取路由信息;从路由信息对应的分类中读取静态模板。
[0187] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
[0188] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0189] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。