package com.sc.sicanet.migracion_sicanet.entity;

import jakarta.persistence.*;

import java.time.LocalDateTime;

@Entity
@Table(name = "cat_rep_legal")
public class RepresentanteLegal {
    @Column(name = "fecha_control")
    private LocalDateTime fechaControl;

    @Column(name = "fecha_registro")
    private LocalDateTime fechaRegistro;

    @Column(name = "fecha_modificacion")
    private LocalDateTime fechaModificacion;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "pk_cat_rep_legal")
    private int pkRepresentanteLegal;

    @OneToOne
    @JoinColumn(name = "fk_persona_representante")
    private Persona representante;

    @Column(name = "poderes_facultades")
    private String poderesFacultades;

    @OneToOne
    @JoinColumn(name = "fk_persona")
    private Persona persona;

    @Column(name = "fk_cat_usuario")
    private int fkCatUsuario;

    private String dispositivo;
    private String estatus;
    private int sucursal;

    public RepresentanteLegal() {}

    public RepresentanteLegal(LocalDateTime fechaModificacion,
                              Persona representante, String poderesFacultades, int fkCatUsuario,
                              String dispositivo, String estatus, int sucursal, Persona persona) {
        this.fechaModificacion = fechaModificacion;
        this.representante = representante;
        this.poderesFacultades = poderesFacultades;
        this.fkCatUsuario = fkCatUsuario;
        this.dispositivo = dispositivo;
        this.estatus = estatus;
        this.sucursal = sucursal;
        this.persona = persona;
    }

    public LocalDateTime getFechaControl() {
        return fechaControl;
    }

    public void setFechaControl(LocalDateTime fechaControl) {
        this.fechaControl = fechaControl;
    }

    public LocalDateTime getFechaRegistro() {
        return fechaRegistro;
    }

    public void setFechaRegistro(LocalDateTime fechaRegistro) {
        this.fechaRegistro = fechaRegistro;
    }

    public LocalDateTime getFechaModificacion() {
        return fechaModificacion;
    }

    public void setFechaModificacion(LocalDateTime fechaModificacion) {
        this.fechaModificacion = fechaModificacion;
    }

    public int getPkRepresentanteLegal() {
        return pkRepresentanteLegal;
    }

    public void setPkRepresentanteLegal(int pkRepresentanteLegal) {
        this.pkRepresentanteLegal = pkRepresentanteLegal;
    }

    public Persona getRepresentante() {
        return representante;
    }

    public void setRepresentante(Persona representante) {
        this.representante = representante;
    }

    public String getPoderesFacultades() {
        return poderesFacultades;
    }

    public void setPoderesFacultades(String poderesFacultades) {
        this.poderesFacultades = poderesFacultades;
    }

    public Persona getPersona() {
        return persona;
    }

    public void setPersona(Persona persona) {
        this.persona = persona;
    }

    public int getFkCatUsuario() {
        return fkCatUsuario;
    }

    public void setFkCatUsuario(int fkCatUsuario) {
        this.fkCatUsuario = fkCatUsuario;
    }

    public String getDispositivo() {
        return dispositivo;
    }

    public void setDispositivo(String dispositivo) {
        this.dispositivo = dispositivo;
    }

    public String getEstatus() {
        return estatus;
    }

    public void setEstatus(String estatus) {
        this.estatus = estatus;
    }

    public int getSucursal() {
        return sucursal;
    }

    public void setSucursal(int sucursal) {
        this.sucursal = sucursal;
    }
}
