Du er her:
InsClaimCoverageService:invokeProductRules
Bruk denne tjenesten når du oppretter kravdekninger, til å kalle opp produktregler for statsoverganger.
Klasse: InsClaimCoverageService
Slik virker det
-
Finner kravobjektet basert på
objectID, og trekker ut produktene for objektet basert på denneobjectID. -
Ser etter den angitte
transitionName. -
Kjører reglene som er knyttet til produktet og gjelder for
transitionName.Evaluerer hver involvert partsforekomst og/eller involvert egenskapsforekomst separat for hver kravdekningsproduktregel.
-
Hvis noen av reglene evalueres til true, utfører tjenesten Vlocity-handlingen som er angitt i disse reglene.
-
Ser etter verdien i
includeStateTransition-alternativet. Hvis verdien =true, ser tjenesten etter tilstandsmodellen for dette objektet, finnerfieldAPIName-verdien og endrer denne verdien basert på overgangen. -
Utdata fra evalueringen for hver regel for hver involvert part- og/eller involvert egenskapsforekomst.
Eksterne alternativer
Alternativ |
Beskrivelse |
|---|---|
|
Hvis true, endrer tjenesten statusfeltet som er angitt i delstatsmodellens Hvis false, gjør ikke tjenesten noen statusovergang. |
|
Hvis det angis til |
|
Krav-IDen som skal spørres. |
|
Navnet på overgangen til staten som er knyttet til reglene du vil kjøre. Tjenesten kjører bare regler som er knyttet til Gå til delstatsmodellen for dette objektet for å finne et overgangsnavn. |
Utdata-JSON
Tjenesten returnerer regelevalueringen for hver forekomst av en involvert eiendom og/eller involvert part.
Her er strukturen til JSON-koden for utdata:
{
"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.>
}Her er et eksempel på en JSON-fil med utdata med regler som er evaluert til usann, og regler som er evaluert til sann:
{
"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
}
