多個規則、規則集與關係的範例
假設您需要根據多個產品與多種關係配置規則。請考慮以下的範例:
Product1
|
Product2
|
Product3
|
組織
|
兩個規則集:
• 受影響物件 (出庫規則)
• 產生物件 (出庫規則與零件屬性規則 - 名稱必須少於 10)
|
一個規則集:
• 產生物件 (零件屬性規則 - 名稱必須以 EXT 開頭)
|
無規則或規則集
|
一個規則集:
• 變更通知規則 - 名稱必須以 CN 開頭
|
建立所有規則之後,您可以使用如下程式碼配置使工作流程使用這些規則集:
com.ptc.core.businessRules.engine.BusinessRuleSetBean[] ruleSetBeans = new
com.ptc.core.businessRules.engine.BusinessRuleSetBean[] {
com.ptc.core.businessRules.engine.BusinessRuleSetBean.
newBusinessRuleSetBean ("CNOrgRuleSet", com.ptc.core.businessRules.engine.
BusinessRuleSetBean.PRIMARY_BUSINESS_OBJECT),
com.ptc.core.businessRules.engine.BusinessRuleSetBean.
newBusinessRuleSetBean("AffectedPartProdRuleSet", wt.change2.
AffectedActivityData.class.getName()),
com.ptc.core.businessRules.engine.BusinessRuleSetBean.newBusinessRuleSetBean
("ResultingPartProdRuleSet", wt.change2.ChangeRecord2.class.getName())
};
businessRulesResultSetGlobal = "";
preReleaseConflictsMsg = "";
com.ptc.core.businessRules.validation.RuleValidationResultSet
resultSet = wt.businessRules.BusinessRulesHelper.engine.execute
(primaryBusinessObject, ruleSetBeans );
範例:
• 如果您的產品 1 中有一個零件是產生物件,該零件的名稱必須少於 10 個字元,且其不可出庫。
• 如果您的產品 2 中有一個文件是產生物件,則沒有它專用的規則,因為只有零件的規則。