package com.ga.core.vo.commission;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * recognized_performance_ledger — 인정실적 원장 (V91)
 * converted_premium = premium_amount × conversion_rate
 * recognized_amount  = converted_premium × recognition_rate
 */
@Data
public class RecognizedPerformanceLedgerVO {
    private Long ledgerId;
    private Long agentId;
    private Long contractId;
    /** 정산 귀속월 (YYYYMM) */
    private String settleMonth;
    private BigDecimal premiumAmount;
    /** 적용 환산율 (product_conversion_rate 스냅샷) */
    private BigDecimal conversionRate;
    /** 환산보험료 = premium_amount × conversion_rate */
    private BigDecimal convertedPremium;
    /** 인정율 (설계사 등급/정책 기준) */
    private BigDecimal recognitionRate;
    /** 인정실적 = converted_premium × recognition_rate */
    private BigDecimal recognizedAmount;
    /** CALCULATED / CONFIRMED / CANCELLED */
    private String status;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
