위치:
InsClaimCoverageService:invokeProductRules
청구 보장 범위를 만들 때 이 서비스를 사용하여 시/도 전환을 위한 제품 규칙을 호출합니다.
클래스: InsClaimCoverageService
작동 방법
-
objectID를 기반으로 클레임 객체를 찾고 해당objectID를 기반으로 해당 객체에 대한 제품을 추출합니다. -
지정된
transitionName를 찾습니다. -
제품과 연결되어 있으며
transitionName에 적용되는 규칙을 실행합니다.각 청구 보장 범위 제품 규칙에 대해 각 관련 당사자 인스턴스 및/또는 관련 속성 인스턴스를 별도로 평가합니다.
-
규칙이 true로 평가될 경우 서비스가 해당 규칙에 지정된 Vlocity 작업을 실행합니다.
-
includeStateTransition옵션의 값을 찾습니다. 값이true인 경우 서비스는 이 객체에 대한 상태 모델을 찾고,fieldAPIName값을 찾고, 전환을 기반으로 해당 값을 변경합니다. -
각 관련 당사자 및/또는 관련 속성 인스턴스의 각 규칙에 대한 평가 결과를 출력합니다.
원격 옵션
옵션 |
설명 |
|---|---|
|
true인 경우 서비스는 상태 모델의 false인 경우 서비스에서 상태 전환을 수행하지 않습니다. |
|
|
|
조회할 청구 ID입니다. |
|
실행할 규칙과 연결된 시/도 전환 이름입니다. 서비스는 사용자가 지정한 전환 이름을 찾으려면 이 개체의 시/도 모델로 이동합니다. |
출력 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
}
