Настройка номеров последовательности назначения деталей
Задача
Настроить логику по умолчанию, позволяющую начинать назначение деталей с пользовательского номера или отображать последовательность на основе конкретных организационных требований.
Решение
Используйте готовую платформу делегатов для автоматического заполнения номеров последовательности назначения во время назначения деталей, позволяя клиентам подключать пользовательскую логику.
Необходимые предварительные знания
Для выполнения этого задания необходимо понимание следующих понятий:
Java Fundamentals (наследование, наборы)
Делегаты Windchill и утилита xconfmanager
Объекты MPMLink: MPMOperation, MPMOperationToPartLink, AssociativeUsageLink
Элементы решения
NextAllocationSequenceNumberDelegate
Интерфейс, вызываемый Windchill при создании новых объектов MPMOperationToPartLink.
DefaultNextAllocationSequenceNumberDelegate
Готовая к применению реализация, увеличивающая номер последовательности назначения на единицу.
CustomNextAllocationSequenceNumberDelegate
Пользовательская реализация, настроенная в соответствии со специфичными для проекта правилами назначения.
Процедура
Чтобы реализовать пользовательскую логику для последовательности назначения деталей, выполните следующие шаги.
1. Создайте новый класс делегатов, например CustomNextAllocationSequenceNumberDelegate, путем расширения элемента DefaultNextAllocationSequenceNumberDelegate.
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>
Пример реализации
В следующем примере показана пользовательская реализация делегата последовательности назначения, увеличивающая номер последовательности назначения детали на два.
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;
}
}
Было ли это полезно?