常用开发大全演示文稿(共283张PPT).pptx

上传人:小飞机 文档编号:1766464 上传时间:2022-12-17 格式:PPTX 页数:284 大小:4.57MB
返回 下载 相关 举报
常用开发大全演示文稿(共283张PPT).pptx_第1页
第1页 / 共284页
常用开发大全演示文稿(共283张PPT).pptx_第2页
第2页 / 共284页
常用开发大全演示文稿(共283张PPT).pptx_第3页
第3页 / 共284页
常用开发大全演示文稿(共283张PPT).pptx_第4页
第4页 / 共284页
常用开发大全演示文稿(共283张PPT).pptx_第5页
第5页 / 共284页
点击查看更多>>
资源描述

《常用开发大全演示文稿(共283张PPT).pptx》由会员分享,可在线阅读,更多相关《常用开发大全演示文稿(共283张PPT).pptx(284页珍藏版)》请在三一办公上搜索。

1、常用开发大全演示文稿(共283张PPT),常用开发大全演示文稿(共283张PPT),开发规范,JAVA开发规范,请遵守sun标准Windchill开发规范由于将来系统生产环境是Cluster架构,所以在编写代码时,要尽量避免使用Static的Class变量,测试环境配置多个Method Server,以防止编写的代码在Cluster环境中运行出现问题。系统运行的错误信息,要显示在UI界面上,以便用户和系统管理员了解,同时需要在系统log中记录。Debug语句要有开关控制,避免直接使用打印,导致将来的生产环境产生大量日志。每个客制点之间,设定一个Debug开关,方便自身模块的调试。Debug的开

2、关,缺省值设置为false。客制点之间的输入和输出部分,需要输出Debug信息,方便客制点之间的调试。工作流中的表达式,具体实现,都写在WfUtil中,只在工作流中调用WfUtil中的方法。WfUtil中的方法注释中,需要说明该段代码,将在那些workflow中被调用。系统OOTB配置部分通过XML配置文件交付。方便新系统可以直接通过LoadFileSet导入配置。系统内部值,例如IBA,全部由英文字母和数字组成,不能包含特殊字符。禁止反编译系统OOTB的Class文件,然后在此基础上修改做客制,导致系统无法升级。需要对出厂文件(HTML template等)修改时,需要保存原出厂文件的备份在

3、wtSafeAreaptcOrig目录下,修改后的文件另存到wtSafeAreasiteMod目录需要增加的properties属性不要放置在wt.properties中(service的注册除外),其他都放置在codebasecomitbgext.properties。客制的新增Class文件放置在codebasecomitbg对应的目录下。不要放在系统原有的包中。(除非使用了系统原有的Protected Method,这种用法要尽量避免).,第2页,共283页。,开发规范JAVA开发规范,请遵守sun标准第2页,共283页,设计规范,设计规范之建模仅对持久化对象建模 只有数据需要保存到数据

4、库中的持久化业务对象才允许进行建模。其余的操作类(例如:Processor、Delegate、Helper类等) 不被允许进行建模。模型命名规则对象的名称、属性名称、方法名称应该满足命名规则,同Java编码规范的类命名、变量命名和方法命名。 例如:类名 TRApplyDoc 属性名trPhase 方法名getFormData 说明: 的模型如果要更改将要做数据迁移。因此只要求对新建立的模型, 模型不做要求。,第3页,共283页。,设计规范设计规范之建模第3页,共283页。,设计规范,字段扩展 对于对象的属性,一般情况下采用默认长度。建模时要求考虑属性长度是否符合要求,如果需要加大长度,在模型中

5、设置相应的值即可。选择父类 对于建模,尽量继承底层的Windchill类,例如:ManagedItem等,继承上层的具有实际业务含义的Windchill类(例如:WTPart、WTDocument)时,在业务上符合“是一个(As -is)”的含义,例如:EleadPart是一个WTPart不预留属性 对象建模,不预留属性。对于已有对象的预留属性,因属性名称业务含义,也不允许使用。 模型已预留的属性不做要求。 例如:不再使用以前建模留下的reserv1、reserv2等预留属性,第4页,共283页。,设计规范字段扩展第4页,共283页。,设计规范,关联关系 两个对象关联时,需要使用模型的关联关系

6、。尽量不要采用建模为两个独立对象,在一个对象的属性中记录另一个对象的某个标志属性的方式。 例如: 错误的建模方法:CBBCounter类有一个属性cbbNumber,记录CBB的编码。 正确的建模方法:引入一个Link对象,记录CBBCounter类和WTPartMaster类的关系。布局 类图中尽量保证各部分分布均匀,连线尽量不要交叉,整个类图能够显示在一个屏幕范围之内(标准1024*768分辨率),对于引用的其他包的类、接口,可以将其属性、方法隐藏起来。避免占用过大的显示空间。,第5页,共283页。,设计规范关联关系第5页,共283页。,建模搭建环境,进入到Windchill+Inform

7、ation+Modeler-091_F000lRational_Rose_for_Windowssetup.exe安装安装完成之后,load注册文件进入到WT_HOMEroseAddIn,将和文件中的路径修订为个人本机环境的路径并注册,第6页,共283页。,建模搭建环境进入到Windchill+Informatio,建模搭建环境,启动rose,点击“Edit Path Map”查看注册信息,第7页,共283页。,建模搭建环境启动rose,点击“Edit Path Map,Rose模型介绍,打开Rose模型,点击FileOpen选择srcwtWTdesigner.mdl,第8页,共283页。,R

8、ose模型介绍打开Rose模型,点击FileOpen第8,Rose模型使用,点击【是】,系统会加载其中Logical View是系统核心 逻辑显示,其中3rd是Windchilll 中使用了哪些Java技术模块、ext 是系统客制化扩展模型目录、wnc是Windchill核心业务逻辑组成点击Save AS,重新命名为HelloWorld.mdl文件,弹出框选择No,环境搭建好后,即可创建模型,第9页,共283页。,Rose模型使用点击【是】,系统会加载第9页,共283页。,扩展模型,第10页,共283页。,扩展模型第10页,共283页。,模型扩展(续),针对上面的图示,自定义个模型EleadD

9、ocs,继承WTDocument,该模型自定义方法getEleadDocName()和属性eleadDocType,且将其属性设置constrain=false,点击保存(遇到提示,点击No)选择菜单Units.Control docs,保存为docs.cat,第11页,共283页。,模型扩展(续)针对上面的图示,自定义个模型EleadDocs,模型扩展(续),生成系统文件,选中docs包,第12页,共283页。,模型扩展(续)生成系统文件,选中docs包第12页,共283,模型扩展(续),生成系统文件.mData和EleadDocs.java文件在src目录下自动生成包路径和文件 docs.

10、mData和EleadDocs.java,第13页,共283页。,模型扩展(续)生成系统文件.mData和EleadDocs.,模型扩展(续),系统会自动生成SQL【WT_HOME】dbsql3exteleaddocs生成.ser文件【WT_HOME】codebaseexteleaddocs执行SQL语句进入到 Oracle SQL*Plus路径,执行命令:操作完成之后,即可使用EleadDocs对象了!,第14页,共283页。,模型扩展(续)系统会自动生成SQL【WT_HOME】db,模型扩展(续),第15页,共283页。,模型扩展(续)第15页,共283页。,模型扩展(续),完整的例子说明

11、在windchill/src/目录下建立一个helloWorld目录,在windchill/codebase/目录下也建立一个helloWorld目录打开rose软件,依次打开fileopen定位到windchill/src/wt/WTdesigner.mdl,打开出现这个对话框,选择是,然后就耐心等待系统加载完这个文件。当完全加载完以后把这个文件保存到上面建立的windchill/src/helloWorld目录下,名称为helloWorld,第16页,共283页。,模型扩展(续)完整的例子说明第16页,共283页。,模型扩展(续),打开helloWorld. Mdl,打开后如下图你可以发现

12、你打开的时候是没有wt,java,helloWorld这3个package的,因为这3个package中wt和java是从左边的方框中拖过来的,而helloWorld这个是我自己建立的,然后把helloWorld和wt,java这2个package建立关系如上图。然后双击helloWorld这个package在这个package中开始创建类。,第17页,共283页。,模型扩展(续)打开helloWorld. Mdl,打开后如下,模型扩展(续),打开helloWorld这个package后会出现下图,第18页,共283页。,模型扩展(续)打开helloWorld这个package后会,模型扩展(

13、续),你打开的时候是什么都没有的,这里面person,personLink这2个类是自己建立的,可以从中间的那个条中选择到的,然后对这2个类进行编辑,选中person这个类,点右键,会出现点击第一个,然后就会出现,第19页,共283页。,模型扩展(续)你打开的时候是什么都没有的,这里面person,模型扩展(续),第20页,共283页。,模型扩展(续)第20页,共283页。,模型扩展(续),选择attributes这个标签,第21页,共283页。,模型扩展(续)选择attributes这个标签第21页,共2,模型扩展(续),然后在空白的地方点右键就会出现一个快捷菜单,在这个菜单中可以创建一个变

14、量,然后双击变量会出现,第22页,共283页。,模型扩展(续)然后在空白的地方点右键就会出现一个快捷菜单,在,模型扩展(续),在这个里面会对这个变量的类型进行设置,然后点windchill标签找到constrain这项,设置value为false,每个变量都需要这样进行设置,然后让这个类继承这个抽象类,这样就表明person这个类现在是持久的。同理把person这个类和wtpart这个类建立关联,关联的类为PersonLink然后让personLink继承ObjectToObjectLink这个类,然后把这个helloWorld. mdl保存一下,然后依次打开fileunitscontrol,

15、然后再依次打开,toolswindchillsystem generation,第23页,共283页。,模型扩展(续)在这个里面会对这个变量的类型进行设置,然后点w,模型扩展(续),选中前3项点OK,然后这个时候你就可以在windchill/src/helloWorld这个目录下看到有Person.java和PersonLink.java这2个java文件,并且在windchill/db/sql3/helloWorld这个目录下面也会产生几个sql文件,把这几个sql文件导入到数据库中建立相关的表,要注意建立的先后顺序:只用操作以create开头的3个sql文件,第24页,共283页。,模型扩

16、展(续)选中前3项点OK,然后这个时候你就可以在win,模型扩展(续),修改Person.java加入下面的代码protected void initialize() throws WTExceptionDate today = new Date();super.initialize();System.out.println(Person - initialize executing!);String s = String.valueOf(today.toLocaleString();setId(s); 然后把person.java和personLink.java这两个文件放到windchil

17、l/codebase/helloWorld/目录下进行编译。,第25页,共283页。,模型扩展(续)修改Person.java加入下面的代码第25,模型扩展(续),写测试代码,public class HelloWorldTest public static void main(String args) String userName = args0; String password = args1; RemoteMethodServer methodserver = RemoteMethodServer.getDefault(); methodserver.setUserName(userN

18、ame); methodserver.setPassword(password); HelloWorldTest test = new HelloWorldTest(); test.test();,第26页,共283页。,模型扩展(续)写测试代码public class Hello,模型扩展(续),测试代码,public void test()tryPerson p = Person.newPerson();p.setName(111);p.setTitle(222);p.setAge(1111);p = (WTPart part = getPartByNumber(D3_0000000064

19、);if(part=null)Debug.P(part is null);return;PersonLink link = PersonLink.newPersonLink(part, p);link = (if(link=null)Debug.P(link is null);return;WTPart part1 = link.getUse();Person p1 = link.getUsed();if(part1=null)Debug.P(part1 is null);elseDebug.P(part1 is +part1.getNumber();if(p1=null)Debug.P(p1

20、 is null);elseDebug.P(p1 is +p1.getName();catch(Exception e)e.printStackTrace();,第27页,共283页。,模型扩展(续)测试代码public void test(),模型扩展(续),public static WTPart getPartByNumber(String number) WTPart part = null; try QuerySpec qs = new QuerySpec(WTPart.class); SearchCondition sc = new SearchCondition(WTPart.c

21、lass, WTPart.NUMBER, =, number); qs.appendWhere(sc); QueryResult qr1 = PersistenceHelper.manager.find(qs); while(qr1.hasMoreElements() part = (WTPart)qr1.nextElement(); catch(Exception e) e.printStackTrace(); return part;,第28页,共283页。,模型扩展(续)public static WTPart ge,模型扩展(续),把这个测试类在windchill shell 中运行,

22、运行结果为下图然后我们现在看下数据库中的情况,第29页,共283页。,模型扩展(续)把这个测试类在windchill shell,模型扩展(续),在person和personlink这两张表中都有了数据,测试结果正确注意事项在进行建模之前要对一些参数进行设置,也就是把rose的操作目录指向windchill的目录,第30页,共283页。,模型扩展(续)在person和personlink这两张表中,开发目录介绍,WT_HOME,wtCustom,wtSafeArea,src,db,siteMod,ptcCurrent,ptcOrig,sql,com,itbg,itbg,tasks,com,it

23、bg,com,templates,loadfiles,loadXMLFiles,com,itbg,com,itbg,codebase,com,itbg,com,itbg,jsp,netmarkets,com,itbg,1、wtCustom 放入修改系统的rbInfo文件2、wtSateArea 下的siteMod文件中放入修改后的系统文件,比如.jspf文件、html、xml;ptcCurrent文件放系统当前版本的文件;ptcOrig放系统最原始的文件 ant -f bin/swmaint.xml installSiteChanges3、codebase是运行时目录,放编译后的.class文

24、件、放WEB相关文件、放模板文件(.html)4、src目录放客制化的源文件,放国际化.rbInfo文件。5、tasks目录放系统服务文件.xml文件,Info*Engine配置文件6、loadFiles目录,放置需要导入到系统的工作流、生命周期等 7、loadXMLFiles目录,放置配置系统的信息的.xml文件8、DB目录,放置建立模型后生成的SQL语句,第31页,共283页。,开发目录介绍WT_HOMEwtCustom wtSafeAr,Windchill类的介绍,1.如何在系统中查找对象对应的类2.如何通过类在数据库中查找相关的表,第32页,共283页。,Windchill类的介绍1.

25、如何在系统中查找对象对应的类第,如何在系统中查找对象对应的类,打开类型管理器,选择部件,这个部件就对应了系统中的一个对象,页面的右部就会显示这个类的具体信息,在名称这栏中的就是系统中部件对应的类,wt.part是包名,WTPart就是类的名称,这个时候就可以在Eclipse中查看这个类有那些相关的函数,同时也可以到wt.part这个包中查看其它的一些类,这些类也都是和WTPart有关。,第33页,共283页。,如何在系统中查找对象对应的类打开类型管理器,选择部件,这个部,如何通过在系统中查找对象对应的类,系统中的业务对象在Rose模型中都可以看到相应的方法,第34页,共283页。,如何通过在系

26、统中查找对象对应的类系统中的业务对象在Rose模,系统类的设计,系统中的服务类设计为xxHelper.java文件和xxService.java是组合关系,系统中的所有业务对象对应的方法在对应的service中,通过xxHelper.serivce.方法 部件操作:WTPartHelper.service.方法文档操作:WTDocumentHelper.service.方法EC操作:ChangeHelper2.service.方法文件夹的操作:FolderHelper.service.方法生命周期的操作:LifeCycleHelper.manager.方法推进流程对象的操作:MaturityH

27、elper.service.方法通知机制对象的操作:NotificationHelper.service.方法位号的操作:OccurrenceHelper.service.方法参与者的操作:OrganizationServicesHelper.manager.方法版本的操作:VersionControlHelper.service.方法,第35页,共283页。,系统类的设计系统中的服务类设计为xxHelper.java文,如何通过类在数据库中查找相关的表,在类型管理器中定义的那些对象在数据库中都有相对应的表存在,表的名称也就是类的名称。例如:部件对象的类名称是WTPart,则数据库中就对应了一

28、张名为WTPart的表。WINDCHILL的数据库中的一张表其实对应的就是系统中的一个类名,所以有很多开发可以以数据库的表为入手点,如果你知道系统中的某个信息是存储在数据库中的具体表中的时候,就可以根据表的名称去系统中查找相关的类,来获取你需要的数据,第36页,共283页。,如何通过类在数据库中查找相关的表在类型管理器中定义的那些对象,如何通过类在数据库中查找相关的表,上面就是数据库中WTPart的表,这里面的数据在WTPart这个类中就可以获取,例如你如果想要获取一个部件的生命周期状态,数据库中对应的字段是STATESTATE这个字段,那么你就可以在在代码中通过part.getLifeCyc

29、leState().getDisplay()这个函数来获取,所以在学习WINDCHILL系统的开发的时候一定不能忽略数据库的作用。,第37页,共283页。,如何通过类在数据库中查找相关的表第37页,共283页。,Windchill各个包的介绍,第38页,共283页。,Windchill各个包的介绍PackageFunction,Windchill各个包的介绍,第39页,共283页。,Windchill各个包的介绍第39页,共283页。,Windchill各个包的介绍,第40页,共283页。,Windchill各个包的介绍第40页,共283页。,Windchill各个包的介绍,第41页,共283

30、页。,Windchill各个包的介绍第41页,共283页。,Windchill中的Model简介,Document CustomizersWindchill中的Model简介Windchill Document客制方法介绍Windchill中UI介绍,第42页,共283页。,Windchill中的Model简介Document Cus,Windchill各个业务对象的模型介绍,第43页,共283页。,Windchill各个业务对象的模型介绍第43页,共283页,Windchill Document客制方法介绍,文档属性在Windchill document中WTDocumentMaster和W

31、TDocument是两个主要对象:在WTDocumentMaster中对于文件中所有的版本版序有相同的值。 如果文件已建立很多版本版序,当master改变时将影响所有的版本版序。 在 WTDocument每一个版序有不同的值对应,因此WTDocument的改变只影响一种版序。 如果想规定一个从一个版序到另一个版序变化的属性,则需要扩展 WTDocument。,第44页,共283页。,Windchill Document客制方法介绍文档属性第4,Windchill Document客制方法介绍,类型枚举类型(值列表)领域,在windchill中让用户能够进行分类管理的文件 。 类型的值被定义在

32、中。如果有一个要求不显示doctype属性,只需要把类型管理中设置类型的实例化中的勾去掉即可,不可删除。,第45页,共283页。,Windchill Document客制方法介绍类型第45页,Windchill Document客制方法介绍,Department在Windchill中允许用户选择区域,负责文件的管理枚举类型值都被定义在 中。,第46页,共283页。,Windchill Document客制方法介绍Depart,Windchill Document客制方法介绍,文件与文件之间的关系:文件结构 : 一个文件可以使用很多其它子文件,其下层子文件也可以被其它文件使用。(使用与被使用的关

33、系)文件参考 :一个文件涉及的信息存在于其他文件中。(参考与被参考的关系),第47页,共283页。,Windchill Document客制方法介绍文件与文件之,Windchill Document客制方法介绍,文件结构,第48页,共283页。,Windchill Document客制方法介绍文件结构第4,Windchill Document客制方法介绍,文件參考,第49页,共283页。,Windchill Document客制方法介绍文件參考第4,Windchill Document客制方法介绍,创建文件以及文件的主文档、删除文件添加文件的附件、删除附件文件的出库、入库以及修改主文档文件下载

34、文件与文件之间创建关联(文件参考、文件结构),第50页,共283页。,Windchill Document客制方法介绍创建文件以及,Windchill Document客制方法介绍,三种创建文件的构造方法:newWTDocument ();newWTDocument(WTDocumentMastermaster) ;newWTDocument(Stringnumber,Stringname, DocumentTypetype),第51页,共283页。,Windchill Document客制方法介绍三种创建文件,Windchill Document客制方法介绍,創建文件實例WTDocument

35、 newDoc = null;newDoc = WTDocument.newWTDocument();newDoc.setName(创建主文档22);/文件的名称必设项newDoc.setNumber(888822);/文件编号必设项newDoc.setDepartment(DepartmentList.toDepartmentList(ENG);/设置departmentlist即文件所属的部门,必设项DocumentType doctype=DocumentType.toDocumentType($Document);/必设项,文件类型为一般文件newDoc.setDocType(doct

36、ype);/保存文件,第52页,共283页。,Windchill Document客制方法介绍創建文件實例,Windchill Document客制方法介绍,以上只是对文件的基本信息进行了设置也就相当在创建文件的模板中只是填写了基本信息没有上传文档时生成的不含主文档的文件。以下是创建主文档: ContentHolder contentHolder/获得文件的ContentHolderApplicationData appdata =ApplicationData.newApplicationData(contentHolder);appdata.setRole(ContentRoleType.

37、PRIMARY);通过ApplicationData 去设置主文档的名称、大小、以及文件上传路径等.(contentHolder,appdata,fileStream);/主文档创建成功参数fileStream是要上传的文件输入流。,第53页,共283页。,Windchill Document客制方法介绍以上只是对文,Windchill Document客制方法介绍,删除文件只删除主文档ContentItem contentitem =ContentHelper.getPrimary(FormatContentHolder)contentHolder);删除文件和主文档都删除,第54页,共28

38、3页。,Windchill Document客制方法介绍删除文件第5,Windchill Document客制方法介绍,添加附件文件添加附件和文件添加主文档方法类似,唯一不同的就是ContentRoleType类型。主文档的类型是ContentRoleType. PRIMARY附件的类型是ContentRoleType.SECONDARY,第55页,共283页。,Windchill Document客制方法介绍添加附件第5,Windchill Document客制方法介绍,刪除附件Vector vData =ContentHelper.getApplicationData(contentHol

39、der);if (vData != null if (strFilename != null & strFilename.length()0&strFilename.equals(appData.getFileName(),第56页,共283页。,Windchill Document客制方法介绍刪除附件第5,Windchill Document客制方法介绍,文件出库入库为什么要对文件出库入库?什么情况下对文件进行出库入库?对文件的出库主要的目的之一是为了防止一个文件同时两个人修改,由此可以看出只要是和文件更新相关的操作都要对文件进行出库,然后对出库后的副本进行更新操作,最后入库。,第57页,共

40、283页。,Windchill Document客制方法介绍文件出库入库,Windchill Document客制方法介绍,文件出库文件出库时, Windchil会自动将一个工作复本放入資料夾中的Checked Out文件夹中。首先得到文件夹中的checkout文件夹:;然后对文件出库放入checkout文件夹中:;最后得到工作复本:doc = (WTDocument) checkout_link.getWorkingCopy();,第58页,共283页。,Windchill Document客制方法介绍文件出库第5,Windchill Document客制方法介绍,出库实例/判断文件是不是出

41、库状态if (!FolderHelper.inPersonalCabinet(CabinetBased) doc) ,第59页,共283页。,Windchill Document客制方法介绍出库实例第5,Windchill Document客制方法介绍,文件的入库对文件复本进行入库:updateDoc=参数updateDoc出库的副本文件;comment入库时的版序注解,第60页,共283页。,Windchill Document客制方法介绍文件的入库第,Windchill Document客制方法介绍,入庫實例WTDocument updateDoc = null;if(WorkInProg

42、ressHelper.isWorkingCopy(doc)updateDoc = doc;elseupdateDoc = (WTDocument) else,第61页,共283页。,Windchill Document客制方法介绍入庫實例第6,Windchill Document客制方法介绍,修改主文檔主文档的修改是主文档的删除和创建组合,在修改主文档时应该找到原来的主文档删除之后再创建新的主文档。具体实例见前面的主文档创建和删除方法。,第62页,共283页。,Windchill Document客制方法介绍修改主文檔第,Windchill Document客制方法介绍,文件下载首先得到要下载

43、文件的最新版本(Iterated iter = null;boolean flag = false;LatestConfigSpec latestconfigspec = new LatestConfigSpec();master, latestconfigspec);while (queryresult.hasMoreElements() ),第63页,共283页。,Windchill Document客制方法介绍文件下载第6,Windchill Document客制方法介绍,然后取得文件的主文档或附件下载ContentItem contentitem =ContentHelper.getP

44、rimary(FormatContentHolder) contentholder);/得到主文档ApplicationData applicationdata = (ApplicationData) contentitem;a, sourcePath);参数Applicationdata是下载的文件,参数sourcePath为下载文件要存放的路径和文件名。,第64页,共283页。,Windchill Document客制方法介绍然后取得文件,StringBuffer localStringBuffer = new StringBuffer(64);toRole(role);手动独占(Manu

45、al exclusive)仅允许用户选取此标签内指定的其中selectable=falsefor (int j = 0; j ,Windchill Document客制方法介绍,文件的关联-文件结构文件与文件的使用关系创建(删除类似):首先 判断有没有关联,得到文件之间关联是通过:查找得到;然后创建uselink关联:WTDocumentUsageLink usageLink = WTDocumentUsageLink.newWTDocumentUsageLink(WTDocument,WTDocumentMaster);关联创建成功,第65页,共283页。,StringBuffer loca

46、lStringBuffer,Windchill Document客制方法介绍,文件的关联-文件参考文件与文件之间参考关系的创建(删除类似):首先查看是不是两者之间已有此关系:ent);其次创建DependencyLink关联:WTDocumentDependencyLink.newWTDocumentDependencyLink(WTDocument,WTDocument);最后把创建的关联插入数据库:WTDocumentDependencyLink);,第66页,共283页。,Windchill Document客制方法介绍文件的关联-,Windchill Document客制方法介绍,/*

47、 * 获取一个文档的各个大版本的最新小版本 * param docNumber String对象,就是获取这个编码对应的对象的各个大版本的最新小版本 * return Vector对象,这个对象中的元素都是WTDocument类型的 */public static Vector getDocMaxVersion(WTDocuemntMaster docMaster) throws WTException Vector v=new Vector(); while(qr1.hasMoreElements() Object obj = qr1.nextElement(); if(VersionCon

48、trolHelper.isLatestIteration(Iterated) obj) v.add(obj); return v;,第67页,共283页。,Windchill Document客制方法介绍/*第67,Windchill Document客制方法介绍,修改WTDocument的编码、名称方法:WTDocumentHelper.service.changeWTDocumentIdentity(existDocument, name, number, null);doc = (WTDocument) PersistenceHelper.manager.save(doc);修改EPMD

49、ocument的名称、编码方法:Identified identified = (Identified) epm.getMaster();EPMDocumentMasterIdentity epmMI = (EPMDocumentMasterIdentity) identified.getIdentificationObject();epmMI.setName(cadName);epmMI.setNumber(newNumber);,第68页,共283页。,Windchill Document客制方法介绍修改WTDo,Windchill Document客制方法介绍,/* * 設定文档檔狀態

50、* param epm * return */public String setDocumentState(WTObject obj) try State state = State.toState(RELEASED); String lifeState=; if(obj instanceof EPMDocument) EPMDocument tempEPM=(EPMDocument)obj; lifeState=tempEPM.getLifeCycleState().toString(); obj=tempEPM; if(obj instanceof WTDocument) WTDocume

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号