高级自定义 > 业务逻辑自定义 > 自定义 MPMLink > 自定义部件分配序列号
自定义部件分配序列号
目标
自定义默认逻辑,以从自定义编号开始部件分配序列,或根据特定组织需求显示序列。
解决方案
使用预设委派框架在部件分配期间自动填充分配序列号,同时允许客户插入自定义逻辑。
必备知识
要执行此任务,必须了解以下内容:
Java 基础 (继承、集合)
Windchill 委派和 xconfmanager 实用程序
MPMLink 对象:MPMOperationMPMOperationToPartLinkAssociativeUsageLink
解决方案元素
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;
}
}
这对您有帮助吗?