擷取資料
Windchill Navigate API 服務旨在傳回作業的詳細資訊,以及此作業中的步驟。
下圖說明資料流:
欲擷取「作業詳細資訊」資訊,您應該能夠啟動 GetEnterpriseOperationDetails 或 GetAllEnterpriseOperationDetails 服務。例如,讓我們考慮一下 GetEnterpriseOperationDetails。
請執行下列步驟:
1. 進行一系列呼叫以到達 GetEnterpriseOperationDetails 服務。
GetEnterpriseOperationDetails 服務需要下列參數值:「製程計劃 ID」、「作業 ID」與「零件 ID」。
「零件 ID」從 Search 服務取得,而「製程計劃 ID」從 GetProcessPlan 服務擷取,「作業 ID」則來自 GetEnterpriseOperations 服務。
此外,GetProcessPlan 服務需要「零件 ID」,這是 Search 服務的輸出,可在這些服務之間建立順序相依性。
2. 使用「黏著服務」以啟動 API 服務
大多數 API 服務都需要 JSON 輸入。建立有效 JSON 輸入的最有效方法是開發專為啟動 API 服務所設計的 helper JavaScript 服務
例如,讓我們探索一下如何使用特定 processPlanId 啟動 GetEnterpriseOperations 服務。
以下是如何建構 JS helper 啟動服務的範例:
result = {};
if (processPlanId) {
let inputs = {
"inputs": {
"processPlanId": "",
"variantSpecId": "",
"workCenterId": "",
"navigationCriteriaConfig": [
{
"@odata.type": "#PTC.NavCriteria.WTPartStandardConfigSpec",
"WorkingIncluded": true,
"View": "Manufacturing"
}
],
"enterpriseOperationConfig": {
"level": 1,
"softTypes": [],
"softAttributes": []
}
},
"attributes": {
"PTC.MfgProcMgmt.Operation": [
"Name",
"Number",
"Version"
],
"PTC.MfgProcMgmt.Operation:PTC.MfgProcMgmt.Operation.Custom.Adapter": [
"TwoDThumbnailURL",
"WorkCenterName",
"SequenceOrder"
]
},
"version": "1"
};
inputs.inputs.processPlanId = processPlanId;
result = Things["PTC-PLM.Windchill.BillOfProcess"].GetEnterpriseOperations({
input: inputs /* JSON */
});
}
此服務需要一個參數並傳回 JSON: