NC单据期初数据从Excel导入

Excel数据导入说明

一、实现原理

通过Excel和配置文件建立NC数据项的对应关系,然后将Excel里面的数据组织成VO,最后将VO保存到数据库中。单据的主表数据和子表数据是分别导入的,也就是说需要单据上增加两个按钮,如果是多子表,则需要单据上增加多个按钮,将子表数据需要分别导入。

二、使用步骤:

1打Excel导入功能的通用补丁,部署plh模块的EJB

2创建NC单据数据项的配置文件

2.1配置文件路径

配置文件为xml格式,需要放在固定的路径下:nchome_ccppgcbjt\resources\cmconfig\file_export_import\。

2.2配置文件节点说明

l  Ufinterface 根节点,属性roottag:导入数据的数据库表名。属性:headClass:对应的单据VO,如果是导入的主表数据则填写表头VO,如果是字表则为表体VO。属性:excelColumnLineNum:在Excel中的第几行为表头字段,如下图则为1。

l  Column为数据列的配置节点

Column的子节点为数据列需要设置的属性。

l  excel_column:对应Excel表里面的列名称。

l  field:对应VO里面的字段。

l  nullallowed:是否允许为空。

l  datatype:NC的数据类型,如日期为:UFDate。

l  pkfield:设置为field相同值。

l  ref:如果为参照,则输入参照的名称,注意,这里的参照需要从表bd_bdinfo中找,其中的bdname作为这里的参照名称。

l  trantype:翻译类型,当Excel中的某一列为参照时,需要将值翻译为PK值,这里支持两种方式code和name。也就是说,excel可以放参照的编码也可以放参照的名称,例如部门,excel的值可以是“001”,也可以是“销售部”。

l  table:默认为head,不需要修改。

3在NC单据增加的按钮上实现导入的业务逻辑

       3.1创建ImportDataFromExcel类的实例

                       需要在调用的单据UI的包下面创建ImportDataFromExcel类的实例,例如创建类importPsnFromExcelextends ImportDataFromExcel。

3.2 UI事件调用

importPsnFromExcel importHeadData = new importPsnFromExcel(this.clientUI,"P1"); importHeadData.ImportHeadData("P2");

其中:P1参数为单据编号字段,P2为xml配置文件名称。

如果单据有特殊的数据验证或者单据的VO不继承supervo,则在ImportDataFromExcel类的实例中重写ImportHeadData方法,以及VO的保存方法importExceltopinv。

 

补丁代码:我的资源:“单据UI按钮导入Excel数据”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值