package com.ga.core.vo.settle;

import lombok.Data;

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

/**
 * 해촉 정산 API 응답 VO
 * 설계사명, 조직명, 상태명 조인 포함.
 */
@Data
public class TerminationSettlementResp {
    private Long termSettleId;
    private Long agentId;
    private String agentName;                    // agent 조인
    private String orgName;                      // organization 조인
    private LocalDate terminationDate;
    private Long orgHistoryId;
    private String calcMonth;

    private BigDecimal unpaidRecruitAmount;
    private BigDecimal unpaidInstallmentAmount;
    private BigDecimal unpaidIncentiveAmount;
    private BigDecimal unpaidTotalAmount;        // 미지급 합계 (계산값)
    private BigDecimal chargebackExpectedAmount;
    private BigDecimal chargebackWaivedAmount;
    private BigDecimal deductionAmount;
    private BigDecimal finalPayAmount;

    private String status;
    private String statusName;                   // common_code 조인
    private String note;
    private Long confirmedBy;
    private String confirmedByName;              // users 조인
    private LocalDateTime confirmedAt;
    private LocalDateTime paidAt;
    private Long paymentId;

    private LocalDateTime createdAt;
    private Long createdBy;
    private LocalDateTime updatedAt;
    private Long updatedBy;
}
