一种多表格类煤矿信息化系统快速开发方法与流程

文档序号:37410636发布日期:2024-03-25 18:59阅读:13来源:国知局
一种多表格类煤矿信息化系统快速开发方法与流程

本发明涉及软件开发,具体为一种多表格类煤矿信息化系统快速开发方法。


背景技术:

1、随着社会的进步,信息技术被越来越多的领域所应用,而互联网的发展使我国的企业也在向信息经济转变。随着经济全球化的到来,使他们在社会生产方式和经济管理方式上发生了质的转变。

2、由于信息化的普及,我国的煤炭企业也开始在企业内部实施信息化的进程,逐步建立煤炭企业的内部信息网。但是,煤矿企业信息化建设与其他行业相比,发展相对落后,建设力度不够,再加上煤矿企业员工学历不高,人员素质有高有低,尤其是高级管理人才和信息管理人才的相对匮乏,使得企业当前的信息化建设不得不依托于第三方来进行。而在信息化建设的过程中,一些可以通过传感器传输的信息可以自动上传生成报表,而有很大的一部分信息因传输协议的限制或是人为干预过多的原因,只能依靠纸质台账进行留存。这不仅造成了资源上的浪费,也给之后的项目统一管理带来了很大的阻碍。

3、因此,本发明提供了一种多表格类煤矿信息化系统快速开发方法,可以使信息化系统开发效率显著提升,进而起到加速煤矿信息化建设的作用。


技术实现思路

1、本发明为了解决现有技术的问题,提供了一种多表格类煤矿信息化系统快速开发方法。

2、为了解决上述技术问题,本发明是通过以下技术方案实现的:一种多表格类煤矿信息化系统快速开发方法,包括以下步骤:

3、步骤一:后端数据库字段属性读取:读取后端数据库的字段属性,并将这些属性存入公共键值对备用;

4、步骤二:后端构建统一的获取新增项、增、删、改、查接口:构建后端统一的接口,用于获取新增项、增加、删除、修改和查询数据;

5、步骤三:前端构建自适应多字段表格:构建前端自适应的多字段表格,并实现新增弹窗功能,新增弹窗能够通过后端返回的字段区分下拉框、数值、字符串、文件等类型,并使用不同的html元素进行呈现;

6、步骤四:服务开启伊始定义公共键值对:在服务开启时定义公共键值对,以表格页唯一标识为key值,以包含表格在数据库中的表名、表头、字段名、字段类型的类作为value值;

7、步骤五:使用sql语句在接口调用之前读取表属性:在接口调用之前,使用sql语句读取表的属性,将备注作为前端表格页面的表头,并根据查询结果的字段类型区分前端表格页面新增弹窗的html元素;

8、步骤六:判断公共键值对是否含有目标页面的唯一标识:在接口调用之前,判断公共键值对是否含有目标页面的唯一标识,有则说明该页面的数据库表相关属性已读取;

9、步骤七:定义区分前端表格页面新增弹窗html元素的字段属性枚举:在定义区分前端表格页面新增弹窗html元素的字段属性枚举时,包含数字、字符串、日期不带时刻(“yyyy-mm-dd”)、日期带时刻(“yyyy-mm-dd hh:mm:ss”)、文件、多文件等类型;

10、步骤八:在获取新增项、增、改、查等接口时判断并转换值:在获取新增项、增加、修改、查询等接口时,使用公共键值对内已完成赋存的字段属性键值对进行判断,按对应类型进行值转换,包括但不限于将下拉框类型的字段将选项值转换为选项描述、时刻(datetime)类型的字段转为符合“yyyy-mm-dd”或“yyyy-mm-dd hh:mm:ss”格式要求的字符串(string)。

11、优选的,所述步骤一中,后端数据库字段属性读取,并存入公共键值对备用,包括:

12、使用sql语句读取表属性,将字段名作为公共键值对内类的字段名,备注作为表头,类型则按字段类型存取键值对,即将公共键值对定义为:

13、

14、

15、以上提及的input字段类型,包括数字、字符串、日期不带时刻(yyyy-mm-dd)、日期带时刻(yyyy-mm-dd hh:mm:ss)、文件、多文件等类型,

16、在使用sql语句读取表属性的步骤中,包括:

17、mysql使用如下语句:

18、`show full columns from${表格在数据库中的表名};`;

19、sql server使用如下联合查询语句:

20、

21、

22、优选的,所述步骤二中,后端构建统一的获取新增项、增、删、改、查接口,包括:

23、构建上述接口之前,预先判断公共键值对中是否含有该请求页的唯一标识,作为判断是否完成数据库表属性在公共键值对中赋存的依据,

24、构建获取新增项的接口时,接收表格页唯一标识,输出数组,内容为字段名、表头、字段类型组成的类,即:

25、输入:state:表格页唯一标识

26、结果:[

27、{

28、field:字段名,与数据库表中的字段对应,

29、title:表头,与数据库表中的备注对应,

30、param:字段类型{

31、type:类型,用于区分前端html元素,

32、value:类型为下拉框时,选项实际值,

33、title:类型为下拉框时,选项描述

34、}

35、}

36、]

37、构建新增和修改接口时,接收表格页唯一标识、数组和文件数组,接收数组内容为新增内容的具体值,前端未填项用“empty”进行填充,其中文件数组内容为文件上传完成后返还的url地址数组,不涉及文件的表项可以不传入此参数,即:

38、输入:{

39、state:表格页唯一标识

40、content:[

41、新增内容的具体值

42、]

43、}

44、结果:新增数据成功的结果通知json

45、构建查询接口时,接收表格页唯一标识,使用公共键值对内已完成赋存的字段属性键值对进行判断,按对应类型进行值转换,包括但不限于将下拉框类型的字段将选项值转换为选项描述、时刻(datetime)类型的字段转为符合“yyyy-mm-dd”或“yyyy-mm-dd”格式要求的字符串(string),即:

46、switch(字段类型枚举):{

47、case“下拉框”:{

48、按选项值在数组中的索引值找到选项描述,并将该描述赋予结果

49、break;

50、}

51、}。

52、优选的,所述步骤二中,构建编辑或新增接口时,获取到字段名数组后抛出第一个值,即去除建表时创建的自增长标识。

53、优选的,所述步骤二中,构建编辑或新增接口时,用处理后的字段名数组长度与请求体中的数组长度做比较,以此来确认前端页面中是否有输入项,如若不符则返回前端“表格项未有修改”的消息。

54、优选的,所述步骤二中,构建编辑或新增接口时,筛选对应值不为“empty”的字段名,预先定义空值即“empty”对应的乱码值,以排除与比较值相同的冲突;而后遍历请求体的数组,将为“empty”的值替换为乱码值加索引的组合存入新数组,并将原字段名数组中的字段名替换为乱码值加索引的组合;遍历新数组,将原先字段名数组中包含新数组内项的数值项剔除,即:

55、tempprops为处理后的字段名数组,content为请求体的数组;

56、定义emptystr为代表空值的乱码值,如“83159860-ade5-11ed-b82d-9fc9ae9f46b6”;

57、定义emptyarr为存储乱码值的数组;

58、定义realvalues为实际值数组;

59、for(let i=0;i<content.length;i++)//遍历请求体中的数组

60、{

61、if(content[i]==”empty”)

62、{

63、//原先字段名数组中对应的值替换为乱码值加索引的组合

64、tempprops[i]=emptystr+i.tostring();

65、//emptyarr加入乱码值加索引的组合

66、emptyarr.push(tempprops[i]);

67、}else{

68、//将请求体中不为“empty”的值添加到实际值数组

69、realvalues.push(content[i]);

70、}

71、}

72、emptyarr.foreach(e=>{//遍历新数组

73、tempprops.splice(tempprops.indexof(e),1);

74、//将原先字段名数组中包含新数组内项的数值项剔除

75、})。

76、优选的,所述步骤二中,构建新增接口时,将筛选之后的字段名数组转换为字符串,并将该字符串拼接为用于新增的sql语句,即:

77、`insert into数据库表名(筛选后的字段名数组.join(','))values(实际值数组)`;。

78、优选的,所述步骤二中,构建编辑接口时,将筛选之后的字段名数组遍历与实际值拼接,并将该字符串作为编辑的sql语句,即:

79、tempprops为字段名数组,realvalues为实际值数组

80、定义updatestr为更新语句片段

81、for(let i=0;i<tempprops.length;i++)

82、{

83、if(i==tempprops.length-1)//判断是否为数组末位

84、{

85、//按“字段名=实际值”的格式进行拼接

86、updatestr+=`${tempprops[j]}='${realvalues[j]}'`;

87、}else{

88、//若非末位,则拼接入“,”分隔符

89、updatestr+=`${tempprops[j]}='${realvalues[j]}',`;

90、}

91、}

92、数据库语句则为:

93、`update数据库表名set更新语句片段where id=编辑项唯一标识`。

94、优选的,所述步骤三中,前端构建自适应多字段表格,并实现新增弹窗,能够通过后端返回的字段区分下拉框、数值、字符串、文件等类型,且将不同类型选用不同的html元素进行呈现,包括:

95、使用jquery通用表格,并通用单选、多选、分页方法,以及导出excel功能,在编辑和新增的功能开发时,使用根据内容元素个数自适应高度的弹窗,并根据服务端返回的字段类型,将html元素实现为数字输入框、字符串输入框、下拉框、日期选择器、文件选择器等。

96、本发明的有益效果为:

97、1.简化了构建表格类页面业务时的开发逻辑,快速实现18个表格之多的增、删、改、查需求,使得开发人员本身只需关注水害感知数据联网项目中的上传、断线续传的逻辑,而无需再把注意力放在数据源的收集和管理上。中间件的开发量也会因此减少,提高代码的复用率,显著提升系统的开发效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1