package br.gov.sigefp.rh.domain;

import br.gov.sigefp.common.domain.BaseEntity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;

@Entity
@Table(name = "monthly_attendance_sheet", uniqueConstraints = {
        @UniqueConstraint(columnNames = { "org_unit_id", "month", "year" }) })
@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class MonthlyAttendanceSheet extends BaseEntity {

    @Column(name = "org_unit_id", nullable = false)
    private java.util.UUID orgUnitId;

    @Column(name = "month", nullable = false)
    private Integer month;

    @Column(name = "year", nullable = false)
    private Integer year;

    @Enumerated(EnumType.STRING)
    @Column(name = "status", nullable = false)
    private AttendanceSheetStatus status;

    @Column(name = "approved_by")
    private String approvedBy;
}
