




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Teamcenter(UA)中實現(xiàn)歷史數(shù)據(jù)導(dǎo)入發(fā)表時間:2009-12-31 特約通訊員: 郭宇 來源:e-works關(guān)鍵字:Teamcenter Item 二次開發(fā) 歷史數(shù)據(jù)導(dǎo)入 PDM本文闡述了在Teamcenter(UA)上實現(xiàn)的一個比較通用的歷史數(shù)據(jù)導(dǎo)入工具的實現(xiàn)方法。通過Java Eclipse和POI技術(shù)實現(xiàn)了對歷史數(shù)據(jù)的分批導(dǎo)入。 PDM(Product Data Management)最重要的功能之一是實現(xiàn)企業(yè)業(yè)務(wù)流程的電子化,為了實現(xiàn)這個目標(biāo),我們必須保證各種
2、數(shù)據(jù)能夠存儲到PDM系統(tǒng)并且能很好得共享。其中包括了文檔、設(shè)計資料(二維三維圖紙)的存儲和共享。同時我們還需要實現(xiàn)企業(yè)業(yè)務(wù)流程的電子化乃至核心研發(fā)流程優(yōu)化再造,以規(guī)范企業(yè)的研發(fā)流程,幫助企業(yè)提高核心競爭力。 Teamcenter(UA)有良好的架構(gòu)和開發(fā)接口,我們可以通過客戶化為企業(yè)量身定做適合企業(yè)自身的業(yè)務(wù)工作流,滿足客戶的特殊需要。在PDM實施過程中系統(tǒng)上線前,企業(yè)歷史數(shù)據(jù)必須有步驟分批導(dǎo)入到一個全新的PDM系統(tǒng)以支持日常業(yè)務(wù)流程。本文闡述了在Teamcenter(UA)上實現(xiàn)的一個比較通用的歷史數(shù)據(jù)導(dǎo)入工具的實現(xiàn)方法。通過Java Eclipse和PO
3、I技術(shù)實現(xiàn)了對歷史數(shù)據(jù)的分批導(dǎo)入。一、實現(xiàn)原理 Teamcenter(UA)中的基本數(shù)據(jù)結(jié)構(gòu)是Item結(jié)構(gòu): 圖1. Item結(jié)構(gòu) Item是系統(tǒng)最基本的業(yè)務(wù)對象,Item Revision是版本對象,用來管理各個版本的數(shù)據(jù)。其中屬性表保存了版本的詳細(xì)屬性,包括了客戶化屬性;數(shù)據(jù)集(用DS縮寫)封裝了物理文件。Item對象還可以通過各種關(guān)系關(guān)聯(lián)其他的Item對象。 在實施過程中,我們通常會幫助企業(yè)整理一部分有價值的歷史數(shù)據(jù)作為PDM系統(tǒng)上線時的基礎(chǔ)和參考,比如標(biāo)準(zhǔn)件庫,有代表性
4、的機(jī)種等等。一般情況下,我們會把整理數(shù)據(jù)整理成Excel格式。所以要求歷史數(shù)據(jù)導(dǎo)入工具需要能夠分析Excel文件,并且在Teamcenter(UA)系統(tǒng)中創(chuàng)建上(圖1)中的數(shù)據(jù)結(jié)構(gòu)。對于最常用的數(shù)據(jù)導(dǎo)入要求,我把它分為三個主要的功能模塊進(jìn)行設(shè)計:· Item對象:逐個導(dǎo)入Item對象結(jié)構(gòu),包括Item、Item Revision、數(shù)據(jù)集以及他們的關(guān)聯(lián)關(guān)系圖2. 導(dǎo)入Item程序框圖· BOM對象:在導(dǎo)入Item對象結(jié)構(gòu)的基礎(chǔ)上再創(chuàng)建Bom結(jié)構(gòu),表達(dá)零部件Bom關(guān)系;圖3. 導(dǎo)入Bom程序框圖· Relation對象:導(dǎo)入若干Item對象之間的關(guān)系圖4.
5、 導(dǎo)入關(guān)系程序框圖 對于上述三種業(yè)務(wù)邏輯,可以把程序劃分為“Excel讀取”“數(shù)據(jù)創(chuàng)建”“驅(qū)動引擎”“導(dǎo)入日志”等模塊進(jìn)行設(shè)計:圖5. 模塊劃分二、關(guān)鍵技術(shù)1. 通用性設(shè)計 面對各個不同的類,如何把各種具有不同屬性的類導(dǎo)入到系統(tǒng)是導(dǎo)入工具設(shè)計的首要問題。為了解決這個問題,導(dǎo)入工具必須能讀取具有可變列的Excel表格。下面是導(dǎo)入程序應(yīng)有的一些重要邏輯:· 每個屬性都有標(biāo)示符,表示它屬于(圖1)中哪個類的屬性,是Item的還是DS的?· 當(dāng)讀取屬性名稱列,遇到空白列時,標(biāo)記這是列結(jié)尾。· 當(dāng)讀取到
6、行號為空的行時,標(biāo)記這是最后一行數(shù)據(jù)· 提供多種可選選項,配置導(dǎo)入后的一些后續(xù)動作。如:若同名DS存在是否覆蓋,若對象存在是否覆蓋?· 標(biāo)記Bom關(guān)系上的屬性,例如:單位、數(shù)量等等2. POI讀寫Excel技術(shù)· 導(dǎo)入必要的包 import org.apache.poi.hssf.usermodel.*;· 定義Workbook對象: public HSSFWorkbook wb = null;· 打開Excel工作簿
7、0; public boolean open(File in) FileInputStream filein = null; try filein = new FileInputStream(in); catc
8、h (FileNotFoundException e) e.printStackTrace(); return false; try wb = new HSSFWorkbook(filein); filein.close(); catch (IOExcept
9、ion e) e.printStackTrace(); return false; return true; · 讀取單元格 讀入字符串使用語句: cellval = wb.getSheetAt(isheet).getRow(iline).getCell(short)iro
10、w).getStringCellValue(); 讀入數(shù)字使用語句: celldval = wb.getSheetAt(isheet).getRow(iline).getCell(short)irow).getNumericCellValue();· 寫入單元格(按格式寫入) 寫入字符串: wb.getSheetAt(isheet).getRow(iline).getCell(short)irow).getStringCellVa
11、lue(字符串); 寫入數(shù)字: wb.getSheetAt(isheet).getRow(iline).getCell(short)irow).setNumericCellValue(數(shù)字);· 保存Excel工作簿 只需要保存新建workbook時輸入的FileInputStream就能保存文件: filein.close();3. 基于Eclipse Plugins的兩層Richclient二次開發(fā)
12、160; Teamcenter(UA)兩層Richclient是架構(gòu)在Eclipse平臺上的應(yīng)用系統(tǒng)。各部件是按照Eclipse Plugins插件方式嵌入到整個系統(tǒng)的。我們所要開發(fā)的歷史數(shù)據(jù)導(dǎo)入工具也作為一個插件被加載和運(yùn)行的。· 準(zhǔn)備好Eclipse開發(fā)環(huán)境· Eclipse的版本要求是3.2以上,推薦使用3.3 Jre版本要求在1.5.2.06以上 在Eclipse中新建一個插
13、件工程并導(dǎo)入必要的Teamcenter開發(fā)包(一些Jar文件) 在Eclipse中新建一個Plug-in Project圖6. 創(chuàng)建插件項目對話框 配置目標(biāo)平臺,指向Teamcenter(UA)安裝目錄的portal文件夾圖7. 配置Eclipse plug-in目標(biāo)平臺對話框· 在工具欄添加按鈕 修改plugin.xml文件,添加按鈕圖8. 加入工具欄菜單按鈕· 按鈕命令啟動歷史數(shù)據(jù)導(dǎo)入對話框 對于典型的二
14、次開發(fā),一個命令按鈕需要包括以下層次的類調(diào)用:命令按鈕動作位于CustomToolAction類(動作類)中,按鈕按下,觸發(fā)CustomToolCommand類(命令類),然后會啟動一個對話框(有些情況下不需要對話框),完成對話框UI的交互后,可能觸發(fā)一個后臺的動作,由CustomToolOperation類負(fù)責(zé)執(zhí)行。圖9. 對話框類的啟動· 用Java抽象類實現(xiàn)“驅(qū)動引擎”模塊中三種不同的業(yè)務(wù)類型 驅(qū)動引擎有很多相似的功能,零部件結(jié)構(gòu)是在Item導(dǎo)入完成后才導(dǎo)入到系統(tǒng)的,所以,ManagerBom繼承在ManagerItem之下。Ab
15、stractManager定義了三個抽象方法幫助分析數(shù)據(jù): public abstract boolean validateContent();對該行數(shù)據(jù)內(nèi)容進(jìn)行驗證 public abstract void initOptions();讀取導(dǎo)入選項 public abstract void getLine();讀取單行數(shù)據(jù)并格式化 AbstractManager還有一個Run()方法發(fā)起整個導(dǎo)入循環(huán)操作。圖10. 導(dǎo)入引擎抽象設(shè)計三、應(yīng)用實例1. 基本應(yīng)用 導(dǎo)入數(shù)據(jù)舉例:圖11. 導(dǎo)入數(shù)據(jù)格式· 導(dǎo)入工具界面:圖12. 導(dǎo)入工具界面· 導(dǎo)入效果舉例:圖13. 導(dǎo)入效果2. 壓力測試 本工具已經(jīng)通過了一定的壓力測試,在某國企重型機(jī)械單位,曾經(jīng)成功批量導(dǎo)入過最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國家用智能路由器項目創(chuàng)業(yè)計劃書
- 中國基于移動互聯(lián)網(wǎng)的LBS應(yīng)用項目創(chuàng)業(yè)計劃書
- 中國康復(fù)醫(yī)學(xué)項目創(chuàng)業(yè)計劃書
- 2025電工材料購銷合同范本
- 中國腦部掃描儀項目創(chuàng)業(yè)計劃書
- 中國高性能路由器項目創(chuàng)業(yè)計劃書
- 中國電子熱離子管項目創(chuàng)業(yè)計劃書
- 浙江飼料項目創(chuàng)業(yè)計劃書
- 建設(shè)工程施工協(xié)議合同
- 樂昌保安考試題目及答案
- A類業(yè)余無線電操作證題目
- 高考復(fù)習(xí)主題班會課件
- 新世界廣場冷卻塔隔音方案
- 耳鼻咽喉科臨床診療指南
- YSJ 007-1990 有色金屬選礦廠 試驗室、化驗室及技術(shù)檢查站工藝設(shè)計標(biāo)準(zhǔn)(試行)(附條文說明)
- 北京交通大學(xué)集成直流穩(wěn)壓電源的設(shè)計
- (完整word版)全國教育科學(xué)規(guī)劃課題申請書
- 新通用大學(xué)英語綜合教程2(第2冊)U3課后答案及課件(第三單元unit03)高等教育出版社
- 某區(qū)發(fā)展現(xiàn)代都市型農(nóng)業(yè)經(jīng)驗匯報材料農(nóng)業(yè)項目匯報材料.doc
- 五年級下冊語文第七單元復(fù)習(xí)(人物描寫復(fù)習(xí))(課堂PPT)
- 膠水化學(xué)品安全技術(shù)說明書(MSDS)
評論
0/150
提交評論