Vous êtes ici :
InsurancePolicyTransactionService:reverseTransaction
Utilisez ce service pour annuler une transaction de police d'assurance.
Ce service crée une transaction d'annulation pour une transaction de police d'assurance. Il recrée également la stratégie en fonction d'un cliché instantané de la stratégie depuis la création de la transaction d'origine.
Classe: InsurancePolicyTransactionService
Méthode : reverseTransaction
Fonctionnement
Pour annuler une transaction de police d'assurance, ce service :
-
Confirme que le
Idd'entrée donné est une instance de l'objetInsurancePolicyTransaction. -
Récupère l'enregistrement
InsurancePolicyTransactionet vérifie que la transaction à annuler est :-
La dernière transaction de la police.
-
Lié à une politique active (pas inversée).
-
Lié à la dernière version active de la police.
-
Lié à un instantané de stratégie.
Les enregistrements liés à un instantané de stratégie ont une pièce jointe nommée
<policyId>_PolicySnapshot. Les instantanés de stratégie sont activés pour les services qui créent des transactions, en particulier InsPolicyService:createUpdatePolicy, InsPolicyService:createPolicyVersion, InsPolicyService:cancelPolicy et InsPolicyService:createTransaction. -
Pas une transaction d'inversion.
-
-
Crée un enregistrement de transaction d'inversion avec :
-
Montants négatifs de la transaction d'origine.
-
valeurs transactionDate et postDate basées sur les options spécifiées.
-
Type et nom de transaction définis sur Annulation.
-
parentTransactionId égal à l'ID de transaction de la transaction à inverser.
-
policyVersionId égal à l'ID de stratégie du cliché instantané.
-
-
Définit le statut de la stratégie actuelle et de la stratégie de cliché instantané sur Inversé.
-
Recrée la stratégie basée sur l'instantané. Le service :
-
Retire les ID existants afin de créer de nouveaux enregistrements lors de l'enregistrement.
-
Recrée les calendriers de paiement et de revenu via la suppression-insertion, en préservant la référence d'origine aux transactions.
-
-
Appelle
InsuranceCommissionDataService.reverseCommissionsà créer et à enregistrer une commission d'annulation pour la commission associée à la transaction d'origine.
Entrées
Entrée |
Description |
|---|---|
|
L'ID du |
Options distantes
Toutes les options distantes sont facultatives.
Option distante |
Description |
|---|---|
|
Valeur attribuée à la date de transaction de l'inversion |
|
Date de publication de la transaction d'inversion (par défaut : |
|
Paquet Omnistudio Data Mapper pour récupérer les enregistrements |
|
Classe de récupération des enregistrements |
|
Paquet Data Mapper pour la création et la mise à jour d'enregistrements |
|
Classe de création et de mise à jour d'enregistrements |
|
Paquet Data Mapper pour la création et la mise à jour d'enregistrements |
|
Classe de création et de mise à jour d'enregistrements |
Sortie
Sortie |
Description |
|---|---|
|
ID de l'enregistrement de la transaction d'inversion. Cette valeur correspond à la |
|
ID de l'enregistrement de la commission d'inversion |
|
Montant de la commission annulée |
JSON d'entrée
Voici comment mettre en forme le JSON d'entrée.
{
"Id": <transaction id>
}Voici comment mettre en forme les options.
{
"effectiveDate": <Date>,
"postDate" : <Date>,
"getCustomClassname" : <String>,
"postPolicyCustomClassName" : <String>,
"postTxnCustomClassName" : <String>
}Voici un exemple d'entrée.
{
"Id": "0k9R000000003KjIAI"
}Voici quelques options d'entrée.
{
"effectiveDate": "4/1/2021",
"postDate" : "4/5/2021",
"getCustomClassname" : "GetPolicyTransactionReversalFields",
"postPolicyCustomClassName" : "PostInsurancePolicy",
"postTxnCustomClassName" : "PostInsurancePolicyTransaction"
}JSON de sortie
Voici le format du JSON de sortie.
{
"transactionIdForReversal": <transaction id>,
"reversalCommissionId": <commission id>,
"reversedCommissionAmount": <Decimal>
}Voici un exemple de sortie.
{
"transactionIdForReversal": "0k9R000000003KjIAI",
"reversalCommissionId": "0k9R000000003KjIAI",
"reversedCommissionAmount": 123.00
}