一种单据开发方法及装置、可读介质和存储控制器与流程

文档序号:11215961阅读:567来源:国知局
本发明涉及计算机
技术领域
:,特别涉及一种单据开发方法及装置、可读介质和存储控制器。
背景技术
::随着计算机技术的不断发展与进步,出现了各种类型的管理软件供企业使用,比如erp(enterpriseresourceplanning,企业资源计划)、bpm(businessprocessmanagement,业务流程管理)、crm(customerrelationshipmanagement,客户关系管理)等。管理软件通过各种类型的单据记录相应的业务数据,各种类型的单据由开发人员开发而获得。目前,开发人员在开发一个单据时,手工录入各种类型的sql(structuredquerylanguage,结构化查询语言)语句,以在用户需要时进行表单的创建、查询、保存和删除等操作。针对目前开发单据的方法,由于一个单据被植入管理软件进行使用时,需要大量的sql语句来完成表单的创建、查询、保存和删除等操作,通过手工录入sql语句的方式,需要耗费开发人员较长的时间,导致开发单据的效率较低。技术实现要素:本发明实施例提供了一种单据开发方法及装置、可读介质和存储控制器,能够提高对单据进行开发的效率。第一方面,本发明实施例提供了一种单据开发方法,包括:以可视化的方式展示数据结构信息录入界面;获取待开发单据的数据结构信息,所述数据结构信息由开发人员根据所述数据结构信息录入界面录入;根据所述数据结构信息生成所述待开发单据的sql建表语句,所述sql建表语句用于创建所述待开发单据的表单;根据所述开发人员输入的开发需求和所述数据结构信息,生成所述待开发单据的至少一个sql功能语句,所述至少一个sql功能语句用于对所述待开发单据进行功能性操作;将所述sql建表语句和所述至少一个sql功能语句导出到指定的存储路径。可选地,在所述获取待开发单据的数据结构信息之后,进一步包括:根据所述数据结构信息,生成所述待开发单据的单据界面和数据窗口;将所述单据界面和所述数据窗口导出到与所述待开发单据相对应的开发包中。可选地,所述根据所述数据结构信息生成所述待开发单据的数据窗口,包括:根据所述数据结构信息包括的信息集,生成表头数据窗口和至少一个表体数据窗口,其中,所述信息集用于记录所述待开发单据的表名,所述表头数据窗口包括单据内码特征列和单据编号特征列中的部分或全部,每一个所述表体数据窗口包括单据内码特征列和单据分录特征列中的部分或全部。可选地,所述根据所述开发人员输入的开发需求和所述数据结构信息生成所述待开发单据的至少一个sql功能语句,包括:根据所述开发需求获取预先创建的至少一个sql功能语句模板;针对所述至少一个sql功能语句模板中的每一个sql功能语句模板,根据所述数据结构信息,确定所述待开发单据对应于所述sql功能语句模板的替换参数,通过所述替换参数对所述sql功能语句模板中的默认参数进行替换,生成所述待开发单据的一个所述sql功能语句。第二方面,本发明实施例还提供了一种单据开发装置,包括:展示单元、获取单元、语句生成单元和导出单元;所述展示单元,用于以可视化的方式展示数据结构信息录入界面;所述获取单元,用于获取开发人员通过所述展示单元展示的所述数据结构信息录入界面录入的数据结构信息;所述语句生成单元,用于根据所述获取单元获取到的所述数据结构信息,生成所述待开发单据的sql建表语句,并根据所述开发人员输入的开发需求和所述数据结构信息,生成所述待开发单据的至少一个sql功能语句,其中,所述sql建表语句用于创建所述待开发单据的表单,所述至少一个sql功能语句用于对所述待开发单据进行功能性操作;所述导出单元,用于将所述语句生成单元生成的所述sql建表语句和所述至少一个sql功能语句导出到指定的存储路径。可选地,该单据开发装置还可以包括:对象生成单元;所述对象生成单元,用于根据所述获取单元获取到的所述数据结构信息,生成所述待开发单据的单据界面和数据窗口;所述导出单元,进一步用于将所述对象生成单元生成的所述单据界面和所述数据窗口导出到与所述待开发单据相对应的开发包中。可选地,所述对象生成单元包括:窗口生成子单元;所述窗口生成子单元,用于根据所述数据结构信息包括的信息集,生成表头数据窗口和至少一个表体数据窗口,其中,所述信息集用于记录所述待开发单据的表名,所述表头数据窗口包括单据内码特征列和单据编号特征列中的部分或全部,每一个所述表体数据窗口包括单据内码特征列和单据分录特征列中的部分或全部。可选地,所述语句生成单元包括:功能语句生成子单元;所述功能语句生成子单元,用于根据所述开发需求获取预先创建的至少一个sql功能语句模板,针对所述至少一个sql功能语句模板中的每一个sql功能语句模板,根据所述数据结构信息,确定所述待开发单据对应于所述sql功能语句模板的替换参数,通过所述替换参数对所述sql功能语句模板中的默认参数进行替换,生成所述待开发单据的一个所述sql功能语句。第三方面,本发明实施例还提供了一种可读介质,所述可读介质上存储有执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行前述第一方面或第一方面的任一种可能实现方式提供的任意一种单据开发方法。第四方面,本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器上存储的所述执行指令,以使所述存储控制器执行前述第一方面或第一方面的任一种可能实现方式提供的任意一种单据开发方法。本发明实施例提供了一种单据开发方法及装置、可读介质和存储控制器,以可视化的方式向开发人员展示数据结构信息录入界面,开发人员通过数据结构信息录入界面录入待开发单据的数据结构信息后,根据数据结构信息生成待开发单据的sql建表语句,并根据数据结构信息和开发人员输入的开发需求生成至少一个sql功能语句,最终将生成的sql建表语句和至少一个sql功能语句导出到的指定的存储路径。由此可见,开发人员在开发单据时,只需要根据数据结构信息录入界面录入待开发单据的数据结构信息,便可以获得待开发单据的sql建表语句和各个sql功能语句,相对于通过手工录入的方式获得各类sql语句,节省了获得sql语句的时间,从而提高了对单据进行开发的效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一个实施例提供的一种单据开发方法的流程图;图2是本发明一个实施例提供的另一种单据开发方法的流程图;图3是本发明一个实施例提供的一种单据开发装置所在设备的示意图;图4是本发明一个实施例提供的一种单据开发装置的示意图;图5是本发明一个实施例提供的另一种单据开发装置的示意图;图6是本发明一个实施例提供的又一种单据开发装置的示意图;图7是本发明一个实施例提供的再一种单据开发装置的示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明实施例提供了一种单据开发方法,该方法可以包括以下步骤:步骤101:以可视化的方式展示数据结构信息录入界面;步骤102:获取待开发单据的数据结构信息,所述数据结构信息由开发人员根据所述数据结构信息录入界面录入;步骤103:根据所述数据结构信息生成所述待开发单据的sql建表语句,所述sql建表语句用于创建所述待开发单据的表单;步骤104:根据所述开发人员输入的开发需求和所述数据结构信息,生成所述待开发单据的至少一个sql功能语句,所述至少一个sql功能语句用于对所述待开发单据进行功能性操作;步骤105:将所述sql建表语句和所述至少一个sql功能语句导出到指定的存储路径。本发明实施例提供了一种单据开发方法,以可视化的方式向开发人员展示数据结构信息录入界面,开发人员通过数据结构信息录入界面录入待开发单据的数据结构信息后,根据数据结构信息生成待开发单据的sql建表语句,并根据数据结构信息和开发人员输入的开发需求生成至少一个sql功能语句,最终将生成的sql建表语句和至少一个sql功能语句导出到的指定的存储路径。由此可见,开发人员在开发单据时,只需要根据数据结构信息录入界面录入待开发单据的数据结构信息,便可以获得待开发单据的sql建表语句和各个sql功能语句,相对于通过手工录入的方式获得各类sql语句,节省了获得sql语句的时间,从而提高了对单据进行开发的效率。可选地,在步骤102中获得待开发单据的数据结构信息之后,还可以根据获取到的数据结构信息,生成待开发单据的单据界面和数据窗口,并将生成的单据界面和数据窗口导出到与待开发单据相对应的开发包中。在将开发人员开发的单据植入管理软件进行使用时,除了需要单据的各类sql语句外,还需要单据的单据界面和数据窗口,即单据的用户界面(ui),管理软件调用sql建表语句获取数据,并将获取到的数据填充到单据界面和数据窗口中,完成单据的创建。根据待开发单据的数据结构信息,直接生成待开发单据的单据界面和数据窗口,并将生成的单据界面和数据窗口导出到相应的开发包中,相对目前开发单据过程中通过手工建立单据界面和数据窗口的方法,减轻了开发人员的劳动强度,并可以进一步提高对单据进行开发的效率。可选地,数据结构信息中包括信息集,信息集用于记录待开发单据的表名,具体可以用于记录表的唯一编号、业务单据逻辑表名和数据结构表名。在根据数据结构信息生成开发单据的数据窗口时,可以根据数据结构信息包括的信息集,生成表头数据窗口和至少一个表体数据窗口。其中,表头数据窗口包括单据内码特征列和单据编号特征列中的部分或全部,每一个表体数据窗口包括单据内码特征列和单据分录特征列中的部分或全部。数据结构信息包括的信息集记录了待开发单据的表名,表名反应了待开发单据的表头信息和表体信息,根据信息集记录的信息,自动创建待开发单据的表头数据窗口和各个表体数据窗口。管理软件在形成单据时,将表头数据窗口和各个表体数据窗口相组合,形成单据的数据窗口。由于无需通过手工的方式创建单据的表头数据窗口和表体数据窗口,减轻了开发人员开发单据过程中的劳动强度。可选地,在步骤104中生成待开发单据的sql功能语句时,接收开发人员输入的开发需求,根据开发需求确定待开发单据所需的至少一个功能,根据确定的每一个功能获取相对应的sql功能语句模板。针对获取到的每一个sql功能语句模板,通过对待开发单据的数据结构信息进行解析,确定待开发单据对应于该sql功能语句模板的替换参数,通过确定出的替换参数对该sql功能语句中相应的默认参数进行替换后,形成待开发单据的一个sql功能语句。比如,根据开发人员输入的开发需求,待开发单据需要条件查询功能和打印功能,分别获取条件查询功能和打印功能对应的sql查询条件语句模板和sql打印项语句模板。根据待开发单据的数据结构信息,确定待开发单据对应sql查询条件语句模板的第一替换参数和对应sql打印项语句模板的第二替换参数。通过第一替换参数对sql查询条件语句模板中的默认参数进行替换,形成待开发单据的sql查询条件语句;通过第二替换参数对sql打印项语句模板中的默认参数进行替换,形成待开发单据的sql打印项数据。预先创建可以对单据进行各种操作的sql功能语句模板,在开发单据时,根据开发人员输入的开发需求选择相应的sql功能语句模板,通过待开发单据的数据结构信息确定相应的替换参数,将所选择sql功能语句模板中的默认参数替换为确定的替换参数后,形成sql功能语句模板,将所形成的sql功能语句模板一同导出到指定的存储路径。这样,在开发单据时,不仅能够自动形成待开发单据的sql建表语句,还能够自动形成待开发单据的各种sql功能语句,节省手工书写sql功能语句的时间,进一步提高了对单据进行开发的效率。下面结合具体例子,对本发明实施例提供的单据开发方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:步骤201:向开发人员展示数据结构信息录入界面。在本发明一个实施例中,在开发人员需要开发一个单据时,以可视化的形式向开发人员展示数据结构信息录入界面,提供录入模板,供开发人员根据录入模板录入待开发单据的数据解结构信息。步骤202:获取开发人员录入的数据结构信息。在本发明一个实施例中,开发人员通过数据结构信息录入界面进行元数据录入,维护信息项表和信息集表,用来记录待开发单据的数据结构信息,最终获取到包括信息项表和信息集表的数据结构信息。其中,信息集表用于记录单据表名,信息项表用于记录单据的数据列。例如,开发人员通过可视化界面维护如下表1,获得待开发单据的信息集表,并通过可视化界面维护如下表2,获得待开发单据的信息项表,其中,表1表2步骤203:根据数据结构信息生成待开发单据的单据界面和数据窗口。在本发明一个实施例中,在获取到开发人员定义的数据结构信息后,通过对数据结构信息进行解析,确定待开发单据的数据结构,根据待开发单据的数据结构,生成待开发单据的单据界面和数据窗口。例如,通过表单定义,引入获取到的信息集,依据规则生成单据界面和数据窗口,具体包括:u_psp_dj单据对象,该对象中包含待开发单据的数据窗口信息、保存方法和删除方法;dw_master_1表头数据窗口,该对象根据信息集内容自动创建,具有单据内码djnm,单据编号djbh特征列,并且格式化界面格式;dw_detail_n表体数据窗口,该对象根据信息集自动创建,具体单据内码djnm,单据分录djfl特征列,并且格式化界面格式,其中,dw_detail_n代表第n个表体数据窗口。步骤204:将生成的单据界面和数据窗口导出到与待开发单据相对应的开发包中。在本发明一个实施例中,在生成待开发单据的单据界面和数据窗口后,创建与待开发单据相对应的开发包,并将生成的单据界面和数据窗口导入到所创建的开发包中。开发包会植入用户的管理软件,在管理软件创建单据时作为用户界面被调用。例如,通过以下函数创建待开发单据的开发包,用于保存导出的单据对象和数据窗口:of_librarycreate():stringls_err,ls_synifnotfileexists(is_directoryscan+"\"+is_filepbl)thenlibrarycreate(is_directoryscan+"\"+is_filepbl)endif;通过以下函数生成数据窗口语法并导出:of_datawindowexp():ls_syn=sqlca.syntaxfromsql(ls_sql,"style(type=grid)",ls_err)ln_ds.create(ls_syn,ls_err)gf_set_dw_look(ln_ds,'f',2)//格式化数据窗口ls_syntax=ln_ds.describe('datawindow.syntax')libraryimport(is_path+'\'+is_gnbh+'.pbl',as_objectname,importdatawindow!,ls_syntax,ls_error);通过以下函数生成单据对象并导出:of_userobjectsexp():stringis_scanpbl//导出路径stringis_objectname//导出对象名称ls_syntax=libraryexport(is_scanpbl,is_objectname,exportuserobject!)lb_syntax=blob(ls_syntax,encodingutf8!)filewrite(‘c:\uo_psp_dj.sru’,lb_syntax)。步骤205:根据数据结构信息生成sql建表语句和sql功能语句。在本发明一个实施例中,将获取到的数据结构信息中定义的信息项归集并生成标准的sql建表语句,同时根据开发人员输入的开发需求,定义可导出的其他sql功能语句,比如查询条件语句、打印项语句等。步骤206:将生成的sql建表语句和sql功能语句导出到指定的存储路径。在本发明一个实施例中,在生成待开发单据的sql建表语句和sql功能语句后,将所生成的sql建表语句和sql功能语句导出到指定的存储路径进行存储,以备导入用户的管理软件中,结合步骤204形成的开发包,在管理软件中创建待开发单据。例如,通过如下函数将建表语句导出:of_sqlexport():vssql="createtable"+psname+""+pssql//元数据定义并解析的建表语句vssql+="create"+psunique+"index"+vstemp+"on"+psname+"("+psindex+")"//元数据定义并解析的表索引filewrite(‘c:\xxx.sql’,vssql)。如图3、图4所示,本发明实施例提供了一种单据开发装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的单据开发装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的单据开发装置,包括:展示单元401、获取单元402、语句生成单元403和导出单元404;所述展示单元401,用于以可视化的方式展示数据结构信息录入界面;所述获取单元402,用于获取开发人员通过所述展示单元401展示的所述数据结构信息录入界面录入的数据结构信息;所述语句生成单元403,用于根据所述获取单元402获取到的所述数据结构信息,生成所述待开发单据的sql建表语句,并根据所述开发人员输入的开发需求和所述数据结构信息,生成所述待开发单据的至少一个sql功能语句,其中,所述sql建表语句用于创建所述待开发单据的表单,所述至少一个sql功能语句用于对所述待开发单据进行功能性操作;所述导出单元404,用于将所述语句生成单元403生成的所述sql建表语句和所述至少一个sql功能语句导出到指定的存储路径。可选地,如图5所示,该单据开发装置还可以包括:对象生成单元505;所述对象生成单元505,用于根据所述获取单元402获取到的所述数据结构信息,生成所述待开发单据的单据界面和数据窗口;所述导出单元404,进一步用于将所述对象生成单元505生成的所述单据界面和所述数据窗口导出到与所述待开发单据相对应的开发包中。可选地,如图6所示,对象生成单元505包括:窗口生成子单元5051;所述窗口生成子单元5051,用于根据所述数据结构信息包括的信息集,生成表头数据窗口和至少一个表体数据窗口,其中,所述信息集用于记录所述待开发单据的表名,所述表头数据窗口包括单据内码特征列和单据编号特征列中的部分或全部,每一个所述表体数据窗口包括单据内码特征列和单据分录特征列中的部分或全部。可选地,如图7所示,语句生成单元403包括:功能语句生成子单元4031;功能语句生成子单元4031,用于根据所述开发需求获取预先创建的至少一个sql功能语句模板,针对所述至少一个sql功能语句模板中的每一个sql功能语句模板,根据所述数据结构信息,确定所述待开发单据对应于所述sql功能语句模板的替换参数,通过所述替换参数对所述sql功能语句模板中的默认参数进行替换,生成所述待开发单据的一个所述sql功能语句。上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。本发明实施例还提供了一种可读介质,所述可读介质上存储有执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行前述任一实施例提供的单据开发方法。本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器上存储的所述执行指令,以使所述存储控制器执行前述任一实施例提供的单据开发方法。本发明各个实施例提供的单据开发方法及装置,至少具有如下有益效果:1、在本发明实施例中,以可视化的方式向开发人员展示数据结构信息录入界面,开发人员通过数据结构信息录入界面录入待开发单据的数据结构信息后,根据数据结构信息生成待开发单据的sql建表语句,并根据数据结构信息和开发人员输入的开发需求生成至少一个sql功能语句,最终将生成的sql建表语句和至少一个sql功能语句导出到的指定的存储路径。由此可见,开发人员在开发单据时,只需要根据数据结构信息录入界面录入待开发单据的数据结构信息,便可以获得待开发单据的sql建表语句和各个sql功能语句,相对于通过手工录入的方式获得各类sql语句,节省了获得sql语句的时间,从而提高了对单据进行开发的效率。2、在本发明实施例中,根据开发人员录入的数据结构信息,生成待开发单据的单据界面和数据窗口,而单据界面和数据窗口是管理软件创建单据时需要使用的用户界面模板。在现有单据开发方法中,单据界面和数据窗口由开发人员手工绘制,通过数据结构信息自动生成待开发单据的单据界面和数据窗口并进行导出,降低了开发人员在单据开发过程中的劳动强度。3、在本发明实施例中,根据开发人员录入的数据结构信息,自动生成sql建表语句和各种sql功能语句,相对于由开发人员手动书写sql语句的方式,一方面,降低了开发人员的劳动强度,提升了单据开发的效率,另一方面,相对手动书写sql语句减少了sql语句中的错误,提升了所开发单据的质量,保证管理软件能够正常生成单据。4、在本发明实施例中,除了能够根据开发人员录入的数据结构信息生成sql建表语句外,还能够根据开发人员输入的开发需求,结合数据结构信息生成各种类型的sql功能语句,以实现对待开发单据的各种操作。一方面,由于各种类型sql功能语句无需手工书写,减少了开发人员开发单据过程中的重复劳动,降低了单据开发的劳动强度。另一方面,能够根据开发人员输入的开发需求,生成各种类型的sql功能语句,满足不同用户的需求,提升了该单据开发方法的适用性。需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1