package br.gov.sigefp.treasury.api.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * DTO para transferência de dados de Plano de Tesouraria.
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TreasuryPlanDTO {

    private UUID id;
    private Integer fiscalYear;
    private Integer referenceMonth; // 1-12
    private String status; // DRAFT, APPROVED, CLOSED
    private BigDecimal approvedCeiling;
    private BigDecimal executedAmount; // Calculado dinamicamente
    private BigDecimal availableAmount; // approvedCeiling - executedAmount
    private LocalDate startDate;
    private LocalDate endDate;
    private UUID approvedBy;
    private LocalDateTime approvedAt;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}

