CN111580794A - 业务管理系统中业务单据创建方法和装置 - Google Patents
业务管理系统中业务单据创建方法和装置 Download PDFInfo
- Publication number
- CN111580794A CN111580794A CN202010370616.3A CN202010370616A CN111580794A CN 111580794 A CN111580794 A CN 111580794A CN 202010370616 A CN202010370616 A CN 202010370616A CN 111580794 A CN111580794 A CN 111580794A
- Authority
- CN
- China
- Prior art keywords
- code
- database
- document
- module
- business
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000006870 function Effects 0.000 claims description 50
- 238000012216 screening Methods 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000007792 addition Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了业务管理系统中业务单据创建方法和装置,该方法包括:获取开发人员输入的单据存储路径;获取开发人员按照预设数据格式输入的数据库连接配置信息;根据所述数据库连接配置信息获取数据库中所存储表的表信息;确定所述开发人员根据所述表信息确定出的至少一个目标表;根据预先设定的代码生成规则,基于所述至少一个目标表生成相对应的模型代码,其中,当所述模型代码被执行时可通过所述业务管理系统的前台展示相对应的目标业务单据;将所述模型代码存储到所述单据存储路径。本方案能够降低开发人员在业务管理系统中创建业务单据的劳动强度。
Description
技术领域
本发明涉及计算机技术领域,特别涉及业务管理系统中业务单据创建方法和装置。
背景技术
用户在使用业务管理系统进行业务管理时需要用到各种类型的业务单据,比如字典类表单,为此开发人员在开发业务管理系统时需要创建各种类型的业务单据。
目前开发人员在创建业务管理系统中的业务单据时,需要通过硬编码的方式创建业务单据,在业务单据开发过程中开发人员需要输入大量的模型类,同时还需要手工建立视图与控制器之前的关联关系。
针对目前在业务管理系统中创建业务单据的方法,开发人员需要手动输入大量代码并建立视图与控制器之间的关联关系,使得开发人员需要大量重复繁琐的工作,进而导致开发人员开发业务单据的劳动强度较大。
发明内容
本发明实施例提供了业务管理系统中业务单据创建方法和装置,能够降低开发人员在业务管理系统中创建业务单据的劳动强度。
第一方面,本发明实施例提供了一种业务管理系统中业务单据创建方法,包括:
获取开发人员输入的单据存储路径;
获取开发人员按照预设数据格式输入的数据库连接配置信息;
根据所述数据库连接配置信息获取数据库中所存储表的表信息;
确定所述开发人员根据所述表信息确定出的至少一个目标表;
根据预先设定的代码生成规则,基于所述至少一个目标表生成相对应的模型代码,其中,当所述模型代码被执行时可通过所述业务管理系统的前台展示相对应的目标业务单据;
将所述模型代码存储到所述单据存储路径。
在第一种可能的实现方式中,结合上述第一方面,在所述获取开发人员按照预设数据格式输入的数据库连接配置信息之前,进一步包括:
接收所述开发人员输入的地址生成指令;
在所述根据预先设定的代码生成规则,基于所述至少一个目标表生成相对应的模型代码之后,进一步包括:
根据所述地址生成指令,生成对应于所述模型代码的统一资源定位符,其中,所述统一资源定位符用于在浏览器中打开所述目标业务单据。
在第二种可能的实现方式中,结合上述第一方面,在所述基于所述至少一个目标表生成相对应的模型代码之后,且在所述将所述模型代码存储到所述单据存储路径之前,进一步包括:
生成至少一个用于对所述目标业务单据进行操作的单据操作代码,其中,不同的所述单据操作代码用于对所述目标业务单据进行不同类型的操作,所述单据操作代码用于对所述目标业务单据进行增加、删除、修改或查找操作;
分别将每一个所述单据操作代码与所述业务管理系统的台前所展示的一个操作按钮相关联,其中,不同的所述单据操作代码与不同的所述操作按钮相关联,当一个所述操作按钮被触发后,与该操作按钮相关联的所述单据操作代码被执行;
将各个所述单据操作代码插入到所述模型代码中。
在第三种可能的实现方式中,结合上述第一方面,在所述将所述模型代码存储到所述单据存储路径之后,进一步包括:
获取由所述开发人员编写的至少一个扩展功能代码,其中,当所述扩展功能代码被执行时可针对所述目标业务单据实现相应的扩展功能,且不同的所述扩展功能代码用于实现不同的所述扩展功能;
分别将每一个所述扩展功能代码插入所述模型代码中相对应的位置。
在第四种可能的实现方式中,结合上述第一方面以及第一方面的第一种可能的实现方式、第二种可能的实现方式和第三种可能的实现方式中的任意一个,所述数据库连接配置信息包括:主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码及附加信息中的任意一个或多个。
第二方面,本发明实施例还提供了一种业务管理系统中业务单据创建装置,包括:
一个路径获取模块,用于获取开发人员输入的单据存储路径;
一个信息获取模块,用于获取开发人员按照预设数据格式输入的数据库连接配置信息;
一个表获取模块,用于根据所述信息获取模块获取到的所述数据库连接配置信息获取数据库中所存储表的表信息;
一个表筛选模块,用于确定所述开发人员根据所述表获取模块获取到的所述表信息确定出的至少一个目标表;
一个第一生成模块,用于根据预先设定的代码生成规则,基于所述表筛选模块确定出的所述至少一个目标表生成相对应的模型代码,其中,当所述模型代码被执行时可通过所述业务管理系统的前台展示相对应的目标业务单据;
一个代码存储模块,用于将所述第一生成模块生成的所述模型代码存储到所述路径获取模块获取到的所述单据存储路径。
在第一种可能的实现方式中,结合上述第二方面,该业务管理系统中业务单据创建装置进一步包括:指令接收模块和地址生成模块;
所述指令接收模块,用于接收所述开发人员输入的地址生成指令;
所述地址生成模块,用于在所述第一生成模块生成所述模型代码后,根据所述指令接收模块接收到的所述地址生成指令,生成对应于所述模型代码的统一资源定位符,其中,所述统一资源定位符用于在浏览器中打开所述目标业务单据。
在第二种可能的实现方式中,结合上述第二方面,该业务管理系统中业务单据创建装置进一步包括:
一个第二生成模块,用于生成至少一个用于对所述目标业务单据进行操作的单据操作代码,其中,不同的所述单据操作代码用于对所述目标业务单据进行不同类型的操作,所述单据操作代码用于对所述目标业务单据进行增加、删除、修改或查找操作;
一个按钮关联模块,用于分别将所述第二生成模块生成的每一个所述单据操作代码与所述业务管理系统的台前所展示的一个操作按钮相关联,其中,不同的所述单据操作代码与不同的所述操作按钮相关联,当一个所述操作按钮被触发后,与该操作按钮相关联的所述单据操作代码被执行;
一个第一插入模块,用于将所述第二生成模块生成的各个所述单据操作代码插入到所述模型代码中。
在第三种可能的实现方式中,结合上述第二方面,该业务管理系统中业务单据创建装置进一步包括:
一个代码获取模块,用于在所述代码存储模块将所述模型代码存储到所述单据存储路径之后,获取由所述开发人员编写的至少一个扩展功能代码,其中,当所述扩展功能代码被执行时可针对所述目标业务单据实现相应的扩展功能,且不同的所述扩展功能代码用于实现不同的所述扩展功能;
一个第一插入模块,用于分别将所述代码获取模块获取到的每一个所述扩展功能代码插入所述模型代码中相对应的位置。
在第四种可能的实现方式中,结合上述第二方面以及第二方面的第一种可能的实现方式、第二种可能的实现方式和第三种可能的实现方式中的任意一个,所述数据库连接配置信息包括:主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码等附加信息中的任意一个或多个。
由上述技术方案可知,通过预先设定代码生成规则,当开发人员需要在业务管理系统中创建业务单据时,开发人员仅需按照预设数据格式输入数据库连接配置信息,之后便可以根据开发人员输入的数据库连接配置信息连接相应的数据库,获取到数据库中所存储表的表信息,之后将所获得的表信息展示给开发人员进行选择,确定由开发人员选择出的至少一个目标表,之后根据代码生成规则基于各个目标表自动生成模型代码,所生成的模型代码被执行时可以通过业务管理系统的前台展示所需创建的目标业务单据,之后仅需将所生成的模型代码存储到开发人员所数据的单据存储路径便可以完成业务单据的开发工作。由此可见,通过预先设定代码生成规则,根据代码生成规则可以自动生成模型代码以在业务管理系统中实现相应的业务单据,在业务单据创建过程中开发人员仅需指定单据存储路径、输入数据库连接配置信息和选择目标表,而无需输入大量代码,从而能够降低开发人员在业务管理系统中创建业务单据的劳动强度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种业务管理系统中业务单据创建方法的流程图;
图2是本发明一个实施例提供的一种在模型代码中插入单据操作代码的方法的流程图;
图3是本发明一个实施例提供的一种业务管理系统中业务单据创建装置所在设备的示意图;
图4是本发明一个实施例提供的一种业务管理系统中业务单据创建装置的示意图;
图5是本发明一个实施例提供的另一种业务管理系统中业务单据创建装置的示意图;
图6是本发明一个实施例提供的又一种业务管理系统中业务单据创建装置的示意图;
图7是本发明一个实施例提供的再一种业务管理系统中业务单据创建装置的示意图。
具体实施方式
如前所述,当需要在业务管理系统中创建业务单据时,开发人员需要手动输入大量代码并建立视图与控制器之间的关联关系,手动输入代码需要开发人员重复繁琐的工作,手动建立视图与控制器之间的关联关系容易出错,所以开发人员需要耗费较多的精力对所建立的关联关系进行检查,因此目前在业务管理系统中创建业务单据的方法导致开发人员的劳动强度较大。
本发明实施例中,在开发人员输入单据存储路径并按照预设的数据格式输入数据库连接配置信息后,可以根据开发人员所输入的数据库连接配置信息获取数据库中所存储表的表信息,之后可以将获取到的表信息展示给开发人员进行筛选,进而确定出开发人员选出的至少一个目标表,之后便可以根据预先设定的代码生成规则基于各个目标表生成相对应的模型代码,并将所生成的模型代码存储到开发人员所输入的单据存储路径,而当模型代码被执行时可以通过业务管理系统的前台展示相对应的目标业务单据。由此可见,在业务管理系统中创建目标业务单据时,开发人员仅需执行输入单据存储路径和数据库连接配置信息等简单操作,并不需要输入大量代码,便可以基于开发人员所执行的简单操作自动完成业务单据的创建,从而能够降低开发人员开发业务单据的劳动强度。
下面结合附图对本发明实施例提供的业务管理系统中业务单据的创建方法和装置进行详细说明。
如图1所示,本发明一个实施例提供了一种业务管理系统中业务单据创建方法,该方法可以包括如下步骤:
步骤101:获取开发人员输入的单据存储路径;
步骤102:获取开发人员按照预设数据格式输入的数据库连接配置信息;
步骤103:根据数据库连接配置信息获取数据库中所存储表的表信息;
步骤104:确定开发人员根据表信息确定出的至少一个目标表;
步骤105:根据预先设定的代码生成规则,基于至少一个目标表生成相对应的模型代码,其中,当模型代码被执行时可通过业务管理系统的前台展示相对应的目标业务单据;
步骤106:将模型代码存储到单据存储路径。
在本发明实施例中,通过预先设定代码生成规则,当开发人员需要在业务管理系统中创建业务单据时,开发人员仅需按照预设数据格式输入数据库连接配置信息,之后便可以根据开发人员输入的数据库连接配置信息连接相应的数据库,获取到数据库中所存储表的表信息,之后将所获得的表信息展示给开发人员进行选择,确定由开发人员选择出的至少一个目标表,之后根据代码生成规则基于各个目标表自动生成模型代码,所生成的模型代码被执行时可以通过业务管理系统的前台展示所需创建的目标业务单据,之后仅需将所生成的模型代码存储到开发人员所数据的单据存储路径便可以完成业务单据的开发工作。由此可见,通过预先设定代码生成规则,根据代码生成规则可以自动生成模型代码以在业务管理系统中实现相应的业务单据,在业务单据创建过程中开发人员仅需指定单据存储路径、输入数据库连接配置信息和选择目标表,而无需输入大量代码,从而能够降低开发人员在业务管理系统中创建业务单据的劳动强度。
在本发明实施例中,该业务管理系统中业务单据的创建方法可以基于Python流程的Django框架实现,前端依赖bootstrap及相关插件。相应地,预先设定的代码生成规则为Python中的一系列代码模板,根据开发人员所输入的数据库连接配置信息和所选择出的目标表,可以自动生成具有相应功能的代码,将所生成的各个代码进行顺序组合便可以获得模型代码。
可选地,在图1所示业务管理系统中业务单据创建方法的基础上,在获取开发人员按照预设数据格式输入的数据库连接配置信息之前,还可以接收开发人员输入的地址生成指令。如果接收到开发人员输入的地址生成指令,在根据代码生成规则基于各个目标表生成相对应的模型代码之后,可以根据地址生成指令生成对应于模型代码的统一资源定位符,所生成的统一资源定位符用于在浏览器中打开目标业务单据。
在本发明实施例中,如果接收到来自开发人员的地址生成指令,则在生成模型代码之后可以生成对应于模型代码的URL,当浏览器转到所生成的URL时模型代码被执行,从而实现在浏览器中打开与模型代码相对应的目标业务单据。通过生成对应于模型代码的URL,可以方便地将目标业务单据集成到业务管理系统中,也可以方便地将目标业务单据集成到其他系统中,还可以直接在浏览器中打开目标业务单据,从而能够提高用户使用业务管理系统和目标业务单据的方便性。
在本发明实施例中,地址生成指令和单据存储路径可以一同由开发人员输入,除此之外开发人员还可以一同输入其他信息。比如,可以预先设计后台表结构,开发人员在创建业务单据时可以按照后台表结构输入地址生成指令、单据存储路径等信息,所设计的后台表结构如下表1所示。
表1
可选地,在图1所示业务管理系统中业务单据创建方法的基础上,在生成模型代码之后,可以先在模型代码中插入用于对目标业务单据进行操作的单据操作代码,之后再将插入有单据操作代码的模型代码存储到单据存储路径。如图2所示,在模型代码中插入单据操作代码的方法可以包括如下步骤:
步骤201:生成至少一个用于对目标业务单据进行操作的单据操作代码,其中,不同的单据操作代码用于对目标业务单据进行不同类型的操作,单据操作代码用于对目标业务单据进行增加、删除、修改或查找操作;
步骤202:分别将每一个单据操作代码与业务管理系统的台前所展示的一个操作按钮相关联,其中,不同的单据操作代码与不同的操作按钮相关联,当一个操作按钮被触发后,与该操作按钮相关联的单据操作代码被执行;
步骤203:将各个单据操作代码插入到模型代码中。
在本发明实施例中,在生成模型代码之后,可以自动生成用于目标业务单据进行不同操作的多个单据操作代码,并分别将每一个单据操作代码与业务管理系统前台所展示的一个操作按钮相关联,之后将所生成的各个单据操作代码插入到模型代码中,之后便可以将插入有单据操作代码的模型代码存储到单据存储路径。通过在模型代码中插入单据操作代码,当模型代码被执行而通过业务管理系统的前台展示目标业务单据时,用户通过触发前台所展示的操作按钮对目标业务单据进行相应的操作,由于单据操作代码也是自动生成的,无需开发人员输入大量代码,从而可以进一步降低开发人员创建业务单据时的劳动强度。
在本发明实施例中,所生成的单据操作代码可用于对目标业务单据进行增加、删除、修改和查找等操作,从而满足用户对目标业务单据进行操作的基本需求。
可选地,在图1所示业务管理系统中业务单据创建方法的基础上,在将模型代码存储到单据存储路径之后,还可以获取开发人员编写的至少一个扩展功能代码,并分别将每一个扩展功能代码插入到模型代码中相对应的位置,其中,扩展功能代码被执行时刻针对目标业务单据实现相应的扩展功能,而且不同的扩展功能代码用于实现不同的扩展功能。
在本发明实施例中,所生成的模型代码仅提供对目标业务单据进行增加、删除、修改和删除等简单的操作类型,如果用户需要针对目标业务单据进行其他类型的操作,此时开发人员可以根据用户的需求编写相应的扩展功能代码,并将所编写的扩展功能代码插入到模型代码中,之后用户便可以利用被插入到模型代码中的扩展功能代码对目标业务单据进行相应的操作。由于模型代码是自动生成的,开发人员仅需要根据用户的需求编写少量代码以实现用户对业务单据进行操作的需求,在满足用户需求的前提下尽可能减少了开发人员所需编写的代码。
可选地,在上述各个实施例所提供业务管理系统中业务单据创建方法的基础上,数据库连接配置信息可以包括主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码及附加信息中的任意一个或多个。
在本发明实施例中,开发人员输入主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码及附加信息等数据库连接配置信息后,根据数据库连接配置信息可以顺利连接至相应的数据库,并可以基于数据库连接配置信息自动生成模型代码,保证所生成模型代码的准确性。
在本发明实施例中,可以预先设计数据库连接配置信息的表结构,进而开发人员可以根据数据库连接配置信息的表结构来输入数据库连接配置信息,所设计的数据库连接配置信息的表结构如下表2所示。
表2
需要说明的是,从另一个角度说明在业务管理系统中创建业务单据的方法,可以包括如下步骤:
1)目解决方案创建。
支持多项目解决方案创建,能够自动创建不同项目对应的文档结构,同时支持虚拟环境的创建。
2)数据库连接配置。
一键配置数据库连接,通过工厂模式屏蔽底层数据库的差异。
3)基于模块化开发的App创建。
基于模块化项目管理思路,降低程序复杂度,方便项目调试维护。系统能自动在解决方案App文件夹内创建新的项目,并自动生成项目所需要的admin.py、apps.py、models.py、tests.py、urls.py、views.py。如果使用Django后台维护功能,系统能够同时维护后台配置信息。
4)模型Model创建。
根据数据库连接配置,系统能够自动获取数据库中对应的表和视图,用户选择需要创建Model的表或者视图后,系统能够自动根据后台表结构,生成对应的Model文件。
5)视图View创建。
根据生成的Model文件,系统能自动生成常见的表单格式。比如列表类型的表单(基于bootstrap-table)、卡片类型的表单(基于bootstrap)、树形结构的表单(基于bootstrap-treeview)等常见表单。
6)制器Controller创建。
自动创建控制器文件,并建立视图与模型的关联,同时支持Controller参数传递到View或者View参数传递到Controller。
另外需要说明的是,本发明实施例提供的业务管理系统中业务单据创建方法基于Python流程的Django框架、前端依赖bootstrap及相关插件,支持MVC框架格式,在低耦合度的分层结构设置,方便后期系统扩展能快速生成对应的模型、视图、控制器,支持主流数据库系统,支持主流操作系统(Windows、Linux、Mac)及移动端(Android、IOS)。
系统自动生成Django规范的项目结构,优化Django后台功能,用户无需自己扩展Django后台维护功能,系统一键自动生成相关配置信息并支持自定义修改。比如多行文本框字段,系统能自动扩展支持富文本编辑器。
能够自动完成MVC架构信息的创建。
在业务管理系统中创建业务单据方法的另一种表述可以包括如下步骤:
1)首先自动生成模型、视图、控制器信息;
2)其次根据生成的M、V、C文件,自动建立三者之间的关联关系。
3)最后自动扩展URL参数,完成URL的配置。
基于Python的跨平台性并得益于前端Bootstrap,系统能够支持主流操作系统及移动端。
如图3、图4所示,本发明实施例提供了一种业务管理系统中业务单据创建装置。业务管理系统中业务单据创建装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的业务管理系统中业务单据创建装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的业务管理系统中业务单据创建装置,包括:
一个路径获取模块401,用于获取开发人员输入的单据存储路径;
一个信息获取模块402,用于获取开发人员按照预设数据格式输入的数据库连接配置信息;
一个表获取模块403,用于根据信息获取模块402获取到的数据库连接配置信息获取数据库中所存储表的表信息;
一个表筛选模块404,用于确定开发人员根据表获取模块403获取到的表信息确定出的至少一个目标表;
一个第一生成模块405,用于根据预先设定的代码生成规则,基于表筛选模块404确定出的至少一个目标表生成相对应的模型代码,其中,当模型代码被执行时可通过业务管理系统的前台展示相对应的目标业务单据;
一个代码存储模块406,用于将第一生成模块405生成的模型代码存储到路径获取模块401获取到的单据存储路径。
在本发明实施例中,路径获取模块401可用于执行上述方法实施例中的步骤101,信息获取模块402可用于执行上述方法实施例中的步骤102,表获取模块403可用于执行上述方法实施例中的步骤103,表筛选模块404可用于执行上述方法实施例中的步骤104,第一生成模块405可用于执行上述方法实施例中的步骤105,代码存储模块406可用于执行上述方法实施例中的步骤106。
可选地,在图4所示业务管理系统中业务单据创建装置的基础上,如图5所示,该业务管理系统中业务单据创建装置进一步包括:指令接收模块407和地址生成模块408;
指令接收模块407,用于接收开发人员输入的地址生成指令;
地址生成模块408,用于在第一生成模块405生成模型代码后,根据指令接收模块407接收到的地址生成指令,生成对应于模型代码的统一资源定位符,其中,统一资源定位符用于在浏览器中打开目标业务单据。
可选地,在图4所示业务管理系统中业务单据创建装置的基础上,如图6所示,该业务管理系统中业务单据创建装置进一步包括:
一个第二生成模块409,用于生成至少一个用于对目标业务单据进行操作的单据操作代码,其中,不同的单据操作代码用于对目标业务单据进行不同类型的操作,单据操作代码用于对目标业务单据进行增加、删除、修改或查找操作;
一个按钮关联模块410,用于分别将第二生成模块409生成的每一个单据操作代码与业务管理系统的台前所展示的一个操作按钮相关联,其中,不同的单据操作代码与不同的操作按钮相关联,当一个操作按钮被触发后,与该操作按钮相关联的单据操作代码被执行;
一个第一插入模块411,用于将第二生成模块409生成的各个单据操作代码插入到模型代码中。
在本发明实施例中,第二生成模块409可用于执行上述方法实施例中的步骤201,按钮关联模块410可用于执行上述方法实施例中的步骤202,第一插入模块411可用于执行上述方法实施例中的步骤203。
可选地,在图4所示业务管理系统中业务单据创建装置的基础上,如图7所示,该业务管理系统中业务单据创建装置进一步包括:
一个代码获取模块412,用于在代码存储模块406将模型代码存储到单据存储路径之后,获取由开发人员编写的至少一个扩展功能代码,其中,当扩展功能代码被执行时可针对目标业务单据实现相应的扩展功能,且不同的扩展功能代码用于实现不同的扩展功能;
一个第一插入模块413,用于分别将代码获取模块412获取到的每一个扩展功能代码插入模型代码中相对应的位置。
可选地,在上述各个实施例所提供的业务管理系统中业务单据创建装置的基础上,所述数据库连接配置信息包括:主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码等附加信息中的任意一个或多个。
可以理解的是,本发明实施例示意的结构并不构成对业务管理系统中业务单据创建装置的具体限定。在本发明的另一些实施例中业务管理系统中业务单据创建装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明还提供了一种计算机可读介质,存储用于使一机器执行如本文所述的业务管理系统中业务单据创建方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
综上所述,本发明各个所述所提供的业务管理系统中业务单据创建方法和装置,至少具有如下有益效果:
1、在本发明实施例中,通过预先设定代码生成规则,当开发人员需要在业务管理系统中创建业务单据时,开发人员仅需按照预设数据格式输入数据库连接配置信息,之后便可以根据开发人员输入的数据库连接配置信息连接相应的数据库,获取到数据库中所存储表的表信息,之后将所获得的表信息展示给开发人员进行选择,确定由开发人员选择出的至少一个目标表,之后根据代码生成规则基于各个目标表自动生成模型代码,所生成的模型代码被执行时可以通过业务管理系统的前台展示所需创建的目标业务单据,之后仅需将所生成的模型代码存储到开发人员所数据的单据存储路径便可以完成业务单据的开发工作。由此可见,通过预先设定代码生成规则,根据代码生成规则可以自动生成模型代码以在业务管理系统中实现相应的业务单据,在业务单据创建过程中开发人员仅需指定单据存储路径、输入数据库连接配置信息和选择目标表,而无需输入大量代码,从而能够降低开发人员在业务管理系统中创建业务单据的劳动强度。
2、在本发明实施例中,如果接收到来自开发人员的地址生成指令,则在生成模型代码之后可以生成对应于模型代码的URL,当浏览器转到所生成的URL时模型代码被执行,从而实现在浏览器中打开与模型代码相对应的目标业务单据。通过生成对应于模型代码的URL,可以方便地将目标业务单据集成到业务管理系统中,也可以方便地将目标业务单据集成到其他系统中,还可以直接在浏览器中打开目标业务单据,从而能够提高用户使用业务管理系统和目标业务单据的方便性。
3、在本发明实施例中,通过在模型代码中插入单据操作代码,当模型代码被执行而通过业务管理系统的前台展示目标业务单据时,用户通过触发前台所展示的操作按钮对目标业务单据进行相应的操作,由于单据操作代码也是自动生成的,无需开发人员输入大量代码,从而可以进一步降低开发人员创建业务单据时的劳动强度。
4、在本发明实施例中,所生成的模型代码仅提供对目标业务单据进行增加、删除、修改和删除等简单的操作类型,如果用户需要针对目标业务单据进行其他类型的操作,此时开发人员可以根据用户的需求编写相应的扩展功能代码,并将所编写的扩展功能代码插入到模型代码中,之后用户便可以利用被插入到模型代码中的扩展功能代码对目标业务单据进行相应的操作。由于模型代码是自动生成的,开发人员仅需要根据用户的需求编写少量代码以实现用户对业务单据进行操作的需求,在满足用户需求的前提下尽可能减少了开发人员所需编写的代码。
5、在本发明实施例中,开发人员输入主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码及附加信息等数据库连接配置信息后,根据数据库连接配置信息可以顺利连接至相应的数据库,并可以基于数据库连接配置信息自动生成模型代码,保证所生成模型代码的准确性。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件模块可以通过机械方式或电气方式实现。例如,一个硬件模块可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件模块还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (10)
1.业务管理系统中业务单据创建方法,其特征在于,包括:
获取开发人员输入的单据存储路径;
获取开发人员按照预设数据格式输入的数据库连接配置信息;
根据所述数据库连接配置信息获取数据库中所存储表的表信息;
确定所述开发人员根据所述表信息确定出的至少一个目标表;
根据预先设定的代码生成规则,基于所述至少一个目标表生成相对应的模型代码,其中,当所述模型代码被执行时可通过所述业务管理系统的前台展示相对应的目标业务单据;
将所述模型代码存储到所述单据存储路径。
2.根据权利要求1所述的方法,其特征在于,
在所述获取开发人员按照预设数据格式输入的数据库连接配置信息之前,进一步包括:
接收所述开发人员输入的地址生成指令;
在所述根据预先设定的代码生成规则,基于所述至少一个目标表生成相对应的模型代码之后,进一步包括:
根据所述地址生成指令,生成对应于所述模型代码的统一资源定位符,其中,所述统一资源定位符用于在浏览器中打开所述目标业务单据。
3.根据权利要求1所述的方法,其特征在于,在所述基于所述至少一个目标表生成相对应的模型代码之后,且在所述将所述模型代码存储到所述单据存储路径之前,进一步包括:
生成至少一个用于对所述目标业务单据进行操作的单据操作代码,其中,不同的所述单据操作代码用于对所述目标业务单据进行不同类型的操作,所述单据操作代码用于对所述目标业务单据进行增加、删除、修改或查找操作;
分别将每一个所述单据操作代码与所述业务管理系统的台前所展示的一个操作按钮相关联,其中,不同的所述单据操作代码与不同的所述操作按钮相关联,当一个所述操作按钮被触发后,与该操作按钮相关联的所述单据操作代码被执行;
将各个所述单据操作代码插入到所述模型代码中。
4.根据权利要求1所述的方法,其特征在于,在所述将所述模型代码存储到所述单据存储路径之后,进一步包括:
获取由所述开发人员编写的至少一个扩展功能代码,其中,当所述扩展功能代码被执行时可针对所述目标业务单据实现相应的扩展功能,且不同的所述扩展功能代码用于实现不同的所述扩展功能;
分别将每一个所述扩展功能代码插入所述模型代码中相对应的位置。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述数据库连接配置信息包括:主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码及附加信息中的任意一个或多个。
6.业务管理系统中业务单据创建装置,其特征在于,包括:
一个路径获取模块,用于获取开发人员输入的单据存储路径;
一个信息获取模块,用于获取开发人员按照预设数据格式输入的数据库连接配置信息;
一个表获取模块,用于根据所述信息获取模块获取到的所述数据库连接配置信息获取数据库中所存储表的表信息;
一个表筛选模块,用于确定所述开发人员根据所述表获取模块获取到的所述表信息确定出的至少一个目标表;
一个第一生成模块,用于根据预先设定的代码生成规则,基于所述表筛选模块确定出的所述至少一个目标表生成相对应的模型代码,其中,当所述模型代码被执行时可通过所述业务管理系统的前台展示相对应的目标业务单据;
一个代码存储模块,用于将所述第一生成模块生成的所述模型代码存储到所述路径获取模块获取到的所述单据存储路径。
7.根据权利要求6所述的装置,其特征在于,进一步包括:指令接收模块和地址生成模块;
所述指令接收模块,用于接收所述开发人员输入的地址生成指令;
所述地址生成模块,用于在所述第一生成模块生成所述模型代码后,根据所述指令接收模块接收到的所述地址生成指令,生成对应于所述模型代码的统一资源定位符,其中,所述统一资源定位符用于在浏览器中打开所述目标业务单据。
8.根据权利要求6所述的装置,其特征在于,进一步包括:
一个第二生成模块,用于生成至少一个用于对所述目标业务单据进行操作的单据操作代码,其中,不同的所述单据操作代码用于对所述目标业务单据进行不同类型的操作,所述单据操作代码用于对所述目标业务单据进行增加、删除、修改或查找操作;
一个按钮关联模块,用于分别将所述第二生成模块生成的每一个所述单据操作代码与所述业务管理系统的台前所展示的一个操作按钮相关联,其中,不同的所述单据操作代码与不同的所述操作按钮相关联,当一个所述操作按钮被触发后,与该操作按钮相关联的所述单据操作代码被执行;
一个第一插入模块,用于将所述第二生成模块生成的各个所述单据操作代码插入到所述模型代码中。
9.根据权利要求6所述的装置,其特征在于,进一步包括:
一个代码获取模块,用于在所述代码存储模块将所述模型代码存储到所述单据存储路径之后,获取由所述开发人员编写的至少一个扩展功能代码,其中,当所述扩展功能代码被执行时可针对所述目标业务单据实现相应的扩展功能,且不同的所述扩展功能代码用于实现不同的所述扩展功能;
一个第一插入模块,用于分别将所述代码获取模块获取到的每一个所述扩展功能代码插入所述模型代码中相对应的位置。
10.根据权利要求6至9中任一所述的装置,其特征在于,
所述数据库连接配置信息包括:主键、数据库类型、数据库引擎、数据库名称、数据库所在主机标识、数据库对应端口号、数据库用户名、数据库密码等附加信息中的任意一个或多个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370616.3A CN111580794A (zh) | 2020-05-06 | 2020-05-06 | 业务管理系统中业务单据创建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370616.3A CN111580794A (zh) | 2020-05-06 | 2020-05-06 | 业务管理系统中业务单据创建方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111580794A true CN111580794A (zh) | 2020-08-25 |
Family
ID=72111953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010370616.3A Pending CN111580794A (zh) | 2020-05-06 | 2020-05-06 | 业务管理系统中业务单据创建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580794A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947990A (zh) * | 2021-03-23 | 2021-06-11 | 四川虹美智能科技有限公司 | 开发库创建方法、装置及计算机可读介质 |
CN116108819A (zh) * | 2022-10-27 | 2023-05-12 | 广州市扬海数码科技有限公司 | 一种erp管理系统单据自动生成方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853543A (zh) * | 2012-12-07 | 2014-06-11 | 北京云天时空科技有限公司 | 一种应用于企业信息系统开发过程中快速构建表单的方法 |
CN105183450A (zh) * | 2015-07-28 | 2015-12-23 | 武汉驼峰信息技术有限公司 | 一种前后台分离的电子政务表单模型配置化系统 |
CN108762743A (zh) * | 2018-05-23 | 2018-11-06 | 浪潮软件集团有限公司 | 一种数据表操作代码生成方法及装置 |
CN109656619A (zh) * | 2018-12-13 | 2019-04-19 | 重庆戴昂科技有限公司 | 低代码平台数据漫游配置系统 |
CN109885291A (zh) * | 2019-01-25 | 2019-06-14 | 深圳市元征科技股份有限公司 | 一种代码自动生成方法及代码自动生成器 |
CN111078213A (zh) * | 2018-10-18 | 2020-04-28 | 马上消费金融股份有限公司 | 一种代码生成方法及代码生成装置 |
-
2020
- 2020-05-06 CN CN202010370616.3A patent/CN111580794A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853543A (zh) * | 2012-12-07 | 2014-06-11 | 北京云天时空科技有限公司 | 一种应用于企业信息系统开发过程中快速构建表单的方法 |
CN105183450A (zh) * | 2015-07-28 | 2015-12-23 | 武汉驼峰信息技术有限公司 | 一种前后台分离的电子政务表单模型配置化系统 |
CN108762743A (zh) * | 2018-05-23 | 2018-11-06 | 浪潮软件集团有限公司 | 一种数据表操作代码生成方法及装置 |
CN111078213A (zh) * | 2018-10-18 | 2020-04-28 | 马上消费金融股份有限公司 | 一种代码生成方法及代码生成装置 |
CN109656619A (zh) * | 2018-12-13 | 2019-04-19 | 重庆戴昂科技有限公司 | 低代码平台数据漫游配置系统 |
CN109885291A (zh) * | 2019-01-25 | 2019-06-14 | 深圳市元征科技股份有限公司 | 一种代码自动生成方法及代码自动生成器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947990A (zh) * | 2021-03-23 | 2021-06-11 | 四川虹美智能科技有限公司 | 开发库创建方法、装置及计算机可读介质 |
CN112947990B (zh) * | 2021-03-23 | 2023-04-07 | 四川虹美智能科技有限公司 | 开发库创建方法、装置及计算机可读介质 |
CN116108819A (zh) * | 2022-10-27 | 2023-05-12 | 广州市扬海数码科技有限公司 | 一种erp管理系统单据自动生成方法及系统 |
CN116108819B (zh) * | 2022-10-27 | 2024-03-05 | 广州市扬海数码科技有限公司 | 一种erp管理系统单据自动生成方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857667B (zh) | 接口自动化测试方法、测试装置、测试设备及存储介质 | |
CN109951315B (zh) | 一种实现yang模型到内部模型映射的方法及系统 | |
CN102591654B (zh) | 一种基于ssh架构的代码生成器及方法 | |
EP4006721A1 (en) | Application program development and deployment method and apparatus, and computer readable medium | |
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
CN106802817A (zh) | SQLite数据库的升级方法及装置 | |
CN104035859A (zh) | 一种可视化自动测试方法及其系统 | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
CN111580794A (zh) | 业务管理系统中业务单据创建方法和装置 | |
CN111857810A (zh) | 一种前端开发文件创建方法、装置及电子设备 | |
CN102236573A (zh) | 用于类型化程序设计语言的名称绑定可扩展性 | |
CN116028047A (zh) | 一种基于自定义注解的页面快速生成方法 | |
CN111611441B (zh) | 异构数据的处理方法、装置以及计算机设备 | |
CN113268232B (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
CN108416035A (zh) | 一种基于disconf的数据库映射文件统一管理方法 | |
CN112860585A (zh) | 一种测试脚本断言生成方法及装置 | |
CN112685040A (zh) | 安卓系统中界面文件的生成方法、装置、设备及存储介质 | |
CN111562907A (zh) | 自定义接口数据的转换方法与系统 | |
CN114895880A (zh) | 代码生成方法、装置及计算机可读介质 | |
CN112394930A (zh) | 自动构建前端界面的方法、电子设备及介质 | |
CN114115982A (zh) | 代码发布方法、装置、设备及存储介质 | |
Kovše et al. | Eclipse plug-in for spin and st2msc tools-tool presentation | |
CN111580791A (zh) | 生成窗体的方法及装置 | |
CN111880799A (zh) | 取号客户端程序的生成方法、装置及可读介质 | |
CN111190921B (zh) | 一种超融合多功能序列号处理的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200825 |
|
RJ01 | Rejection of invention patent application after publication |