package com.ga.core.vo.commission;

import lombok.Data;

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

/**
 * clawback_receivable — 환수채권 마스터 (V111)
 * balance = original_amount - recovered_amount
 */
@Data
public class ClawbackReceivableVO {
    private Long receivableId;
    private Long agentId;
    /** 미수 발생 정산월 (YYYYMM) */
    private String originSettleMonth;
    /** 발생액 — 양수, 당월 |net| */
    private BigDecimal originalAmount;
    /** 누적 상계 회수액 */
    private BigDecimal recoveredAmount;
    /** 잔액 = original_amount - recovered_amount */
    private BigDecimal balance;
    /** OUTSTANDING / RECOVERING / CLEARED / WRITTEN_OFF */
    private String status;
    /** 최근 회수 정산월 (YYYYMM) */
    private String lastRecoveryMonth;
    /** 대손/직접상환 사유 */
    private String writeoffReason;
    private LocalDateTime writtenOffAt;
    private Long writtenOffBy;
    private LocalDateTime createdAt;
    private Long createdBy;
    private LocalDateTime updatedAt;
}
