Personalizzazione dei parametri nel servizio di download
Delegato predefinito
Windchill fornisce un meccanismo predefinito per passare informazioni aggiuntive correlate al documento CAD come parametri di sistema personalizzati.
Per personalizzare i parametri, impostare la preferenza lato server, > a livello di sito.
• Il valore è un elenco di attributi aggiuntivi ricavati dagli oggetti correlati al documento CAD visualizzati nello strumento CAD come parametri o proprietà.
• Il valore è un elenco separato da virgole di coppie di proprietà CAD e attributi Windchill nel formato seguente:
<name_of_CAD_property>:<relatedObjectCode>.<WindchillAttributeName>
dove:
Valore
|
Descrizione
|
Valori possibili
|
name_of_CAD_property
|
Si tratta del nome del parametro o della proprietà nello strumento CAD.
|
PART_REVISION
|
relatedObjectCode
|
Si tratta della stringa utilizzata per identificare l'oggetto correlato.
|
• Per l'oggetto correlato-
• docMaster
• associatedPart
• relatedECN
• promote
|
WindchillAttributeName
|
Si tratta del nome logico o del nome interno dell'attributo in Windchill per l'oggetto correlato.
|
• Attributi di tipo soft su master del documento CAD
• Attributi della parte
◦ Attributo di tipo soft sulla parte correlata di tipo booleano, data, numero intero, reale, reale con unità o stringa
◦ lifeCycleState
◦ lifecycleTemplate.name
◦ name
◦ number
◦ orgid
◦ view.identity
◦ partType
• Per la notifica di modifica correlata
◦ number
◦ orgid
◦ resolutionDate
• Per promote
◦ number
◦ promotionDate
◦ orgid
◦ approvers
◦ approveDates
◦ reviewers
◦ reviewDates
|
|
Per gli attributi di tipo soft, i valori inviati allo strumento CAD sono i valori di visualizzazione presenti in Informazioni dell'oggetto. I valori di visualizzazione utilizzano le preferenze Gestione attributi e le impostazioni Gestione tipi e attributi, ma non supportano le personalizzazioni di visualizzazione complesse utilizzando le utilità dati per il rendering.
Ad esempio, la data di esame e la data di approvazione seguono l'impostazione Gestione tipi e attributi per Formato visualizzazione data indicato come dd-MM-yy.
|
Questa funzionalità può essere utilizzata solo se non si dispone di un delegato lato server personalizzato CustomModeledAttributesDelegate da utilizzare per inserire parametri (vedere la sezione successiva seguente per Delegato personalizzato).
Per la parte associata:
• Questa funzionalità supporta le parti correlate a Documento CAD con Proprietario, Immagine contribuente, Immagine e Contenuto contribuente.
• La versione parte selezionata è simile alla tabella delle parti correlate della pagina delle informazioni di Documento CAD.
• Se al documento CAD sono associate più revisioni della stessa parte, viene restituita la revisione più recente di ogni parte.
• È possibile che vengano restituite più parti se il sistema è configurato in modo da consentire più associazioni di creazione, con la preferenza lato server > > impostata su Sì. In questo caso, le informazioni relative a ciascuna parte correlata vengono restituite in un formato delimitato. Il delimitatore utilizzato è definito dalla preferenza lato server > .
Per la notifica di modifica correlata:
• Quando la revisione del documento CAD partecipa alla notifica di modifica come oggetto risultante, gli attributi sulla notifica di modifica vengono inviati al parametro CAD.
• Se la revisione del documento CAD partecipa a più di una Notifica di modifica, il delimitatore utilizzato viene definito dalla preferenza lato server > .
• Le notifiche di modifica rifiutate non sono elencate.
Per la richiesta di promozione:
• Quando la versione del documento CAD partecipa alla richiesta di promozione, gli attributi relativi alla richiesta di promozione vengono inviati al parametro CAD.
• Se la versione del documento CAD partecipa a più di una Richiesta di promozione, il delimitatore utilizzato viene definito dalla preferenza lato server > .
• La richiesta di promozione rifiutata non è elencata.
|
• resolutionDate si basa sulla notifica di modifica correlata al documento CAD. È possibile configurare il formato della data impostandolo in Gestione tipi e attributi. Impostare il formato dell'attributo Notifica di modifica con il nome interno resolutionDate.
• promotionDate si basa sulla richiesta di promozione correlata al documento CAD. È possibile configurare il formato della data impostandolo in Gestione tipi e attributi. Impostare il formato dell'attributo Richiesta di promozione con il nome interno promotionDate.
• approveDates e reviewDates si basano sul task correlato alla richiesta di promozione. Il formato della data viene configurato impostandolo in Gestione tipi e attributi. Impostare il formato dell'attributo Task con il nome interno thePersistInfo.modifyStamp.
|
Delegato personalizzato
Se il processo aziendale richiede che altri attributi vengano comunicati allo strumento CAD, Windchill fornisce un delegato lato server che può essere utilizzato per inserire parametri in un modello Creo Parametric durante il download. Questo meccanismo consente di trasmettere informazioni dal server fino a Creo Parametric, dove possono essere utilizzate come qualsiasi altro parametro di Creo Parametric, ad esempio per inserire informazioni nei moduli di disegno. I parametri che iniziano con "PTC" o "PROI" vengono considerati parametri di sistema riservati e non possono essere propagati con la personalizzazione. Se vengono aggiunti nella personalizzazione, vengono ignorati dal servizio di download.
|
Questa funzionalità è applicabile a tutti Windchill Workgroup Manager che si integrano con strumenti CAD di terze parti.
|
|
I parametri personalizzati vengono forniti al client durante il download e, diversamente dai parametri di sistema come PTC_WM_ITERATION, non vengono aggiornati nella sessione di Creo Parametric o nella cache locale dopo un'operazione in Windchill, ad esempio dopo un Check-In.
Se ad esempio a un parametro personalizzato viene assegnato come valore il numero del documento CAD, questo valore viene fornito al client contestualmente al download del modello. Se successivamente il documento CAD viene rinumerato, il valore nella sessione di Creo Parametric o nella cache del client non viene aggiornato automaticamente.
|
Il meccanismo di delega del servizio Windchill viene utilizzato per consentire la personalizzazione. Per la personalizzazione, attenersi alla procedura descritta di seguito.
1. Creare una classe Java che implementi l'interfaccia ModeledAttributesDelegate in una posizione specifica del cliente distinta dalle classi PTC (ad esempio, <WT_HOME>\com\acme). La definizione dell'interfaccia è la seguente:
package com.acme.download;
import static org.junit.Assert.assertTrue;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate;
import java.util.Iterator;
import wt.epm.EPMDocument;
import wt.fc.collections.WTCollection;
import wt.fc.collections.WTHashSet;
import wt.preference.PreferenceHelper;
import wt.util.WTException;
/**
* When CustomizedModeledAttributesDelegate is configured following modeled attributes would be added to the CAD
* Document, which would be combination of custom CURRENT_DATE parameter along with Parameters configured in mentioned
* preference "Mapping Custom System Attributes and File Properties". For eg.When preference "Mapping Custom System
* Attributes and File Properties" set with value as
* -CREO_PART_REVISION:associatedPart.revision,CREO_PART_VIEW:associatedPart.view.identity,ECN_NUMBER:relatedECN.number
* Modeled attributes on CAD Document would be- CREO_PART_REVISION=A, ECN_NUMBER=00192, CREO_PART_VIEW=Design,
* CURRENT_DATE=2023/10/11 05:07
*/
public class CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate {
private static final String CUSTOM_SYSTEM_PARAMS_PREF = "system.attribute.mapping.custom";
private static final String PROE = "PROE";
private static final String CURRENT_DATE = "CURRENT_DATE";
// getAvailableAttributes() returns
// HashMap<String, Object> which contains
// HashMap<Attribute name, Attribute type> @Override
public HashMap getAvailableAttributes() {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() :Returning an empty list of modeled Attributes.");
return new HashMap();
}
/**
* Returns a map of modeled attributes for the EPMDocument objects in the provided collection. This method retrieves
* the modeled attributes from the PTC default implementation.
*
* @param collection a collection of EPMDocument objects for which to retrieve the modeled attributes
* @return a map of modeled attributes for the provided EPMDocument objects
* @throws WTException if an exception occurs while retrieving the modeled attributes
*/
@Override
public HashMap getModeledAttributes(
final Collection collection)
throws WTException {
System.out.println(
"Invoked CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate :: getModeledAttributes() ");
String prefValue = (String) PreferenceHelper.service.getValue(CUSTOM_SYSTEM_PARAMS_PREF,
PROE);
System.out.println("CustomizedModeledAttributesDelegate prefValue " + prefValue);
HashMap objVsAttrNameVsValue = new HashMap();
// Fetching only EPMDocuments from input collection.
WTCollection inEPMDocs = new WTHashSet(collection).subCollection(EPMDocument.class);
Iterator persistableIterator = inEPMDocs.persistableIterator();
if (prefValue != null && (!prefValue.isBlank())) {
while (persistableIterator.hasNext()) {
EPMDocument anEPMDoc = (EPMDocument) persistableIterator.next();
objVsAttrNameVsValue = super.getModeledAttributes(collection);
Map<String, String> attrNameVsValueMap = (Map<String, String>)objVsAttrNameVsValue.get(anEPMDoc);
assertTrue(attrNameVsValueMap != null);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
LocalDateTime now = LocalDateTime.now();
attrNameVsValueMap.put(CURRENT_DATE, dtf.format(now).toString());
System.out.println("CustomizedModeledAttributesDelegate attrNameVsValueMap " + attrNameVsValueMap);
return objVsAttrNameVsValue;
}
}
System.out
.println("Could not find CustomizedModeledAttributesDelegate extends DefaultModeledAttributesDelegate");
return objVsAttrNameVsValue;
}
} // end class
2. Gli attributi di sistema personalizzati forniti da PTC sono disponibili per impostazione predefinita in DefaultModeledAttributesDelegate. Tuttavia, il file site.xconf, disponibile in <Windchill>, può essere modificato in modo che punti al servizio di personalizzazione nel server.
◦ Utilizzare il percorso della classe al posto del valore di com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate, ovvero sostituire serviceClass con il percorso della classe. Esempio:
<Service context="default"
name="com.ptc.windchill.uwgm.proesrv.c11n.ModeledAttributesDele
gate" targetFile=codebase/service.properties">
<Option cardinality="singleton"
requestor="java.lang.Object"
serviceClass="com.acme.download.CustomizedModeledAttributesDelegate"/>
</Service>
◦ Utilizzare lo strumento xconfmanager per applicare le modifiche al file service.properties (eseguire xconfmanager -p).
3. Riavviare il method server.