要使用平台导入导出功能。首先要在平台中注册导出导入模板。在平台导航页面中的平台设置找到数据导入导出模板管理。
如下图所示:
1导入导出模板注册
进行导入导出模板注册,(红框内设计到列名建议用大写)。平台通用导入导出数据都是按照字符串处理。如果需要类型转换创建中间表在验证过程里进行数据类型的转换或者视图在触发器中进行类型转换。
如下图所示:
模板信息各个属性名称的解释:
来源对象:导入操作数据要写入的数据库表或试图(如果是视图必须是可编辑视图)
对象主键:主键列,导出SQL中的一列,此列可以唯一标示一条记录用来更新数据,如果为空则只执行插入操作不做更新操作
标记列:要导入数据对象一列,数据导入的时候会在此列写入一个批次码,标示出此表中哪些数据是此次导入操作过的。
验证类型:对导入数据进行验证可实现方法,有存储过程,Java方法以及Web服务。
存储过程:packagename.procedurename 包名可以没有。存储过程必须符合如下要求
存储过程必须有四个参数 tag_id,template_code,flag,msg
前两个是输入参数,后两个是输出参数。
tag_id输入为导入来源对象中数据标示列所写入的批次ID。
template_code 输入为模板编码
flag输出 0标示数据校验成功1标示失败。
msg输出为提示信息
Java方法:packagename.classname.methodname
Java方法必须为实例方法,方法有两个固定字符串参数。返回值必须为字符串
tag_id 为导入来源对象中数据标示列所写入的批次ID。
template_code为模板编码
返回值格式<result><flag>0</flag><msg></msg></result>
flag 0成功1失败,msg为提示内容
Web服务:http://ip:port/webproject/webserviceName?wsdl.methodname
方法有两个固定字符串参数。返回值必须为字符串
tag_id 为导入来源对象中数据标示列所写入的批次ID。
template_code为模板编码
验证名称:验证过程里可以向表xip_pub_io_log表写入日志此表有四列必须录入值log_id,tag_id,msg,creation_date,其中log_id为主键使用UUID,tag_id为导入是传入验证过程里的tag_id,msg为日志信息,creation_date为写入日志的当前时间。写完日志要提交或者用独立事物写日志。
操作标记:确定是否在导入数据时候操作列,如果设置是
(creation_date created_by last_update_date last_updated_by)
必须确认来源对象中包括括号中的4列。否则会报错。
执行SQL:导出数据要执行的SQL,建议SQL中的列名都用大写,不要使用中文列名或别名。SQL中可以使用参数${paramName}以此格式在SQL中书写。在执行SQL前会将SQL中的参数替换成所传入的参数值。例如 where emp_name like ‘%${empName}%’,在调入导入Except方法的时候要以Json形式传入参数值{empName:’张’}注意Json中的参数名必须与SQL中的一致,严格区分大小写。
2业务界面实现导出导入
想要在平台中使用导入导出方法,基于Web Builder或Extjs4.1开发界面,可以通过引入/platform/util/platformUtil.js文件。
在module中的jsFiles属性中配置js文件。
如下图所示:
导出实现
方法:exportExcel(templateCode, sqlParams)
参数:templateCode 模板编码(平台中注册的模板编码)
sqlParams 参数值Json。格式如{empName:’张’},这里传入的参数不能少于SQL中的参数.
导入实现
方法:importExcel(templateCode)
参数:templateCode模板编码(平台中注册的模板编码)
导入成功会在日志中显示日志信息。
如下图所示:
转载请注明:兴竹集成开发平台 » 平台数据导入导出模板使用