Teamcenter(UA)中实现历史数据导入

搜论文-编辑:admin-

Teamcenter(UA)中实现历史数据导入

摘 要:在PDM系统的实施阶段,必须把企业的历史数据导入到这个系统。这些历史数据凝结了企业的知识,是PDM初始环境必不可少的一部分。本文阐述了基于Teamcenter(UA)的历史数据导入工具的设计原理与过程。

关键词:PDM;Teamcenter(UA);数据导入;POI;Eclipse

  Teamcenter(UA)有良好的架构和开发接口,我们可以通过客户化为企业量身定做适合企业自身的业务工作流,满足客户的特殊需要。在PDM实施过程中系统上线前,企业历史数据必须有步骤分批导入到一个全新的PDM系统以支持日常业务流程。本文阐述了在Teamcenter(UA)上实现的一个比较通用的历史数据导入工具的实现方法。通过Java Eclipse和POI技术实现了对历史数据的分批导入。
一、 实现原理
    Teamcenter(UA)中的基本数据结构是Item结构:
    Item
      --Item Revision (版本对象)
            --IR Form(属性表)
            --Data sets(数据集)
  Item是系统最基本的业务对象,Item Revision是版本对象,用来管理各个版本的数据。属性表保存了版本的详细属性;数据集封装了物理文件。
  在实施过程中,我们通常会帮助企业整理有价值的历史数据作为PDM系统上线时的基础和参考,比如标准件库,有代表性的机种等等。一般情况下,我们会把整理数据整理成Excel格式。所以要求历史数据导入工具需要能够分析Excel文件,并且在Teamcenter(UA)系统中创建上述数据结构。对于最常用的数据导入要求,我把它分为三个主要的功能模块进行设计:
* Item对象:逐个导入Item对象结构,包括Item、Item Revision、数据集以及他们的关联关系
* BOM对象:在导入Item对象结构的基础上再创建Bom结构,表达零部件Bom关系;
* Relation对象:导入若干Item对象之间的关系
  对于上述三种业务逻辑,可以把程序划分为“Excel读取”“数据创建”“驱动引擎”“导入日志”等模块进行设计:

二、 关键技术
1. 通用性设计
  为了使导入工具能处理尽量多种类型的数据源,它必须有以下特点:
* 每个属性都有标示符,表示它属于哪个类的属性,是Item的还是DS的?
* 当读取属性名称列,遇到空白列时,标记这是列结尾。
* 当读取到行号为空的行时,标记这是最后一行数据
* 提供多种可选选项,配置导入后的一些后续动作。如:若同名DS存在是否覆盖,若对象存在是否覆盖?
* 标记Bom关系上的属性,例如:单位、数量等等
* 导入后能把所有权更改成另一用户,能添加发布状态
2. POI读写Excel技术
* 导入必要的包
import org.apache.poi.hssf.usermodel.*;
* 定义Workbook对象:
public HSSFWorkbook wb = null;
* 打开Excel工作簿
wb = new HSSFWorkbook(filein);
* 读取单元格
读入字符串使用语句:
getStringCellValue();
读入数字使用语句:
getNumericCellValue();
* 写入单元格(按格式写入)
写入字符串:
setStringCellValue(字符串);
写入数字:
setNumericCellValue(数字);
* 保存Excel工作簿
只需要保存新建workbook时输入的FileInputStream就能保存文件:filein.close();
3. 基于Eclipse Plugins的两层Richclient二次开发
  Teamcenter(UA)两层Richclient是架构在Eclipse平台上的应用系统。各部件是按照Eclipse Plugins插件方式嵌入到整个系统的。我们所要开发的历史数据导入工具也作为一个插件被加载和运行的。
* 准备好Eclipse开发环境
* Eclipse的版本要求是3.2以上,推荐使用3.3
* Jre版本要求在1.5.2.06以上
* 在Eclipse中新建一个插件工程并导入必要的Teamcenter开发包(一些Jar文件)
在Eclipse中新建一个Plug-in Project
* 在工具栏添加按钮,修改plugin.xml文件,添加按钮命令按钮。
三、 应用实例
  本工具已经通过了一定的压力测试,在某国企重型机械单位,曾经成功批量导入过最多5300多行的数据,服务器配置为2CUP*3.2G ;内存4G。每分钟平均导入98条数据。在三天之内帮助企业把三十几个机型的产品结构全部录入Teamcenter(UA)系统。
四、 小结
  如上所述,在对历史数据导入逻辑的抽象和泛化的基础上,运用Java、Eclipse、POI、Excel宏等多种技术对Teamcenter(UA)进行客户化开发,实现了通用格式对象导入功能。在这个功能的辅助下,我们能够很好的导入必要的历史数据,为PDM系统上线做好铺垫。
参考文献
. 2007