Quellvorlage zum Generieren von Fertigungsstrukturen anpassen
Ziel
Passen Sie die Standardlogik an, um den Prozessplan- oder die Routing-Plan-Vorlage in der Liste Quelle aufzulösen.
Lösung
Verwenden Sie das standardmäßige Delegate-Framework, um Downstream-Strukturen mithilfe einer Vorlage zu generieren, und bieten Sie gleichzeitig die Möglichkeit, benutzerdefinierte Logik zum Füllen der Liste Quelle im Dialogfenster Fertigungsstrukturen initialisieren zu erweitern und anzuwenden.
Voraussetzungen
Um diese Aufgabe auszuführen, müssen Sie Erfahrung in folgenden Bereichen haben:
• Java-Grundlagen (Vererbung, Sammlungen)
• Dienstprogramm Windchill Delegates und xconfmanager
Lösungselemente
• RelatedSourceDelegate
Abstrakte Klasse, die von Windchill aufgerufen wird, um Quellvorlagen für doppelte Teile oder "Speichern als"-Teile abzurufen
• DefaultRelatedSourceDelegate
OOTB-Implementierung zum Abrufen von Quellvorlagen
• CustomRelatedSourceDelegate
Benutzerdefinierte Implementierung, die auf das Auflösen von Quellvorlagen basierend auf den Projektanforderungen zugeschnitten ist
Verfahren
Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Logik zum Abrufen der Vorlage zu implementieren:
1. Erstellen Sie eine neue Delegate-Klasse, z.B. CustomRelatedSourceDelegate, indem Sie DefaultRelatedSourceDelegate erweitern.
2. Registrieren Sie den Delegate in der Datei BaseServer-service.properties.xconf.
3. Überschreiben Sie die Methoden nach Bedarf:
a. getSourceTemplates – Passen Sie die Logik für das Abrufen von Routing-Plan-Vorlagen an.
b. getSourceProcessPlans – Passen Sie die Logik für das Abrufen von Prozessplan-Vorlagen an.
4. Führen Sie xconfmanager -p aus, um die Änderungen zu übertragen.
5. Starten Sie den Methodenserver neu, damit die Änderungen wirksam werden.
OOTB-Implementierung
Im Folgenden finden Sie eine vordefinierte Implementierung für das Abrufen von Quell-Routing-Plänen:
XCONF-Beispielausschnitt
Im Folgenden finden Sie ein Beispiel für eine XCONF-Konfiguration, mit der Ihr benutzerdefinierter Delegate registriert wird:
<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>
Beispielimplementierung
Das folgende Beispiel zeigt eine benutzerdefinierte Implementierung eines zugehörigen Quell-Delegate, der die Quellprozesspläne von einem anderen Hilfe-Assistenten abruft (z.B. eine Liste von Prozessplan-OIDs aus einem Teileattribut).
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;
}