package br.gov.sigefp.budget.domain;

import br.gov.sigefp.common.domain.BaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.*;
import lombok.experimental.SuperBuilder;

@Entity
@Table(name = "economic_classification")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class EconomicClassification extends BaseEntity {

    @Column(nullable = false, unique = true, length = 20)
    private String code; // e.g. 6111

    @Column(nullable = false, length = 255)
    private String description; // e.g. Salários do pessoal do quadro

    @Column(nullable = false, length = 20)
    private String type; // REVENUE (Receita) or EXPENSE (Despesa)

    @Column(length = 20)
    private String uemoaCode; // Optional mapping (e.g. 010101 for 7111)
}
