package com.sc.sicanet.migracion_sicanet.entity;

import java.time.LocalDate;
import java.time.LocalDateTime;
import jakarta.persistence.*;

@Entity
@Table(name = "cat_laboral_socio")
public class Laboral {
    
    @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_laboral_socio")
    private int pkLaboralSocio;

    private String ocupacion;

    @Column(name = "es_micronegocio")
    private String esMicronegocio;

    private String empresa;

    @Column(name = "giro_comercial")
    private String giroComercial;

    private String departamento;

    private String puesto;

    @Column(name = "numero_empleado")
    private String numeroEmpleado;

    @Column(name = "fecha_ingreso")
    private LocalDate fechaIngreso;

    @Column(name = "fk_pld_giro_actividad")
    private int fkGiroActividad;

    @Column(name = "sujetoid_matriz_giro")
    private String sujetoidMatrizGiro;

    @Column(name = "domicilio_personal")
    private String domicilioPersonal;

    private String principal;

    @OneToOne
    @JoinColumn(name = "fk_cat_domicilio")
    private Domicilio domicilio;

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

    private String sujetoid;

    /* GETTER AND SETTERS */

    public Laboral() {}

    public Laboral(LocalDateTime fechaModificacion,
                   String ocupacion, String esMicronegocio, String empresa, String giroComercial, String departamento,
                   String puesto, String numeroEmpleado, LocalDate fechaIngreso, int fkGiroActividad, String sujetoidMatrizGiro,
                   String domicilioPersonal, String principal, int fkCatUsuario, String dispositivo, String estatus,
                   int sucursal, String sujetoid) {
        this.fechaModificacion = fechaModificacion;
        this.ocupacion = ocupacion;
        this.esMicronegocio = esMicronegocio;
        this.empresa = empresa;
        this.giroComercial = giroComercial;
        this.departamento = departamento;
        this.puesto = puesto;
        this.numeroEmpleado = numeroEmpleado;
        this.fechaIngreso = fechaIngreso;
        this.fkGiroActividad = fkGiroActividad;
        this.sujetoidMatrizGiro = sujetoidMatrizGiro;
        this.domicilioPersonal = domicilioPersonal;
        this.principal = principal;
        this.fkCatUsuario = fkCatUsuario;
        this.dispositivo = dispositivo;
        this.estatus = estatus;
        this.sucursal = sucursal;
        this.sujetoid = sujetoid;
    }

    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 getPkLaboralSocio() {
        return pkLaboralSocio;
    }
    
    public void setPkLaboralSocio(int pkLaboralSocio) {
        this.pkLaboralSocio = pkLaboralSocio;
    }
    
    public String getOcupacion() {
        return ocupacion;
    }
    
    public void setOcupacion(String ocupacion) {
        this.ocupacion = ocupacion;
    }
    
    public String getEsMicronegocio() {
        return esMicronegocio;
    }
    
    public void setEsMicronegocio(String esMicronegocio) {
        this.esMicronegocio = esMicronegocio;
    }
    
    public String getEmpresa() {
        return empresa;
    }
    
    public void setEmpresa(String empresa) {
        this.empresa = empresa;
    }
    
    public String getGiroComercial() {
        return giroComercial;
    }
    
    public void setGiroComercial(String giroComercial) {
        this.giroComercial = giroComercial;
    }
    
    public String getDepartamento() {
        return departamento;
    }
    
    public void setDepartamento(String departamento) {
        this.departamento = departamento;
    }
    
    public String getPuesto() {
        return puesto;
    }
    
    public void setPuesto(String puesto) {
        this.puesto = puesto;
    }
    
    public String getNumeroEmpleado() {
        return numeroEmpleado;
    }
    
    public void setNumeroEmpleado(String numeroEmpleado) {
        this.numeroEmpleado = numeroEmpleado;
    }
    
    public LocalDate getFechaIngreso() {
        return fechaIngreso;
    }
    
    public void setFechaIngreso(LocalDate fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }
    
    public int getFkGiroActividad() {
        return fkGiroActividad;
    }
    
    public void setFkGiroActividad(int fkGiroActividad) {
        this.fkGiroActividad = fkGiroActividad;
    }

    public String getSujetoidMatrizGiro() {
        return sujetoidMatrizGiro;
    }

    public void setSujetoidMatrizGiro(String sujetoidMatrizGiro) {
        this.sujetoidMatrizGiro = sujetoidMatrizGiro;
    }

    public String getDomicilioPersonal() {
        return domicilioPersonal;
    }
    
    public void setDomicilioPersonal(String domicilioPersonal) {
        this.domicilioPersonal = domicilioPersonal;
    }
    
    public String getPrincipal() {
        return principal;
    }
    
    public void setPrincipal(String principal) {
        this.principal = principal;
    }
    
    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;
    }

    public String getSujetoid() {
        return sujetoid;
    }

    public void setSujetoid(String sujetoid) {
        this.sujetoid = sujetoid;
    }

    public Domicilio getDomicilio() { return domicilio;}

    public void setDomicilio(Domicilio domicilio) { this.domicilio = domicilio;}
}
