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

使用001信息集扩展开发自定义员工页签数据导入

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

使用001信息集扩展开发自定义员工页签数据导入

使用001信息集扩展开发自定义员工页签数据导入.pptx

【适用版本】 

s-HR V8.5及以上

【应用场景】 

使用001信息集扩展开发自定义员工页签数据导入

概述

内容

• 单行页签和多行页签实体的建立

• 数据源导入模板的配置

• 代码逻辑的编写

预期目标

• 掌握数据源导入的基本原理

• 能够实现自定义的数据源导入

单行页签和多行页签实体的建立

一、单行页签实体的建立

对于单行页签的建立,新建实体的时候父实体选择:com.kingdee.eas.hr.base.app.EmpInfoSinglePage

二、多行页签实体的建立

对于多行页签的建立,新建实体的时候父实体选择:com.kingdee.eas.hr.base.app. EmpInfoMultiPage

原因

• 多行页签父类里面有多行页签共有校验逻辑,继承多行页签无需重写这些逻辑,能够与标准产品逻辑保持一致。

• 单行页签父类虽然没有加校验逻辑,但是以后是可能填加的,继承它,可以保证与标准产品逻辑保持一致。

说明

• 本节我们以多行页签实体导入为例,多行页签实体的导入逻辑包含单行页签,掌握了多行页签导入的话,单行页签的逻辑就很简单了,单行页签这里不在详细讲解。

三、字段添加

一、为了方便讲解,在PersonMultiDemo实体上添加了几个字段,如下图所示:

二、com.kingdee.shr.custom.app.R_PersonMultiDemo_Occupation实体关系如下:

数据源导入模板的配置

说明

• 字段添加完成以后,实体导出表,以及实体校验发布和导出sql语句前面老师已经讲过,这里不再详细讲解,实体发布,相关表建好以后,下面说明一下数据源导入模板的配置。

• 数据源导入与实体导入的原理是不一样的,数据源导入是基本结构配置和查询配置实现的,因此在配置数据源模板之前,我们首先需要配置结构配置和查询配置。

一、结构配置

注意:实体继承com.kingdee.shr.base.syssetting.app.SHRBaseItem的,结构配置中的基础数据必须勾选为是

二、查询配置

首先需要在查询配置列表界面增加一个新的信息集

点击图中创建按钮出现查询配置信息集界面

注意新增字段的时候要注意一下字段对应的实体是否正确,点击保存按钮,查询配置完成。

三、模板配置

四、新建实现类

模板配置完成以后,就可以在对应的uipk页面下载模板,如下图所示:

点击其他信息导入,会弹出导入任务窗口,如下图所示:

点击图中的模板下载按钮,会列出与该页面uipk绑定的已经启用的模板,如下图所示:

点击图中的配置的多行页签演示模板下载,会报错,如下图所示:

图中的报错很容易理解,我们没有对应的实现类,因此需要新建一个实现类。

打开eclipse,按照模板配置的实现类新建,如下图所示:

注意:实现继承平台com.kingdee.shr.base.syssetting.app.io.fileImport.BaseImportService点击图中按钮,如图所示:

在父类选择框选择对应的实现类,点击OK,然后点击Finish,新建类完成。

补充说明:实现类新建以后,重启服务,下载模板已经没有问题。关于数据源导入,模板下载逻辑无需编写,平台逻辑已经满足需求。我们只要讲解导入的编写逻辑。

代码逻辑的编写

一、复写基类的数据源导入方法。

数据源导入我们首先需要复写平台的数据源导入方法。

说明

• 基类的importDataSource(BaseRowInfo row)方法不满足要求,这里我们需要复写。

• DynamicModelHelper大家需要注意其全路径,import类的时候会看到两个名称一样的类,需要        import com.kingdee.shr.base.syssetting.app.io.fileImport.DynamicModelHelper,不要搞混。

• DynamicModelHelper是数据源导入的主要逻辑处理类,其作用有:

(1) 根据导入模板表格信息拿到全部涉及实体信息。

(2) 根据实体信息判断当前导入类型【多行导入、单行导入】。

(3) 若涉及多行导入时,若主实体是员工,则根据员工配的置主键查询是否存在,若不存在则导入结束。

(4) 根据模板配置主键字段去数据库中查找已存在对象实体;若是选择更新导入,但有实体未查找到,则此行导入结束;若新增导入时,若实体查找到不为空,则提示错误,导入结束;新增导入时,创建空对象实体。

(5) 将上一步的处理得出的实体与导入行填写数据进行赋值。

(6) 将需要保存的实体返回给业务领域,由业务领域处理保存逻辑

二、设置主实体ID

说明

• 根据员工编码和员工名称获取PersonInfo对象的代码相对容易理

使用001信息集扩展开发自定义员工页签数据导入

使用001信息集扩展开发自定义员工页签数据导入.pptx【适用版本】 s-HR V8.5及以上【应用场景】 使用001信息集扩展开发自定义员工页签数据...
点击下载文档文档为doc格式

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

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