package com.sc.sicanet.migracion_sicanet.entity;

import java.time.LocalDate;
import java.time.LocalDateTime;

import jakarta.persistence.*;

@Entity
@Table(name = "prestamos")
public class Prestamos {

    @Column(name = "fecha_control")
    private LocalDateTime fechaControl;

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

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

    @Id
    @Column(name = "pk_prestamo")
    private int pkPrestamo;

    @Column(name = "fk_cat_socio")
    private int fkCatSocio;

    @Column(name = "fk_tipo_prestamo")
    private int fkTipoPrestamo;

    @Column(name = "fk_prestamo_solicitud")
    private int fkPrestamoSolicitud;

    private double importe;

    @Column(name = "interes_periodo_gracia")
    private double interesPeriodoGracia;

    @Column(name = "importe_gasto_cobranza")
    private double importeGastoCobranza;

    @Column(name = "fecha_periodo_inicial")
    private LocalDate fechaPeriodoInicial;

    @Column(name = "fecha_otorgamiento")
    private LocalDate fechaOtorgamiento;

    @Column(name = "considera_vencimiento")
    private String consideraVencimiento;

    @Column(name = "fecha_vencimiento")
    private LocalDate fechaVencimiento;

    @Column(name = "fecha_dispersion")
    private LocalDate fechaDispersion;

    @Column(name = "fecha_dispersion_real")
    private LocalDate fechaDispersionReal;

    @Column(name = "fecha_liquidacion")
    private LocalDate fechaLiquidacion;

    @Column(name = "fecha_liquidacion_real")
    private LocalDate fechaLiquidacionReal;

    @Column(name = "considera_primer_pago")
    private String consideraPrimerPago;

    @Column(name = "fecha_primer_pago")
    private LocalDate fechaPrimerPago;

    @Column(name = "importe_primer_pago")
    private double importePrimerPago;

    @Column(name = "fecha_incumplimiento")
    private LocalDate fechaIncumplimiento;

    private String periodo;

    private int pagares;

    private double pgcapital;

    private double pginteres;

    private double pgserviciosadicionales;

    private String recurso;

    private String tipocobro;

    @Column(name = "tipo_credito")
    private String tipoCredito;

    private String iva;

    @Column(name = "tasa_iva")
    private double tasaIva;

    private double tiie;

    @Column(name = "porcentaje_anual_tiie")
    private double porcentajeAnualTiie;

    private String promocion;

    @Column(name = "meses_promocion")
    private int mesesPromocion;

    @Column(name = "intn_promocion")
    private double intnPromocion;

    private double intn;

    private double intm;

    private double cat;

    @Column(name = "fk_cat_finalidad")
    private int fkCatFinalidad;

    @Column(name = "fk_cat_destino")
    private int fkCatDestino;

    @Column(name = "fk_pld_cat_personas_recurso_destino")
    private int fkPldCatPersonasRecursoDestino;

    @Column(name = "fk_cat_tipo_segmento")
    private int fkCatTipoSegmento;

    private String referencia;

    @Column(name = "referencia_anterior")
    private String referenciaAnterior;

    private String control;

    @Column(name = "fk_grupo")
    private int fkGrupo;

    @Column(name = "fk_promotor")
    private int fkPromotor;

    private String serie;

    private int folio;

    @Column(name = "forma_pago")
    private String formaPago;

    @Column(name = "fk_empresa_convenio")
    private int fkEmpresaConvenio;

    @Column(name = "fk_prestamos_linea_credito")
    private int fkPrestamosLineaCredito;

    @Column(name = "bloqueo_cobro")
    private String bloqueoCobro;

    @Column(name = "cartera_castigada")
    private String carteraCastigada;

    private String contabilizado;

    private String recalculo;

    @Column(name = "cuenta_stp")
    private String cuentaStp;

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

    private String dispositivo;

    @Column(name = "fk_cat_usuario_dispersion")
    private int fkCatUsuarioDispersion;

    @Column(name = "fk_promotor_cobranza")
    private int fkPromotorCobranza;

    @Column(name = "dispositivo_dispersion")
    private String dispositivoDispersion;

    private String estatus;

    private int sucursal;

    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 getPkPrestamo() {
        return pkPrestamo;
    }

    public void setPkPrestamo(int pkPrestamo) {
        this.pkPrestamo = pkPrestamo;
    }

    public int getFkCatSocio() {
        return fkCatSocio;
    }

    public void setFkCatSocio(int fkCatSocio) {
        this.fkCatSocio = fkCatSocio;
    }

    public int getFkTipoPrestamo() {
        return fkTipoPrestamo;
    }

    public void setFkTipoPrestamo(int fkTipoPrestamo) {
        this.fkTipoPrestamo = fkTipoPrestamo;
    }

    public int getFkPrestamoSolicitud() {
        return fkPrestamoSolicitud;
    }

    public void setFkPrestamoSolicitud(int fkPrestamoSolicitud) {
        this.fkPrestamoSolicitud = fkPrestamoSolicitud;
    }

    public double getImporte() {
        return importe;
    }

    public void setImporte(double importe) {
        this.importe = importe;
    }

    public double getInteresPeriodoGracia() {
        return interesPeriodoGracia;
    }

    public void setInteresPeriodoGracia(double interesPeriodoGracia) {
        this.interesPeriodoGracia = interesPeriodoGracia;
    }

    public double getImporteGastoCobranza() {
        return importeGastoCobranza;
    }

    public void setImporteGastoCobranza(double importeGastoCobranza) {
        this.importeGastoCobranza = importeGastoCobranza;
    }

    public LocalDate getFechaPeriodoInicial() {
        return fechaPeriodoInicial;
    }

    public void setFechaPeriodoInicial(LocalDate fechaPeriodoInicial) {
        this.fechaPeriodoInicial = fechaPeriodoInicial;
    }

    public LocalDate getFechaOtorgamiento() {
        return fechaOtorgamiento;
    }

    public void setFechaOtorgamiento(LocalDate fechaOtorgamiento) {
        this.fechaOtorgamiento = fechaOtorgamiento;
    }

    public String getConsideraVencimiento() {
        return consideraVencimiento;
    }

    public void setConsideraVencimiento(String consideraVencimiento) {
        this.consideraVencimiento = consideraVencimiento;
    }

    public LocalDate getFechaVencimiento() {
        return fechaVencimiento;
    }

    public void setFechaVencimiento(LocalDate fechaVencimiento) {
        this.fechaVencimiento = fechaVencimiento;
    }

    public LocalDate getFechaDispersion() {
        return fechaDispersion;
    }

    public void setFechaDispersion(LocalDate fechaDispersion) {
        this.fechaDispersion = fechaDispersion;
    }

    public LocalDate getFechaDispersionReal() {
        return fechaDispersionReal;
    }

    public void setFechaDispersionReal(LocalDate fechaDispersionReal) {
        this.fechaDispersionReal = fechaDispersionReal;
    }

    public LocalDate getFechaLiquidacion() {
        return fechaLiquidacion;
    }

    public void setFechaLiquidacion(LocalDate fechaLiquidacion) {
        this.fechaLiquidacion = fechaLiquidacion;
    }

    public LocalDate getFechaLiquidacionReal() {
        return fechaLiquidacionReal;
    }

    public void setFechaLiquidacionReal(LocalDate fechaLiquidacionReal) {
        this.fechaLiquidacionReal = fechaLiquidacionReal;
    }

    public String getConsideraPrimerPago() {
        return consideraPrimerPago;
    }

    public void setConsideraPrimerPago(String consideraPrimerPago) {
        this.consideraPrimerPago = consideraPrimerPago;
    }

    public LocalDate getFechaPrimerPago() {
        return fechaPrimerPago;
    }

    public void setFechaPrimerPago(LocalDate fechaPrimerPago) {
        this.fechaPrimerPago = fechaPrimerPago;
    }

    public double getImportePrimerPago() {
        return importePrimerPago;
    }

    public void setImportePrimerPago(double importePrimerPago) {
        this.importePrimerPago = importePrimerPago;
    }

    public LocalDate getFechaIncumplimiento() {
        return fechaIncumplimiento;
    }

    public void setFechaIncumplimiento(LocalDate fechaIncumplimiento) {
        this.fechaIncumplimiento = fechaIncumplimiento;
    }

    public String getPeriodo() {
        return periodo;
    }

    public void setPeriodo(String periodo) {
        this.periodo = periodo;
    }

    public int getPagares() {
        return pagares;
    }

    public void setPagares(int pagares) {
        this.pagares = pagares;
    }

    public double getPgcapital() {
        return pgcapital;
    }

    public void setPgcapital(double pgcapital) {
        this.pgcapital = pgcapital;
    }

    public double getPginteres() {
        return pginteres;
    }

    public void setPginteres(double pginteres) {
        this.pginteres = pginteres;
    }

    public double getPgserviciosadicionales() {
        return pgserviciosadicionales;
    }

    public void setPgserviciosadicionales(double pgserviciosadicionales) {
        this.pgserviciosadicionales = pgserviciosadicionales;
    }

    public String getRecurso() {
        return recurso;
    }

    public void setRecurso(String recurso) {
        this.recurso = recurso;
    }

    public String getTipocobro() {
        return tipocobro;
    }

    public void setTipocobro(String tipocobro) {
        this.tipocobro = tipocobro;
    }

    public String getTipoCredito() {
        return tipoCredito;
    }

    public void setTipoCredito(String tipoCredito) {
        this.tipoCredito = tipoCredito;
    }

    public String getIva() {
        return iva;
    }

    public void setIva(String iva) {
        this.iva = iva;
    }

    public double getTasaIva() {
        return tasaIva;
    }

    public void setTasaIva(double tasaIva) {
        this.tasaIva = tasaIva;
    }

    public double getTiie() {
        return tiie;
    }

    public void setTiie(double tiie) {
        this.tiie = tiie;
    }

    public double getPorcentajeAnualTiie() {
        return porcentajeAnualTiie;
    }

    public void setPorcentajeAnualTiie(double porcentajeAnualTiie) {
        this.porcentajeAnualTiie = porcentajeAnualTiie;
    }

    public String getPromocion() {
        return promocion;
    }

    public void setPromocion(String promocion) {
        this.promocion = promocion;
    }

    public int getMesesPromocion() {
        return mesesPromocion;
    }

    public void setMesesPromocion(int mesesPromocion) {
        this.mesesPromocion = mesesPromocion;
    }

    public double getIntnPromocion() {
        return intnPromocion;
    }

    public void setIntnPromocion(double intnPromocion) {
        this.intnPromocion = intnPromocion;
    }

    public double getIntn() {
        return intn;
    }

    public void setIntn(double intn) {
        this.intn = intn;
    }

    public double getIntm() {
        return intm;
    }

    public void setIntm(double intm) {
        this.intm = intm;
    }

    public double getCat() {
        return cat;
    }

    public void setCat(double cat) {
        this.cat = cat;
    }

    public int getFkCatFinalidad() {
        return fkCatFinalidad;
    }

    public void setFkCatFinalidad(int fkCatFinalidad) {
        this.fkCatFinalidad = fkCatFinalidad;
    }

    public int getFkCatDestino() {
        return fkCatDestino;
    }

    public void setFkCatDestino(int fkCatDestino) {
        this.fkCatDestino = fkCatDestino;
    }

    public int getFkPldCatPersonasRecursoDestino() {
        return fkPldCatPersonasRecursoDestino;
    }

    public void setFkPldCatPersonasRecursoDestino(int fkPldCatPersonasRecursoDestino) {
        this.fkPldCatPersonasRecursoDestino = fkPldCatPersonasRecursoDestino;
    }

    public int getFkCatTipoSegmento() {
        return fkCatTipoSegmento;
    }

    public void setFkCatTipoSegmento(int fkCatTipoSegmento) {
        this.fkCatTipoSegmento = fkCatTipoSegmento;
    }

    public String getReferencia() {
        return referencia;
    }

    public void setReferencia(String referencia) {
        this.referencia = referencia;
    }

    public String getReferenciaAnterior() {
        return referenciaAnterior;
    }

    public void setReferencia_anterior(String referenciaAnterior) {
        this.referenciaAnterior = referenciaAnterior;
    }

    public String getControl() {
        return control;
    }

    public void setControl(String control) {
        this.control = control;
    }

    public int getFkGrupo() {
        return fkGrupo;
    }

    public void setFkGrupo(int fkGrupo) {
        this.fkGrupo = fkGrupo;
    }

    public int getFkPromotor() {
        return fkPromotor;
    }

    public void setFkPromotor(int fkPromotor) {
        this.fkPromotor = fkPromotor;
    }

    public String getSerie() {
        return serie;
    }

    public void setSerie(String serie) {
        this.serie = serie;
    }

    public int getFolio() {
        return folio;
    }

    public void setFolio(int folio) {
        this.folio = folio;
    }

    public String getFormaPago() {
        return formaPago;
    }

    public void setFormaPago(String formaPago) {
        this.formaPago = formaPago;
    }

    public int getFkEmpresaConvenio() {
        return fkEmpresaConvenio;
    }

    public void setFkEmpresaConvenio(int fkEmpresaConvenio) {
        this.fkEmpresaConvenio = fkEmpresaConvenio;
    }

    public int getFkPrestamosLineaCredito() {
        return fkPrestamosLineaCredito;
    }

    public void setFkPrestamosLineaCredito(int fkPrestamosLineaCredito) {
        this.fkPrestamosLineaCredito = fkPrestamosLineaCredito;
    }

    public String getBloqueoCobro() {
        return bloqueoCobro;
    }

    public void setBloqueoCobro(String bloqueoCobro) {
        this.bloqueoCobro = bloqueoCobro;
    }

    public String getCarteraCastigada() {
        return carteraCastigada;
    }

    public void setCarteraCastigada(String carteraCastigada) {
        this.carteraCastigada = carteraCastigada;
    }

    public String getContabilizado() {
        return contabilizado;
    }

    public void setContabilizado(String contabilizado) {
        this.contabilizado = contabilizado;
    }

    public String getRecalculo() {
        return recalculo;
    }

    public void setRecalculo(String recalculo) {
        this.recalculo = recalculo;
    }

    public String getCuentaStp() {
        return cuentaStp;
    }

    public void setCuentaStp(String cuentaStp) {
        this.cuentaStp = cuentaStp;
    }

    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 int getFkCatUsuarioDispersion() {
        return fkCatUsuarioDispersion;
    }

    public void setFkCatUsuarioDispersion(int fkCatUsuarioDispersion) {
        this.fkCatUsuarioDispersion = fkCatUsuarioDispersion;
    }

    public int getFkPromotorCobranza() {
        return fkPromotorCobranza;
    }

    public void setFkPromotorCobranza(int fkPromotorCobranza) {
        this.fkPromotorCobranza = fkPromotorCobranza;
    }

    public String getDispositivoDispersion() {
        return dispositivoDispersion;
    }

    public void setDispositivoDispersion(String dispositivoDispersion) {
        this.dispositivoDispersion = dispositivoDispersion;
    }

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