詳細情報:
InsClaimCoverageService:invokeProductRules
請求補償範囲を作成するときにこのサービスを使用して、状態遷移の商品ルールを呼び出します。
クラス: InsClaimCoverageService
操作手順
-
objectIDに基づいて請求オブジェクトを検索し、そのobjectIDに基づいてそのオブジェクトの商品を抽出します。 -
指定された
transitionNameを検索します。 -
商品に関連付けられて
transitionNameに適用されるルールを実行します。請求補償範囲商品ルールごとに、各関係者インスタンスおよび/または関与プロパティインスタンスを個別に評価します。
-
いずれかのルールが true と評価されると、サービスはそれらのルールで指定された Vlocity アクションを実行します。
-
includeStateTransitionオプションの値を検索します。value =trueの場合、サービスはこのオブジェクトの状態モデルを検索し、fieldAPIName値を見つけて、遷移に基づいてその値を変更します。 -
各関係者または関与プロパティインスタンスのルールごとに評価の結果を出力します。
リモートオプション
オプション |
説明 |
|---|---|
|
true の場合、サービスは状態モデルの false の場合、サービスは状態遷移を行いません。 |
|
|
|
照会される請求 ID。 |
|
実行するルールに関連付けられた状態遷移名。 サービスは、指定した Transition Name を見つけるには、このオブジェクトの状態モデルに移動します。 |
出力 JSON
このサービスは、関与プロパティまたは関係者 (あるいはその両方) の各インスタンスのルール評価を返します。
出力 JSON の構造を次に示します。
{
"falseRules" : {
"<String identifier>" : [
{
"ruleDetails": {
"requirement name": <ProductRequirement__c.Name>,
"conditions": <ProductRequirement__c.Conditions__c>,
"message": <ProductRequirement__c.Message__c>,
"action method": <ProductRequirement__c.VlocityActionId__r.InvokeMethodName__c>,
"action class": <ProductRequirement__c.VlocityActionId__r.InvokeClassName__c>,
"productId": <ProductRequirement__c.Product2Id__c>,
"transitionName": <input transitionName>,
"objectId": <input objectid>,
"ruleId": <<ProductRequirement__c.Id>
}
}
]
}
},
"trueRules": {
"<String identifier>" : [
{
"ruleDetails": {
"requirement name": <ProductRequirement__c.Name>,
"conditions": <ProductRequirement__c.Conditions__c>,
"message": <ProductRequirement__c.Message__c>,
"action method": <ProductRequirement__c.VlocityActionId__r.InvokeMethodName__c>,
"action class": <ProductRequirement__c.VlocityActionId__r.InvokeClassName__c>,
"productId": <ProductRequirement__c.Product2Id__c>,
"transitionName": <input transitionName>,
"objectId": <input objectid>,
"ruleId": <<ProductRequirement__c.Id>
}
}
]
},
"transitionSuccess": <Boolean, transition result>,
"stateTransit": <message with the object's state field, the old state, and the new state.>,
"canTransitState": <Boolean. determine if the object has fulfilled its transit criterria>,
"allFalse": <Boolean, if no rule executed true.>
}次に、false に評価されたルールと true に評価されたルールが含まれる出力 JSON の例を示します。
{
"falseRules": {
"PetBodilyInjury_BMW 735i_a4m5w000000p6DE": [
{
"ruleDetails": {
"requirement name": "Maximum Aggregation Rule",
"conditions": "TardisCoverage.EACHPERSON == 30800",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01t5w00000E0L8xAAF",
"transitionName": "OpenToClosed",
"objectId": "a4J5w000001Z3ElEAK",
"ruleId": "a5L5w000003Tl7EEAS"
}
}
]
},
"trueRules": {
"PetBodilyInjury_BMW 735i Owner_a4m5w000000p6DE": [
{
"actionResults": {
"IPResult": {
"output": "TestOutput"
}
},
"ruleDetails": {
"requirement name": "Maximum Aggregation Rule",
"conditions": "TardisCoverage.EACHPERSON == 30800",
"message": "TestMessage",
"action method": "Product_Rule",
"action class": "IntegrationProcedureService",
"productId": "01t5w00000E0L8xAAF",
"transitionName": "OpenToClosed",
"objectId": "a4J5w000001Z3EmEAK",
"ruleId": "a5L5w000003Tl7EEAS"
}
}
]
},
"transitionSuccess": true,
"stateTransit": " updated ClaimStatus__c from Open to Closed",
"canTransitState": true,
"allFalse": false
}
