package com.ejie.ab79.model.AB63;


import java.util.Date;

import com.ejie.ab79.model.expedientes.DatosDirecciones;
import com.ejie.ab79.model.expedientes.DatosTerceros;
import com.ejie.ab79.model.inspecciones.CampainasInspeccion;
import com.ejie.ab79.model.inspecciones.Inspecciones;
import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * EstablecimientosRegistrados  
 *  
 */

public class EstablecimientosRegistrados  implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	
    private Integer idEstablecimiento;
	private String identificadorEstablecimiento;
	private DatosDirecciones datosDireccion;
    private Date fechaApertura;
    private DatosTerceros datosTercero;
    private String tipoEstablecimiento;
    private String modalidadEstablecimiento;
    private String categoriaEstablecimiento;
    private String especialidad;
    private String grupo;
    private Date fechaRegistro;
    private String usuarioRegistro;
    
    //Fechas filtrado
    private Date fechaAperturaDesde;
    private Date fechaAperturaHasta;
    private Date fechaUltinspeccionDesde;
    private Date fechaUltinspeccionHasta;
    private Date fechaUltmodificacionDesde;
    private Date fechaUltmodificacionHasta;
    
    private CampainasInspeccion campaina;
    private Integer mostrar;
    private String observaciones;
    private Inspecciones inspeccion;
    
    
    public EstablecimientosRegistrados() {
    }
      
     public EstablecimientosRegistrados(Integer idEstablecimiento) {
          this.idEstablecimiento = idEstablecimiento;
	}
    
	public EstablecimientosRegistrados(Integer idEstablecimiento, String identificadorEstablecimiento,
			DatosDirecciones datosDireccion, Date fechaApertura, DatosTerceros datosTercero) {
		
		this.idEstablecimiento = idEstablecimiento;
		this.identificadorEstablecimiento = identificadorEstablecimiento;
		this.datosDireccion = datosDireccion;
		this.fechaApertura = fechaApertura;
		this.datosTercero = datosTercero;
	}
	
	

	public Integer getIdEstablecimiento() {
		return idEstablecimiento;
	}

	public void setIdEstablecimiento(Integer idEstablecimiento) {
		this.idEstablecimiento = idEstablecimiento;
	}

	public String getIdentificadorEstablecimiento() {
		return identificadorEstablecimiento;
	}

	public void setIdentificadorEstablecimiento(String identificadorEstablecimiento) {
		this.identificadorEstablecimiento = identificadorEstablecimiento;
	}

	public DatosDirecciones getDatosDireccion() {
		return datosDireccion;
	}

	public void setDatosDireccion(DatosDirecciones datosDireccion) {
		this.datosDireccion = datosDireccion;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaApertura() {
		return fechaApertura;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaApertura(Date fechaApertura) {
		this.fechaApertura = fechaApertura;
	}

	public DatosTerceros getDatosTercero() {
		return datosTercero;
	}

	public void setDatosTercero(DatosTerceros datosTercero) {
		this.datosTercero = datosTercero;
	}
	
	public String getNombreTitular(){
		if(this.datosTercero != null) {
			return this.datosTercero.getNombre() + " " + this.datosTercero.getApellido1() + " " + this.datosTercero.getApellido2();
		} else{
			return "";
		}
		
	}

	public String getTipoEstablecimiento() {
		return tipoEstablecimiento;
	}

	public void setTipoEstablecimiento(String tipoEstablecimiento) {
		this.tipoEstablecimiento = tipoEstablecimiento;
	}

	public String getModalidadEstablecimiento() {
		return modalidadEstablecimiento;
	}

	public void setModalidadEstablecimiento(String modalidadEstablecimiento) {
		this.modalidadEstablecimiento = modalidadEstablecimiento;
	}

	public String getCategoriaEstablecimiento() {
		return categoriaEstablecimiento;
	}

	public void setCategoriaEstablecimiento(String categoriaEstablecimiento) {
		this.categoriaEstablecimiento = categoriaEstablecimiento;
	}

	public String getEspecialidad() {
		return especialidad;
	}
	
	public void setEspecialidad(String especialidad) {
		this.especialidad = especialidad;
	}

	public String getGrupo() {
		return grupo;
	}

	public void setGrupo(String grupo) {
		this.grupo = grupo;
	}
	
	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaRegistro() {
		return fechaRegistro;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaRegistro(Date fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

	public String getUsuarioRegistro() {
		return usuarioRegistro;
	}

	public void setUsuarioRegistro(String usuarioRegistro) {
		this.usuarioRegistro = usuarioRegistro;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaAperturaDesde() {
		return fechaAperturaDesde;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaAperturaDesde(Date fechaAperturaDesde) {
		this.fechaAperturaDesde = fechaAperturaDesde;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaAperturaHasta() {
		return fechaAperturaHasta;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaAperturaHasta(Date fechaAperturaHasta) {
		this.fechaAperturaHasta = fechaAperturaHasta;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaUltinspeccionDesde() {
		return fechaUltinspeccionDesde;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltinspeccionDesde(Date fechaUltinspeccionDesde) {
		this.fechaUltinspeccionDesde = fechaUltinspeccionDesde;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaUltinspeccionHasta() {
		return fechaUltinspeccionHasta;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltinspeccionHasta(Date fechaUltinspeccionHasta) {
		this.fechaUltinspeccionHasta = fechaUltinspeccionHasta;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaUltmodificacionDesde() {
		return fechaUltmodificacionDesde;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltmodificacionDesde(Date fechaUltmodificacionDesde) {
		this.fechaUltmodificacionDesde = fechaUltmodificacionDesde;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFechaUltmodificacionHasta() {
		return fechaUltmodificacionHasta;
	}

	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltmodificacionHasta(Date fechaUltmodificacionHasta) {
		this.fechaUltmodificacionHasta = fechaUltmodificacionHasta;
	}

	public CampainasInspeccion getCampaina() {
		return campaina;
	}

	public void setCampaina(CampainasInspeccion campaina) {
		this.campaina = campaina;
	}
	
	public Integer getMostrar() {
		return this.mostrar;
	}
	
	public void setMostrar(Integer mostrar) {
		this.mostrar = mostrar;
	}
	
	public String getObservaciones() {
		return this.observaciones;
	}
	
	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}
	
	public Inspecciones getInspeccion() {
		return this.inspeccion;
	}
	
	public void setInspeccion(Inspecciones inspeccion) {
		this.inspeccion = inspeccion;
	}

	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { " ); 
		result.append(" [ idEstablecimiento: ").append(this.idEstablecimiento).append(" ]");
		result.append(", [ identificadorEstablecimiento: ").append(this.identificadorEstablecimiento).append(" ]");
		result.append(", [ datosDireccion: ").append(this.datosDireccion).append(" ]");
		result.append(", [ fechaApertura: ").append(this.fechaApertura).append(" ]");
		result.append(", [ datosTercero: ").append(this.datosTercero).append(" ]");
		result.append("}");
		result.append("}");
		return result.toString();
	}


}

