위치:
InsurancePolicyTransactionService:reverseTransaction
이 서비스를 사용하여 보험 증권 거래를 취소합니다.
클래스: InsurancePolicyTransactionService
방법: reverseTransaction
작동 방법
보험 증권 트랜잭션을 취소하기 위해 이 서비스는 다음을 수행합니다.
-
지정된 입력
Id이InsurancePolicyTransaction개체의 인스턴스인지 확인합니다. -
InsurancePolicyTransaction레코드를 검색하고 취소할 트랜잭션이 다음과 같은지 확인합니다.-
정책의 최근 트랜잭션입니다.
-
활성(반전되지 않음) 정책에 연결됩니다.
-
최신 활성 정책 버전에 연결됩니다.
-
정책 스냅샷에 연결됩니다.
정책 스냅샷에 연결된 레코드에는
<policyId>_PolicySnapshot라는 첨부 파일이 있습니다. 트랜잭션을 생성하는 서비스(특히 InsPolicyService:createUpdatePolicy), InsPolicyService:createPolicyVersion, InsPolicyService:cancelPolicy, InsPolicyService:createTransaction)에 대해 정책 스냅샷이 활성화됩니다. -
취소 트랜잭션이 아닙니다.
-
-
다음을 사용하여 취소 트랜잭션 레코드를 만듭니다.
-
기본 트랜잭션의 음수 금액입니다.
-
transactionDate 및 postDate 값은 지정된 옵션을 기반으로 합니다.
-
트랜잭션 유형 및 이름이 취소로 설정됩니다.
-
parentTransactionId는 취소되는 트랜잭션의 트랜잭션 ID와 같습니다.
-
policyVersionId는 스냅샷의 정책 ID와 같습니다.
-
-
현재 정책 및 스냅샷 정책의 상태를 취소됨으로 설정합니다.
-
스냅샷을 기반으로 정책을 다시 만듭니다. 서비스:
-
저장 시 새 레코드가 생성되도록 기존 ID를 제거합니다.
-
삭제-삽입을 통해 결제 및 매출 일정을 다시 생성하여 원래 트랜잭션 조회를 유지합니다.
-
-
원래 트랜잭션과 관련된 커미션에 대한 취소 커미션을 만들고 저장하도록
InsuranceCommissionDataService.reverseCommissions에게 요청합니다.
원격 옵션
모든 원격 옵션은 선택 사항입니다.
원격 옵션 |
설명 |
|---|---|
|
취소 트랜잭션의 트랜잭션 날짜에 할당된 값 |
|
취소 거래의 후행 날짜(기본값: |
|
되돌리기 처리에 필요한 |
|
취소를 처리하는 데 필요한 |
|
|
|
|
|
|
|
|
출력
출력 |
설명 |
|---|---|
|
취소 트랜잭션 레코드의 ID입니다. 이 값은 입력 |
|
취소 커미션 레코드의 ID |
|
취소된 커미션의 금액 |
입력 JSON
다음은 입력 JSON의 서식을 지정하는 방법입니다.
{
"Id": <transaction id>
}옵션의 서식을 지정하는 방법은 다음과 같습니다.
{
"effectiveDate": <Date>,
"postDate" : <Date>,
"getCustomClassname" : <String>,
"postPolicyCustomClassName" : <String>,
"postTxnCustomClassName" : <String>
}다음은 입력 샘플입니다.
{
"Id": "0k9R000000003KjIAI"
}다음은 입력 옵션의 예입니다.
{
"effectiveDate": "4/1/2021",
"postDate" : "4/5/2021",
"getCustomClassname" : "GetPolicyTransactionReversalFields",
"postPolicyCustomClassName" : "PostInsurancePolicy",
"postTxnCustomClassName" : "PostInsurancePolicyTransaction"
}출력 JSON
다음은 출력 JSON 형식입니다.
{
"transactionIdForReversal": <transaction id>,
"reversalCommissionId": <commission id>,
"reversedCommissionAmount": <Decimal>
}다음은 출력 샘플입니다.
{
"transactionIdForReversal": "0k9R000000003KjIAI",
"reversalCommissionId": "0k9R000000003KjIAI",
"reversedCommissionAmount": 123.00
}