略過企業規則衝突的範例
文章推薦指數: 80 %
略過企業規則衝突的範例. 您可能想要顯示某些或全部企業規則失敗,但不阻礙繼續或完成工作流程。
建立兩個唯一的企業規則集,一個放置繼續或完成流程所需的規則,另一個 ...
略過企業規則衝突的範例
您可能想要顯示某些或全部企業規則失敗,但不阻礙繼續或完成工作流程。
建立兩個唯一的企業規則集,一個放置繼續或完成流程所需的規則,另一個放置會報告其失敗但並非完成流程所需的規則。
擁有兩個單獨的企業規則集可讓您將工作流程配置為在工作流程中的不同位置呼叫任一規則集。
下列範例顯示如何配置繼續所需的規則集以及非所需的第二個規則集。
假設您想要檢查是否已填入某些屬性(在此情況下為材料)。
如果屬性為空,流程會繼續;但發行目標規則必須通過。
1.針對屬性檢查,建立非必要的企業規則集。
standardX20.dtd">
standardX20.dtd">
standardX20.dtd">
standardX20.dtd">
standardX20.dtd">
standardX20.dtd">
欲顯示所有必要與非必要的規則衝突,請將「稽核變更通知」工作流程任務條件更新為使用EXAMPLE1_RELEASE_RULE_SET與EXAMPLE1_NON_REQUIRED_ATTRIBUTE_RULE_SET兩個規則集。
if(wt.change2.ChangeHelper2.isTrackingChange((wt.inf.container.WTContained)primaryBusinessObject)){result="RevisioningEnabled";}else{result="RevisioningDisabled";com.ptc.core.businessRules.engine.BusinessRuleSetBean[]beans=newcom.ptc.core.businessRules.engine.BusinessRuleSetBean[]{//Configuretocallnon-requiredrulesetcom.ptc.core.businessRules.engine.BusinessRuleSetBean.newBusinessRuleSetBean("EXAMPLE1_NON_REQUIRED_ATTRIBUTE_RULE_SET","wt.change2.ChangeRecord2"),//Configuretocallrequiredrulesetcom.ptc.core.businessRules.engine.BusinessRuleSetBean.newBusinessRuleSetBean("EXAMPLE1_RELEASE_RULE_SET","wt.change2.ChangeRecord2")};}com.ptc.core.businessRules.validation.RuleValidationResultSetresultSet=wt.businessRules.BusinessRulesHelper.engine.execute(primaryBusinessObject,beans);if(resultSet.hasResultsByStatus(com.ptc.core.businessRules.validation.RuleValidationStatus.FAILURE)){businessRulesResultSetGlobal=wt.businessRules.BusinessRulesHelper.serialize(resultSet);preReleaseConflictsMsg=newwt.util.WTMessage("com.ptc.windchill.enterprise.change2.change2ClientResource",com.ptc.windchill.enterprise.change2.change2ClientResource.BUSINESS_RULES_PRERELEASE_VALIDATION_MSG,null).getLocalizedMessage();preReleaseConflictsMsg=preReleaseConflictsMsg+"\n"+resultSet.getFailedRulesMessage(java.util.Locale.getDefault());}8.執行必要的企業規則集。
針對必要的規則集,為避免變更通知工作流程繼續執行,請將條件更新為針對ResolveReleaseConflicts工作流程任務,僅使用必要的規則集EXAMPLE1_RELEASE_RULE_SET。
result="NOT_READY";com.ptc.core.businessRules.engine.BusinessRuleSetBean[]beans=newcom.ptc.core.businessRules.engine.BusinessRuleSetBean[]{//Configuretocallrequiredrulesetonlycom.ptc.core.businessRules.engine.BusinessRuleSetBean.newBusinessRuleSetBean("EXAMPLE1_RELEASE_RULE_SET","wt.change2.ChangeRecord2")};com.ptc.core.businessRules.validation.RuleValidationResultSetresultSet=wt.businessRules.BusinessRulesHelper.engine.execute(primaryBusinessObject,beans);if(!resultSet.hasResultsByStatus(com.ptc.core.businessRules.validation.RuleValidationStatus.FAILURE)){result="PROCEED";}else{businessRulesResultSetGlobal=wt.businessRules.BusinessRulesHelper.serialize(resultSet);preReleaseConflictsMsg=newwt.util.WTMessage("com.ptc.windchill.enterprise.change2.change2ClientResource",com.ptc.windchill.enterprise.change2.change2ClientResource.BUSINESS_RULES_PRERELEASE_VALIDATION_MSG,null).getLocalizedMessage();preReleaseConflictsMsg=preReleaseConflictsMsg+"\n"+resultSet.getFailedRulesMessage(java.util.Locale.getDefault());}「解決發行衝突」工作流程任務會繼續再生任務,直到所有衝突均已解決為止。
延伸文章資訊
- 1職場衝突未必是壞事,也許是加速企業前進的一大關鍵!
沒有人想要衝突,特別是企業內部管理中,更不希望部門之間或同仁彼此有衝突事件。然而,衝突並非僅會帶來負面影響,有時透過衝突過程,反而能引發更具 ...
- 2衝突管理 - MBA智库百科
衝突管理(Conflict Management)衝突是指人們由於某種抵觸或對立狀況而感知到的不一致的差異。對組織中存在的衝突形成了三種不同的觀點:第一種為傳統的衝突觀點, ...
- 35 步驟化解職場衝突,展現你的領導力! - 經理人
遇到團隊關係非常緊張、衝突無法獲得解決、有人自覺不被了解、你覺得自己不被了解,透過這5個步驟,可以有效化解衝突。
- 4資誠:43%台灣家族企業不時或經常爆發內部衝突 - 鉅亨網
資誠發布《2021 全球暨臺灣家族企業調查報告》指出,43% 的台灣家族企業不時或經常在企業內部發生家族衝突,並且缺乏妥善的化解衝突方式, ...
- 5略過企業規則衝突的範例
略過企業規則衝突的範例. 您可能想要顯示某些或全部企業規則失敗,但不阻礙繼續或完成工作流程。建立兩個唯一的企業規則集,一個放置繼續或完成流程所需的規則,另一個 ...