package com.ga.core.vo.kpi;

import lombok.Data;

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

/**
 * 설계사/조직별 누계 수수료 KPI 응답 VO (mv_cumulative 기반)
 * V37 Materialized View 조회 전용.
 * level_type=AGENT 또는 ORG 두 레벨 혼재.
 */
@Data
public class KpiCumulativeResp {
    private String levelType;            // AGENT / ORG
    private Long entityId;               // AGENT이면 agent_id, ORG이면 org_id
    private String entityName;           // 설계사명 또는 조직명
    private Long orgId;
    private String orgName;
    private String firstSettleMonth;     // 첫 정산월
    private String lastSettleMonth;      // 최근 정산월
    private Long settleMonthCount;       // 정산 처리 월 수
    private BigDecimal cumGross;         // 누적 총 수수료 (세전)
    private BigDecimal cumNet;           // 누적 순지급액 (세후)
    private BigDecimal cumChargeback;    // 누적 환수 합계
    private BigDecimal cumOverride;      // 누적 조직 수수료
    private BigDecimal cumIncentive;     // 누적 시책 지급액
    private LocalDateTime refreshedAt;
}
