电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

多维编制的导入逻辑

来源:金蝶云社区作者:金蝶2024-09-223

多维编制的导入逻辑

【适用版本】

s-HR V8.6.1.2 及以上版本

【开发逻辑】

导入的处理类ImportInfoHandler,主要包含两块逻辑:导出Excel模板和导入Excel

1.导出Excel模板

下载模板的处理方法:downloadImportTemplateAction,组装参数:权限idurl参数,数据库模板信息,本地临时文件路径

2.核心处理类TemplateService

Excel模板生成其实调用TemplateServicegenerateExcelFile()方法

3.功能点一:动态添加列

动态添加列的处理在列初始化setExportTemplateFieldData

两个功能点:

根据具体的importService.getDynamicColumn添加动态列

可根据列属性ColumnIndex调整列的位置

ColumnIndex列排序的逻辑:

默认为-1,追加到列表末尾。

不为-1,直接插入到列表下标为columnIndex的位置。

4.功能点二:列数据填充

列数据填充的处理在也列初始化setExportTemplateFieldData

连接属性、枚举属性、boolean类型等的数据填充

默认值填充

默认值填充简单,重点关注一下连接属性、枚举属性、boolean属性填充,

需要设置列属性有连接实体||列属性isCludeData

获取填充数据逻辑在AbstractBaseImportService.getColumnSelectValue

5.功能点三:提供勾子方法,可对Excel做最后的处理

勾子方法在TemplateService.completeGenerateExcel中,

利用模板处理类importService.completeGenerateExcel可做最后的处理,默认空方法

6.小总结:

1、 importServicegetDynamicColumn()方法可以在导出模板中动态添加列。

2、 设置列属性的 连接实例或者isCludeDate,平台支持列属性数据的填充

枚举类型:填充枚举alias

Boolean类型:填充是,否

关联属性:如果存在名称重复,填充number##name,反之,填充name

3、 提供勾子方法,可对Excel做最终处理

简单时序图:在已有平台之上开发,只需要修改importservice的方法即可

【实际应用】

以开发编制概要为例:人力编制表的导出模板中列,需要根据定编维度变化。

概要一:根据定编维度动态添加列

概要二:定编维度列,需要填充下拉框数据

概要三:“是否包含下级”列需要“行政组织”列的后面

概要二中的截图:通过改变BaseColumnInfocolumnIndex属性调整列位置。

原始模板列表顺序是:0=是否包含下级,1=

多维编制的导入逻辑

【适用版本】s-HR V8.6.1.2 及以上版本【开发逻辑】导入的处理类ImportInfoHandler,主要包含两块逻辑:导出Excel模板和导入Excel1.导出E...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信