package com.sc.sicanet.migracion_sicanet.entity;

import jakarta.persistence.*;

import java.time.LocalDateTime;

@Entity
@Table(name = "cat_contacto")
public class CatContacto {
    @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_contacto")
    private int pkCatContacto;

    @Column(name = "nombre")
    private String nombre;

    @Column(name = "contacto")
    private String contacto;

    @Column(name = "observacion")
    private String observacion;

    @Column(name = "fk_cat_tipo_contacto")
    private int fkCatTipoContacto;

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

    @Column(name = "fk_laboral_socio")
    private int fkLaboralSocio;

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

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

    /* CONSTRUCTOR */
    public CatContacto() {
    }

    public CatContacto(LocalDateTime fechaModificacion, String nombre,
                       String contacto, String observacion, int fkCatTipoContacto, int fkLaboralSocio,
                       int fkCatUsuario, String dispositivo, String estatus, int sucursal) {

        this.fechaModificacion = fechaModificacion;
        this.nombre = nombre;
        this.contacto = contacto;
        this.observacion = observacion;
        this.fkCatTipoContacto = fkCatTipoContacto;
        this.fkLaboralSocio = fkLaboralSocio;
        this.fkCatUsuario = fkCatUsuario;
        this.dispositivo = dispositivo;
        this.estatus = estatus;
        this.sucursal = sucursal;
    }

    /* GETTER Y SETTER */
    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 getPkCatContacto() {
        return pkCatContacto;
    }

    public void setPkCatContacto(int pkCatContacto) {
        this.pkCatContacto = pkCatContacto;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getContacto() {
        return contacto;
    }

    public void setContacto(String contacto) {
        this.contacto = contacto;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public int getFkCatTipoContacto() {
        return fkCatTipoContacto;
    }

    public void setFkCatTipoContacto(int fkCatTipoContacto) {
        this.fkCatTipoContacto = fkCatTipoContacto;
    }

    public Persona getPersona() {
        return persona;
    }

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

    public int getFkLaboralSocio() {
        return fkLaboralSocio;
    }

    public void setFkLaboralSocio(int fkLaboralSocio) {
        this.fkLaboralSocio = fkLaboralSocio;
    }

    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;
    }
}
