package com.ga.core.vo.commission;

import lombok.Data;

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

/**
 * override_ledger — 오버라이드 수수료 상세 원장 (V44)
 * calcOverride 결과를 수수료 종류 단위로 추적.
 */
@Data
public class OverrideLedgerVO {
    private Long ledgerId;
    /** 원천 설계사 (오버라이드 기준 수수료 발생 하위 설계사) */
    private Long fromAgentId;
    /** 오버라이드 수령 설계사 (상위 직급) */
    private Long toAgentId;
    private Long orgId;
    private String settleMonth;
    /** 원천 수수료 종류 (COMMISSION_TYPE 코드) */
    private String sourceCommissionType;
    private String sourceLedgerTable;
    private Long sourceLedgerId;
    private BigDecimal sourceAmount;
    private BigDecimal overrideRate;
    private BigDecimal overrideAmount;
    /** CALCULATED / CONFIRMED / PAID / CANCELLED */
    private String status;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
