高级自定义 > 业务逻辑自定义 > 自定义 MPMLink > 自定义用于生成制造结构的源模板
自定义用于生成制造结构的源模板
目标
自定义默认逻辑以解析“源”列表中的工艺计划或工艺路线计划模板。
解决方案
使用预设委派框架通过模板生成下游结构,同时能够扩展和应用自定义逻辑来填充“初始化制造结构”对话框中的“源”列表。
必备知识
要执行此任务,必须了解以下内容:
Java 基础 (继承、集合)
Windchill 委派和 xconfmanager 实用程序
解决方案元素
RelatedSourceDelegate
由 Windchill 调用的抽象类,用于获取重复部件或另存为部件的源模板。
DefaultRelatedSourceDelegate
用于获取源模板的预设实施。
CustomRelatedSourceDelegate
根据项目需求,为解析源模板量身定制的自定义实施。
过程
要实施用于获取模板的自定义逻辑,请执行以下步骤:
1. 通过扩展 DefaultRelatedSourceDelegate,创建新的委派类,例如 CustomRelatedSourceDelegate
2. BaseServer-service.properties.xconf 文件中注册委派。
3. 根据需要改写方法:
a. getSourceTemplates - 自定义用于获取工艺路线计划模板的逻辑。
b. getSourceProcessPlans - 自定义用于获取工艺计划模板的逻辑。
4. 运行 xconfmanager -p 以传播变更。
5. 重新启动方法服务器,以使变更生效。
预设实现
以下是获取源工艺路线计划的预设实施:
示例 XCONF 代码段
以下是注册自定义委派的示例 XCONF 配置:
<Service context="default" name="com.ptc.windchill.baseserver.delegate.RelatedSourceDelegate">
<Option cardinality="singleton"
requestor=”null”
serviceClass="com.ptc.windchill.baseserver.delegate.CustomRelatedSourceDelegate"
selector="default"/>
</Service>
示例实现
以下示例显示相关源委派的自定义实施,该实施从其他帮助程序获取源工艺计划 (例如,来自部件属性的工艺计划 OID 列表)。
public class CustomRelatedSourceDelegate extends DefaultRelatedSourceDelegate {
@Override
protected Set<String> getSourceProcessPlans(final WTPart selectedPart, NavigationCriteria nc, boolean flag) {
//Fetch the list of process plan oids and related mbom oid from attribute.
Map<String, String> partToProcessPlans = CustomHelper.getMBomToProcessPlanMap(selectedPart, nc);
Set<String> processPlans = new HashSet<>();
for(Entry<String, String> mapEntry : partToProcessPlans.entrySet()) {
String mBomOid = mapEntry.getKey();
String processPlanOid = mapEntry.getValue();
If (flag) {
processPlans.add(mBomOid + “|” + processPlanOid);
} else {
processPlans.add(processPlanOid);
}
}
return processPlans;
}
这对您有帮助吗?