package com.ga.core.vo.settle;

import lombok.Data;

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

/**
 * 시책 지급 이력 VO (incentive_payment 테이블 1:1)
 * INSERT/UPDATE 전용.
 */
@Data
public class IncentivePaymentVO {
    private Long incentivePayId;
    private Long programId;
    private Long agentId;
    private String settleMonth;          // YYYYMM
    private BigDecimal baseAmount;       // 기준 수수료 (RATE 방식)
    private BigDecimal incentiveAmount;  // 시책 지급액
    private String status;               // CALCULATED/CONFIRMED/PAID/CANCELLED
    private LocalDateTime calcDate;      // 산출 일시
    private Long confirmedBy;
    private LocalDateTime confirmedAt;
    private Long settleId;               // 반영된 settle_master 참조
    private String cancelReason;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
