限制資訊元素搜尋條件的自訂勾點
使用勾點來限制搜尋條件的自訂只能由具有 Java 專業技能的 Windchill 管理員執行。
您可以按一下「插入現有的」 > 「插入現有資訊元素」,將現有資訊元素插入服務結構中。「插入現有資訊元素」視窗即會開啟,根據指定的搜尋條件列出所有資訊元素。自訂勾點可用於將搜尋條件限制為僅顯示所需資訊元素。搜尋條件以在勾點中指定的企業邏輯為基礎。
欲實行此勾點,請在自訂服務類別中延伸 com.ptc.arbortext.windchill.corestruct.server.ops.SIMCustomSearchCriteriaService java 類別。執行下列步驟:
1. Windchill 主目錄中,在文字編輯器中開啟 site.xconf 檔案,並以此 <Option serviceClass="YourCustomSearchServiceClassFullName" requestor="null" selector="null"/> 格式新增所需服務類別。例如:
<Service name="com.ptc.arbortext.windchill.corestruct.server.ops.SIMCustomSearchCriteriaService" targetFile="codebase/service.properties">
<Option serviceClass="com.ptc.arbortext.windchill.corestruct.server.ops.CustomASPSSearchService" requestor="null" selector="null"/>
</Service>
2. 使用 xconfmanager 公用程式傳播變更。從 <Windchill>\bin 目錄中輸入下列指令:
xconfmanager -pF
3. 重新啟動應用伺服器。
樣品
以下自訂程式碼範例可將搜尋條件限制為僅顯示已發行狀態之資訊元素的搜尋結果。
/* bcwti
*
* Copyright (c) 2021 PTC, Inc. All Rights Reserved.
*
* This software is the confidential and proprietary information of PTC
* and is subject to the terms of a software license agreement.
* You shall not disclose such confidential information and shall use it
* only in accordance with the terms of the license agreement.
*
* ecwti
*/

package com.ptc.arbortext.windchill.corestruct.server.ops;

import com.ptc.arbortext.windchill.corestruct.client.ops.ASPSFindOperation.ASPSFindOperationParams;

import wt.fc.ObjectIdentifier;
import wt.fc.ObjectReference;
import wt.fc.Persistable;
import wt.inf.container.WTContained;
import wt.util.WTException;

public class CustomASPSSearchService implements SIMCustomSearchCriteriaService {
private static final long serialVersionUID = 1L;

@Override
public void updateSearchCriteria(ASPSFindOperationParams fop) throws WTException {
Persistable contextObject = ObjectReference.newObjectReference(ObjectIdentifier.newObjectIdentifier(fop.getRootIdentifier().getStringIdentifer())).getObject();
if (contextObject != null && contextObject instanceof WTContained) {
fop.getSearchCriteriaList().get(0).set("state.state", "RELEASED");
}
}
}
這是否有幫助?