[发明专利]一种基于数据模型的通用数据录入方法、装置、设备和介质在审
申请号: | 202111668309.4 | 申请日: | 2021-12-31 |
公开(公告)号: | CN114510478A | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 黄家昌;林华;杨辉;邱道椿 | 申请(专利权)人: | 福建亿能达信息技术股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F40/18;G06F8/34 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 王美花 |
地址: | 350000 福建省福州市鼓楼*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据模型 通用 数据 录入 方法 装置 设备 介质 | ||
1.一种基于数据模型的通用数据录入方法,其特征在于:包括配置过程,数据导入过程,和可视化的增删改查过程;
所述配置过程是:提供一系列配置界面供用户指定数据源和通用录入对象表,确认表信息并配置表字段,所述配置表字段包括指明字段是否为空,是否为主键;用户配置完成后由后台执行保存,将配置信息添加至数据模型中;所述数据模型包括通用录入批次表、通用录入表字段、通用录入表信息,所述通用录入批次表和所述通用录入表字段中的对应录入表ID与所述通用录入表信息中的主键ID关联;
所述数据导入过程是:显示所述通用录入列表,供用户选择通过所述配置过程配置好的通用录入对象表,并进入该通用录入对象表的操作页面,由Apache POI工具对用户选择的Execl文件解析后进行如下数据导入过程:
S1、获取Execl文件的数据,并转为ListMap存放;
S2、进行数据合法性校验;
S3、进行主键校验;
S4、批量插入到数据库;
所述可视化的增删改查过程是:在所述通用录入对象表的数据操作页面上提供新增、删除、修改、查询的交互按钮,供用户直接进行增删改查操作。
2.根据权利要求1所述的一种基于数据模型的通用数据录入方法,其特征在于:所述后台在执行保存用户配置时,先执行初始化过程,即:
判断与所述通用录入对象表对应的业务表中是否存在一标识列作为每一条记录的唯一标识;
若是,结束初始化过程;
若否,则执行alter语句修改表结构,新增一记录标识列,并且使用数据库函数生成唯一的随机值;然后判断初始化是否成功,若是,结束初始化过程;若否,删除新增的唯一标识列以还原表结构,重新执行初始化过程。
3.根据权利要求1所述的一种基于数据模型的通用数据录入方法,其特征在于:所述数据导入过程中:
所述S1具体包括:
S11、MultipartFile类来接收前台传过来的excel文件,调用getInputStream方法将文件转换成输入流的形式读取excel文件的内容;
S12、通过getOriginalFilename方法获取文件的名字,根据名字的后缀创建Workbook对象,后缀为xls的则创建HSSFWorkbook对象,后缀为xlsx的则创建XSSFWorkbook对象;
S13、创建一个ArrayListMapString,Object类型的容器,将通用录入对象表中内容存放到容器中,获取Workbook对象的sheet,调用sheet对象的getRow方法获取指定行的数据;
其中,获取第一行的数据时,先将第一行的数据每一列的列名用有序集合List存放起来,作为之后ListMap容器中每一个Map的key,之后再遍历获取后续的每一行数据并存放到ListMap容器中,作为之后ListMap容器中每一个Map的value;
所述S2具体是:进行数据合法性校验,数据合法性校验分为为空字段合法性判断和数据类型、格式判断,其中需要使用正则表达式来对时间格式的字段进行和合法性校验;
所述S3具体是:插入每条数据前都先取出该条数据设置为主键的字段,将列描述转为列名,加上数据值,拼接好查询SQL语句,利用封装好的JDBC工具类直接执行查询SQL,查找是否存在主键相同的字段,不允许插入重复数据;
所述S4具体是:先给通用录入对象表增加一个导入批次标识字段,用于标识导入批次,之后每次插入操作都需要额外插入一个导入批次标识字段;在完成所述S1至所述S3后,将ListMap容器中存放的值拼接成批量插入的SQL语句,并使用JDBC工具类执行;在完成本次批量插入后,在所述通用录入批次表中对应增加一条记录,记录导入信息,并且和所述通用录入对象表中数据关联;
所述可视化的增删改查过程包括下述几种情况:
(1)当新增的操作按钮被触发,所述数据操作页面上新增一行文本框,供用户输入新增数据文本,由后台完成新增数据插库操作:当用户输入合法数据后并触发完成新增的事件时,获取该新增的行tr的所有的文本框内容,与列描述一一对应,以键值对的形式保存到数组,并转为json,之后执行ajax请求,将要新增的数据json与行记录ID传到后台,由后台判断该行记录ID是否为空,为空则执行新增操作,非空则执行更新操作;
后台获取到数据,将数据转为便于Java操作的ListMap,进行数据合法性校验,校验通过,将列描述转为列名,加上数据值,拼凑好插入sql,利用封装好的JDBC工具类执行Sql,完成新增记录插入数据库;
(2)当任一条记录删除的操作按钮被触发时,后台根据记录的FS_GENERAL_UUID删除该条数据,当批量删除的操作按钮被触发,则被选中的多条记录一并执行批量删除;
(3)当用户触发数据操作页面上的修改表格事件时,后台根据FS_GENERAL_UUID就能定位到要修改的数据记录,精准地对其进行修改操作;
(4)当用户触发数据操作页面上的查询事件时,在保存录入表或修改录入表时设置为查询的字段会在页面上展示查询框,并根据用户输入的条件进行查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建亿能达信息技术股份有限公司,未经福建亿能达信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111668309.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置