自定义部件分配序列号
目标
自定义默认逻辑,以从自定义编号开始部件分配序列,或根据特定组织需求显示序列。
解决方案
使用预设委派框架在部件分配期间自动填充分配序列号,同时允许客户插入自定义逻辑。
必备知识
要执行此任务,必须了解以下内容:
• Java 基础 (继承、集合)
• Windchill 委派和 xconfmanager 实用程序
• MPMLink 对象:MPMOperation、MPMOperationToPartLink、AssociativeUsageLink
解决方案元素
• NextAllocationSequenceNumberDelegate
创建新 MPMOperationToPartLink 对象时 Windchill 调用的接口。
• DefaultNextAllocationSequenceNumberDelegate
将分配序列号递增 1 的预设实现。
• CustomNextAllocationSequenceNumberDelegate
根据特定于项目的分配规则定制的自定义实现。
过程
要实现部件分配序列的自定义逻辑,请执行以下步骤:
1. 通过扩展 DefaultNextAllocationSequenceNumberDelegate,创建新的委派类,例如 CustomNextAllocationSequenceNumberDelegate。
2. 在 mpmlink.service.properties.xconf 文件中注册委派。
3. 改写 populateAllocationData() 方法和 (可选) getIncrementStep()。
4. 运行 xconfmanager -p 并重新启动方法服务器。
预设实现
部件分配序列的预设实现如下所示:
示例 XCONF 代码段
以下是注册自定义委派的示例 XCONF 配置:
<Service context="default"
name="com.ptc.windchill.mpml.processplan.operation.NextAllocationSequenceNumberDelegate">
<Option cardinality="singleton"
requestor="com.ptc.windchill.mpml.processplan.operation.MPMOperationHolder"
selector="DEFAULT"
serviceClass="com.ptc.windchill.mpml.processplan.operation.CustomNextAllocationSequenceNumberDelegate"/>
</Service>
示例实现
以下示例显示将部件分配序列号递增 2 的分配序列委派的自定义实现。
package com.ptc.windchill.mpml.processplan.operation;
public class CustomNextAllocationSequenceNumberDelegate extends DefaultNextAllocationSequenceNumberDelegate {
@Override
protected long getIncrementStep() {
//Override the default increment of 1 with a step increment of 2.
return 2L;
}
}