package com.ga.core.vo.commission;

import lombok.Data;

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

/**
 * branch_mgr_allowance_ledger — 지점장수당 원장 (V94)
 * allowance_amount = LEAST(base_amount × allowance_rate, cap_amount)
 */
@Data
public class BranchMgrAllowanceLedgerVO {
    private Long ledgerId;
    /** 지점장 설계사 FK */
    private Long managerAgentId;
    /** 대상 조직 FK */
    private Long orgId;
    /** 정산 귀속월 (YYYYMM) */
    private String settleMonth;
    /** 조직 실적 기준금액 */
    private BigDecimal baseAmount;
    /** 적용 수당율 (branch_mgr_allowance_rule 스냅샷) */
    private BigDecimal allowanceRate;
    /** 수당액 = LEAST(base_amount × allowance_rate, cap_amount) */
    private BigDecimal allowanceAmount;
    /** 환수액 */
    private BigDecimal clawbackAmount;
    /** CALCULATED / CONFIRMED / PAID / CLAWED_BACK / CANCELLED */
    private String status;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
