Вы находитесь здесь:
InsClaimCoverageService:invokeProductRules
Используйте эту службу при создании покрытий претензий для вызова правил продукта для переходов состояния.
Класс: InsClaimCoverageService
Принцип работы
-
Находит объект претензии на основе
objectIDи извлекает продукты для этого объекта на основе этогоobjectID. -
Ищет указанную
transitionName. -
Выполняет правила, связанные с продуктом и применимые к
transitionName.Оценивает каждый экземпляр вовлеченной стороны и/или экземпляр вовлеченного имущества отдельно для каждого правила продукта покрытия претензий.
-
Если любое из правил оценивается как истинное, служба выполняет действие Vlocity, указанное в этих правилах.
-
Ищет значение параметра
includeStateTransition. Если значение =true, служба ищет модель состояния для этого объекта, находит значениеfieldAPINameи изменяет это значение на основе перехода. -
Выводит результаты оценки для каждого правила в каждом экземпляре вовлеченной стороны и/или вовлеченного имущества.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Если значение true, служба изменяет поле состояния, указанное в Если значение false, то служба не выполняет переход в другое состояние. |
|
Если задано значение « |
|
Код заявки-претензии для запроса. |
|
Имя перехода в состояние, связанное с выполняемыми правилами. Служба будет выполнять только правила, связанные с указанным Чтобы найти имя перехода, перейдите к модели состояния для этого объекта. |
Вывод 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.>
}Ниже указан пример вывода JSON с правилами, оцененными как false, и правилами, оцененными как true:
{
"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
}
