自定义变型基线成员
本节将介绍有关变型基线成员的以下自定义:
• 使用自定义挂接来控制成员链接属性状态从一种状态到另一种状态的转换。
• 在 JCA 和模板处理器中自定义成员链接可变属性的转换。
• 自定义 API 以向 (或从) 变型基线中添加 (或移除) 成员,并设置基线成员链接 (包括基线对象修订版本) 的属性值。
使用自定义挂接来控制成员链接属性状态
先决条件:要自定义变型基线成员链接状态,必须了解以下内容:
• JAVA 基础知识。
• 类型和属性管理、枚举约束和全局枚举的基础知识。
• Windchill 自定义。
过程:实现服务
要自定义 Status 下拉菜单中的值,请实现 wt.productfamily.StatusTransitionInterface 接口的 getValidStatus 方法。默认情况下,所有状态枚举值均为有效值,且 Status 下拉菜单中将列出所有状态。自定义时,您可以限制这些值。getValidStatus 方法会返回 Map<String, Map<String, String >>,其中用户将针对 FloatingBaselineMember 的 ObjectIdentifier 字符串表示保留状态键值对映射。例如,此映射是针对 wt.vc.baseline.FloatingBaselineMember:FloatingBaselineObjectId 实现的。
自定义 getValidStatus 方法时,还必须针对 null 键设置状态映射。针对 null 键设置的 StatusMap 将被视为 (针对 addToBaseline 之类的操作而创建的) FloatingBaselineMemberLink 的默认状态映射。
实现以下签名方法:
根据 statusTransitionDelegate 选择器修改服务。注册的服务如以下代码所示:
示例代码
以下示例代码假定状态枚举具有以下键值对:
• status1, Status 1
• status2, Status 2
• status3, Status 3
• status4, Status 4
• status5, Status 5
此代码用于限制:如果 floatingBaselineMembers 的状态为 status1,则只能移至 status2。如果 floatingBaselineMembers 的状态为 status2,则只能移至 status3,依此类推。
在 JCA 中自定义成员链接可变属性的转换
先决条件:要自定义可变属性的转换,必须了解以下内容:
• JAVA 基础知识。
• Windchill 自定义。
过程:使用属性的数据实用程序
为需要控制的列配置数据实用程序。通过向 Windchill UI 的 URL 中添加 &jcaDebug=true,可以在 JCA 中查看列的当前数据实用程序。
在 TemplateProcessor (UpdateBaselineTable UI) 中自定义成员链接可变属性的转换
先决条件:要在 TemplateProcessor 中自定义可变属性的转换,必须了解以下内容:
• JAVA 基础知识。
• Windchill 自定义。
使用 JavaScript 自定义
自定义 API 以添加或移除变型基线成员,并设置基线成员链接 (包括基线对象修订版本) 的属性值
要定义 API 以向 (或从) 变型基线中添加 (或移除) 成员,并设置基线成员链接 (包括基线对象修订版本) 的属性值,必须了解以下内容:
• JAVA 基础知识。
• Windchill 自定义。
过程:使用 PersistentHelper API
可通过使用 PersistenceHelper API (例如 PersistenceHelper.manager.delete()、PersistenceHelper.manager.save() 等) 来实现这些 API。所有这些 API 都是多对象 API。
使用自定义挂接来控制“更新基线对象”用户界面中的部件修订版本列
先决条件:要自定义修订版本列,必须了解以下内容:
• JAVA 基础知识。
• Windchill 自定义。
• 读取部件属性的基础知识。
过程:实现服务
要自定义部件修订版本列标题和下拉菜单中的值,请实现 com.ptc.windchill.lotbaseline.updatebaseline.RevisionAttributesDelegateIfc 接口的 getRevisionAttributesHeaders 和 getRevisionAttributesValues 方法。
• getRevisionAttributesHeaders:用户可以按照所需格式 (空格或逗号分隔) 返回一个或多个部件属性的标题标签字符串。返回的标签字符串将附加到预设修订版本标签“新建修订版本”。
• getRevisionAttributesValues(Object):用户可以按照所需格式 (空格或逗号分隔) 返回一个或多个与自定义标题标签相对应的部件属性值。返回的字符串将附加到预设修订版本值。
实现以下签名方法:
根据 revisionAttributesDelegate 选择器修改服务。注册的服务如以下代码所示:
在 Windchill shell 中运行 xconfmanager -Fvp 命令,并在更新 xconf 文件后重新启动 Windchill 服务器,以使您的自定义接口生效。
示例代码
以下示例将部件修订版本的“修改者名称”和“修改时间”值附加到“更新基线对象”UI 的“新建修订版本”列中。