package com.ejie.ad74a.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * InformeSocial generated by UDA, 10-feb-2023 12:13:19.
 * 
 * @author UDA
 */

public class InformeSocial implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idInfSocial02;
	private Date fInforme02;
	private Usuarios usuario;
	/*
	 * private String ayuntamiento02; private Ayuntamientos ayuntamiento; private
	 * String unidadBase02; private String telefono02; private String email02;
	 */
	private Integer sola02;
	private Integer estaSolaManana02;
	private Integer estaSolaTarde02;
	private Integer estaSolaNoche02;
	private Integer relacionEntorno02;
	private Integer familiarFallecido02;
	private String vinculoFallecido02;
	private Integer visitasFamilia02;
	private Integer visitasAmigos02;
	private Integer frecuenciaSalidas02;
	private Integer periodoSinVisitas02;
	private Integer tiempoSinVisitas02;
	private String observaciones02;
	private String observacionesPs02;
	private Integer apreciacion02;

	private Long idInforme02;
	private String tipoIdentificador02;
	private String identificador02;
	private String nombre02;
	private String apellido102;
	private String apellido202;

	private Date fAlta02;
	private String usuAlta02;
	private List<Solicitantes> solicitanteses = new ArrayList<Solicitantes>();
	private List<Expedientes> expedienteses = new ArrayList<Expedientes>();
	private List<ConvivientesInfSoci> convivientes = new ArrayList<ConvivientesInfSoci>();

	/**
	 * Method 'InformeSocial'.
	 */
	public InformeSocial() {
	}

	/**
	 * Method 'InformeSocial'.
	 * 
	 * @param idInfSocial02 Long
	 */
	public InformeSocial(Long idInfSocial02) {
		this.idInfSocial02 = idInfSocial02;
	}

	/**
	 * Method 'InformeSocial'.
	 * 
	 * @param idInfSocial02       Long
	 * @param FInforme02          Date
	 * @param trabajadorSoc02     String
	 * @param sola02              Integer
	 * @param estaSolaManana02    Integer
	 * @param estaSolaTarde02     Integer
	 * @param estaSolaNoche02     Integer
	 * @param relacionEntorno02   Integer
	 * @param familiarFallecido02 Integer
	 * @param vinculoFallecido02  String
	 * @param visitasFamilia02    Integer
	 * @param visitasAmigos02     Integer
	 * @param frecuenciaSalidas02 Integer
	 * @param periodoSinVisitas02 Integer
	 * @param tiempoSinVisitas02  Integer
	 * @param observaciones02     String
	 * @param observacionesPs02   String
	 * @param apreciacion02       Integer
	 * @param idInforme02         Long
	 * @param tipoIdentificador01 String
	 * @param identificador01     String
	 * @param nombre01            String
	 * @param apellido101         String
	 * @param apellido201         String
	 * @param fAlta02             Date
	 */
	public InformeSocial(Long idInfSocial02, Date FInforme02, Integer sola02, Integer estaSolaManana02,
			Integer estaSolaTarde02, Integer estaSolaNoche02, Integer relacionEntorno02, Integer familiarFallecido02,
			String vinculoFallecido02, Integer visitasFamilia02, Integer visitasAmigos02, Integer frecuenciaSalidas02,
			Integer periodoSinVisitas02, Integer tiempoSinVisitas02, String observaciones02, String observacionesPs02,
			Integer apreciacion02, Long idInforme02, String tipoIdentificador02, String identificador02,
			String nombre02, String apellido102, String apellido202, Date fAlta02, String usuAlta02) {
		this.idInfSocial02 = idInfSocial02;
		this.fInforme02 = FInforme02;
		this.sola02 = sola02;
		this.estaSolaManana02 = estaSolaManana02;
		this.estaSolaTarde02 = estaSolaTarde02;
		this.estaSolaNoche02 = estaSolaNoche02;
		this.relacionEntorno02 = relacionEntorno02;
		this.familiarFallecido02 = familiarFallecido02;
		this.vinculoFallecido02 = vinculoFallecido02;
		this.visitasFamilia02 = visitasFamilia02;
		this.visitasAmigos02 = visitasAmigos02;
		this.frecuenciaSalidas02 = frecuenciaSalidas02;
		this.periodoSinVisitas02 = periodoSinVisitas02;
		this.tiempoSinVisitas02 = tiempoSinVisitas02;
		this.observaciones02 = observaciones02;
		this.observacionesPs02 = observacionesPs02;
		this.apreciacion02 = apreciacion02;
		this.idInforme02 = idInforme02;
		this.tipoIdentificador02 = tipoIdentificador02;
		this.identificador02 = identificador02;
		this.nombre02 = nombre02;
		this.apellido102 = apellido102;
		this.apellido202 = apellido202;
		this.fAlta02 = fAlta02;
		this.usuAlta02 = usuAlta02;
	}

	/**
	 * Method 'InformeSocial'.
	 * 
	 * @param idInfSocial02       Long
	 * @param FInforme02          Date
	 * @param trabajadorSoc02     String
	 * @param sola02              Integer
	 * @param estaSolaManana02    Integer
	 * @param estaSolaTarde02     Integer
	 * @param estaSolaNoche02     Integer
	 * @param relacionEntorno02   Integer
	 * @param familiarFallecido02 Integer
	 * @param vinculoFallecido02  String
	 * @param visitasFamilia02    Integer
	 * @param visitasAmigos02     Integer
	 * @param frecuenciaSalidas02 Integer
	 * @param periodoSinVisitas02 Integer
	 * @param tiempoSinVisitas02  Integer
	 * @param observaciones02     String
	 * @param observacionesPs02   String
	 * @param apreciacion02       Integer
	 * @param idInforme02         Long
	 * @param tipoIdentificador01 String
	 * @param identificador01     String
	 * @param nombre01            String
	 * @param apellido101         String
	 * @param apellido201         String
	 * @param fAlta02             Date
	 * @param solicitanteses      List<Solicitantes>
	 * @param expedienteses       List<Expedientes>
	 */
	public InformeSocial(Long idInfSocial02, Date FInforme02, Integer sola02, Integer estaSolaManana02,
			Integer estaSolaTarde02, Integer estaSolaNoche02, Integer relacionEntorno02, Integer familiarFallecido02,
			String vinculoFallecido02, Integer visitasFamilia02, Integer visitasAmigos02, Integer frecuenciaSalidas02,
			Integer periodoSinVisitas02, Integer tiempoSinVisitas02, String observaciones02, String observacionesPs02,
			Integer apreciacion02, Long idInforme02, String tipoIdentificador02, String identificador02,
			String nombre02, String apellido102, String apellido202, Date fAlta02, String usuAlta02,
			List<Solicitantes> solicitanteses, List<Expedientes> expedienteses) {

		this.idInfSocial02 = idInfSocial02;
		this.fInforme02 = FInforme02;
		this.sola02 = sola02;
		this.estaSolaManana02 = estaSolaManana02;
		this.estaSolaTarde02 = estaSolaTarde02;
		this.estaSolaNoche02 = estaSolaNoche02;
		this.relacionEntorno02 = relacionEntorno02;
		this.familiarFallecido02 = familiarFallecido02;
		this.vinculoFallecido02 = vinculoFallecido02;
		this.visitasFamilia02 = visitasFamilia02;
		this.visitasAmigos02 = visitasAmigos02;
		this.frecuenciaSalidas02 = frecuenciaSalidas02;
		this.periodoSinVisitas02 = periodoSinVisitas02;
		this.tiempoSinVisitas02 = tiempoSinVisitas02;
		this.observaciones02 = observaciones02;
		this.observacionesPs02 = observacionesPs02;
		this.apreciacion02 = apreciacion02;
		this.idInforme02 = idInforme02;
		this.tipoIdentificador02 = tipoIdentificador02;
		this.identificador02 = identificador02;
		this.nombre02 = nombre02;
		this.apellido102 = apellido102;
		this.apellido202 = apellido202;
		this.fAlta02 = fAlta02;
		this.solicitanteses = solicitanteses;
		this.expedienteses = expedienteses;
	}

	/**
	 * Method 'getIdInfSocial02'.
	 *
	 * @return Long
	 */

	public Long getIdInfSocial02() {
		return this.idInfSocial02;
	}

	/**
	 * Method 'setIdInfSocial02'.
	 *
	 * @param idInfSocial02 Long
	 * @return
	 */

	public void setIdInfSocial02(Long idInfSocial02) {
		this.idInfSocial02 = idInfSocial02;
	}

	/**
	 * Method 'getFInforme02'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfInforme02() {
		return this.fInforme02;
	}

	/**
	 * Method 'setFInforme02'.
	 *
	 * @param fInforme02 java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setfInforme02(Date fInforme02) {
		this.fInforme02 = fInforme02;
	}

	/**
	 * Method 'getSola02'.
	 *
	 * @return Integer
	 */

	public Integer getSola02() {
		return this.sola02;
	}

	/**
	 * Method 'setSola02'.
	 *
	 * @param sola02 Integer
	 * @return
	 */

	public void setSola02(Integer sola02) {
		this.sola02 = sola02;
	}

	/**
	 * Method 'getEstaSolaManana02'.
	 *
	 * @return Integer
	 */

	public Integer getEstaSolaManana02() {
		return this.estaSolaManana02;
	}

	/**
	 * Method 'setEstaSolaManana02'.
	 *
	 * @param estaSolaManana02 Integer
	 * @return
	 */

	public void setEstaSolaManana02(Integer estaSolaManana02) {
		this.estaSolaManana02 = estaSolaManana02;
	}

	/**
	 * Method 'getEstaSolaTarde02'.
	 *
	 * @return Integer
	 */

	public Integer getEstaSolaTarde02() {
		return this.estaSolaTarde02;
	}

	/**
	 * Method 'setEstaSolaTarde02'.
	 *
	 * @param estaSolaTarde02 Integer
	 * @return
	 */

	public void setEstaSolaTarde02(Integer estaSolaTarde02) {
		this.estaSolaTarde02 = estaSolaTarde02;
	}

	/**
	 * Method 'getEstaSolaNoche02'.
	 *
	 * @return Integer
	 */

	public Integer getEstaSolaNoche02() {
		return this.estaSolaNoche02;
	}

	/**
	 * Method 'setEstaSolaNoche02'.
	 *
	 * @param estaSolaNoche02 Integer
	 * @return
	 */

	public void setEstaSolaNoche02(Integer estaSolaNoche02) {
		this.estaSolaNoche02 = estaSolaNoche02;
	}

	/**
	 * Method 'getRelacionEntorno02'.
	 *
	 * @return Integer
	 */

	public Integer getRelacionEntorno02() {
		return this.relacionEntorno02;
	}

	/**
	 * Method 'setRelacionEntorno02'.
	 *
	 * @param relacionEntorno02 Integer
	 * @return
	 */

	public void setRelacionEntorno02(Integer relacionEntorno02) {
		this.relacionEntorno02 = relacionEntorno02;
	}

	/**
	 * Method 'getFamiliarFallecido02'.
	 *
	 * @return Integer
	 */

	public Integer getFamiliarFallecido02() {
		return this.familiarFallecido02;
	}

	/**
	 * Method 'setFamiliarFallecido02'.
	 *
	 * @param familiarFallecido02 Integer
	 * @return
	 */

	public void setFamiliarFallecido02(Integer familiarFallecido02) {
		this.familiarFallecido02 = familiarFallecido02;
	}

	/**
	 * Method 'getVinculoFallecido02'.
	 *
	 * @return String
	 */

	public String getVinculoFallecido02() {
		return this.vinculoFallecido02;
	}

	/**
	 * Method 'setVinculoFallecido02'.
	 *
	 * @param vinculoFallecido02 String
	 * @return
	 */

	public void setVinculoFallecido02(String vinculoFallecido02) {
		this.vinculoFallecido02 = vinculoFallecido02;
	}

	/**
	 * Method 'getVisitasFamilia02'.
	 *
	 * @return Integer
	 */

	public Integer getVisitasFamilia02() {
		return this.visitasFamilia02;
	}

	/**
	 * Method 'setVisitasFamilia02'.
	 *
	 * @param visitasFamilia02 Integer
	 * @return
	 */

	public void setVisitasFamilia02(Integer visitasFamilia02) {
		this.visitasFamilia02 = visitasFamilia02;
	}

	/**
	 * Method 'getVisitasAmigos02'.
	 *
	 * @return Integer
	 */

	public Integer getVisitasAmigos02() {
		return this.visitasAmigos02;
	}

	/**
	 * Method 'setVisitasAmigos02'.
	 *
	 * @param visitasAmigos02 Integer
	 * @return
	 */

	public void setVisitasAmigos02(Integer visitasAmigos02) {
		this.visitasAmigos02 = visitasAmigos02;
	}

	/**
	 * Method 'getFrecuenciaSalidas02'.
	 *
	 * @return Integer
	 */

	public Integer getFrecuenciaSalidas02() {
		return this.frecuenciaSalidas02;
	}

	/**
	 * Method 'setFrecuenciaSalidas02'.
	 *
	 * @param frecuenciaSalidas02 Integer
	 * @return
	 */

	public void setFrecuenciaSalidas02(Integer frecuenciaSalidas02) {
		this.frecuenciaSalidas02 = frecuenciaSalidas02;
	}

	/**
	 * Method 'getPeriodoSinVisitas02'.
	 *
	 * @return Integer
	 */

	public Integer getPeriodoSinVisitas02() {
		return this.periodoSinVisitas02;
	}

	/**
	 * Method 'setPeriodoSinVisitas02'.
	 *
	 * @param periodoSinVisitas02 Integer
	 * @return
	 */

	public void setPeriodoSinVisitas02(Integer periodoSinVisitas02) {
		this.periodoSinVisitas02 = periodoSinVisitas02;
	}

	/**
	 * Method 'getTiempoSinVisitas02'.
	 *
	 * @return Integer
	 */

	public Integer getTiempoSinVisitas02() {
		return this.tiempoSinVisitas02;
	}

	/**
	 * Method 'setTiempoSinVisitas02'.
	 *
	 * @param tiempoSinVisitas02 Integer
	 * @return
	 */

	public void setTiempoSinVisitas02(Integer tiempoSinVisitas02) {
		this.tiempoSinVisitas02 = tiempoSinVisitas02;
	}

	/**
	 * Method 'getObservaciones02'.
	 *
	 * @return String
	 */

	public String getObservaciones02() {
		return this.observaciones02;
	}

	/**
	 * Method 'setObservaciones02'.
	 *
	 * @param observaciones02 String
	 * @return
	 */

	public void setObservaciones02(String observaciones02) {
		this.observaciones02 = observaciones02;
	}

	/**
	 * Method 'getObservacionesPs02'.
	 *
	 * @return String
	 */

	public String getObservacionesPs02() {
		return this.observacionesPs02;
	}

	/**
	 * Method 'setObservacionesPs02'.
	 *
	 * @param observacionesPs02 String
	 * @return
	 */

	public void setObservacionesPs02(String observacionesPs02) {
		this.observacionesPs02 = observacionesPs02;
	}

	/**
	 * Method 'getApreciacion02'.
	 *
	 * @return Integer
	 */

	public Integer getApreciacion02() {
		return this.apreciacion02;
	}

	/**
	 * Method 'setApreciacion02'.
	 *
	 * @param apreciacion02 Integer
	 * @return
	 */

	public void setApreciacion02(Integer apreciacion02) {
		this.apreciacion02 = apreciacion02;
	}

	/**
	 * Method 'getfAlta02'.
	 *
	 * @return java.util.Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getfAlta02() {
		return this.fAlta02;
	}

	/**
	 * Method 'setfAlta02'.
	 *
	 * @param fAlta02 java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setfAlta02(Date fAlta02) {
		this.fAlta02 = fAlta02;
	}

	/**
	 * Method 'getSolicitanteses'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<Solicitantes> getSolicitanteses() {
		return this.solicitanteses;
	}

	/**
	 * Method 'setSolicitanteses'.
	 *
	 * @param solicitanteses List
	 * @return
	 */
	public void setSolicitanteses(List<Solicitantes> solicitanteses) {
		this.solicitanteses = solicitanteses;
	}

	/**
	 * Method 'getExpedienteses'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<Expedientes> getExpedienteses() {
		return this.expedienteses;
	}

	/**
	 * Method 'setExpedienteses'.
	 *
	 * @param expedienteses List
	 * @return
	 */
	public void setExpedienteses(List<Expedientes> expedienteses) {
		this.expedienteses = expedienteses;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idInfSocial02: ").append(this.idInfSocial02).append(" ]");
		result.append(", [ FInforme02: ").append(this.fInforme02).append(" ]");
		result.append(", [ sola02: ").append(this.sola02).append(" ]");
		result.append(", [ estaSolaManana02: ").append(this.estaSolaManana02).append(" ]");
		result.append(", [ estaSolaTarde02: ").append(this.estaSolaTarde02).append(" ]");
		result.append(", [ estaSolaNoche02: ").append(this.estaSolaNoche02).append(" ]");
		result.append(", [ relacionEntorno02: ").append(this.relacionEntorno02).append(" ]");
		result.append(", [ familiarFallecido02: ").append(this.familiarFallecido02).append(" ]");
		result.append(", [ vinculoFallecido02: ").append(this.vinculoFallecido02).append(" ]");
		result.append(", [ visitasFamilia02: ").append(this.visitasFamilia02).append(" ]");
		result.append(", [ visitasAmigos02: ").append(this.visitasAmigos02).append(" ]");
		result.append(", [ frecuenciaSalidas02: ").append(this.frecuenciaSalidas02).append(" ]");
		result.append(", [ periodoSinVisitas02: ").append(this.periodoSinVisitas02).append(" ]");
		result.append(", [ tiempoSinVisitas02: ").append(this.tiempoSinVisitas02).append(" ]");
		result.append(", [ observaciones02: ").append(this.observaciones02).append(" ]");
		result.append(", [ observacionesPs02: ").append(this.observacionesPs02).append(" ]");
		result.append(", [ apreciacion02: ").append(this.apreciacion02).append(" ]");
		result.append(", [ fAlta02: ").append(this.fAlta02).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Method 'getIdInforme02'.
	 *
	 * @return Long
	 */
	public Long getIdInforme02() {
		return idInforme02;
	}

	/**
	 * Method 'setIdInforme02'.
	 *
	 * @param idInforme02 Long
	 * @return
	 */
	public void setIdInforme02(Long idInforme02) {
		this.idInforme02 = idInforme02;
	}

	/**
	 * Method 'getTipoIdentificador02'.
	 *
	 * @return String
	 */
	public String getTipoIdentificador02() {
		return tipoIdentificador02;
	}

	/**
	 * Method 'setTipoIdentificador02'.
	 *
	 * @param tipoIdentificador02 String
	 * @return
	 */
	public void setTipoIdentificador02(String tipoIdentificador02) {
		this.tipoIdentificador02 = tipoIdentificador02;
	}

	/**
	 * Method 'getIdentificador02'.
	 *
	 * @return String
	 */
	public String getIdentificador02() {
		return identificador02;
	}

	/**
	 * Method 'setIdentificador02'.
	 *
	 * @param identificador02 String
	 * @return
	 */
	public void setIdentificador02(String identificador02) {
		this.identificador02 = identificador02;
	}

	/**
	 * Method 'getNombre02'.
	 *
	 * @return String
	 */
	public String getNombre02() {
		return nombre02;
	}

	/**
	 * Method 'setNombre02'.
	 *
	 * @param nombre02 String
	 * @return
	 */
	public void setNombre02(String nombre02) {
		this.nombre02 = nombre02;
	}

	/**
	 * Method 'getApellido102'.
	 *
	 * @return String
	 */
	public String getApellido102() {
		return apellido102;
	}

	/**
	 * Method 'setApellido102'.
	 *
	 * @param apellido102 String
	 * @return
	 */
	public void setApellido102(String apellido102) {
		this.apellido102 = apellido102;
	}

	/**
	 * Method 'getApellido202'.
	 *
	 * @return String
	 */
	public String getApellido202() {
		return apellido202;
	}

	/**
	 * Method 'setApellido202'.
	 *
	 * @param apellido202 String
	 * @return
	 */
	public void setApellido202(String apellido202) {
		this.apellido202 = apellido202;
	}

	/**
	 * Method 'getUsuario'.
	 *
	 * @return Usuarios
	 */
	public Usuarios getUsuario() {
		return usuario;
	}

	/**
	 * Method 'setUsuario'.
	 *
	 * @param usuario Usuarios
	 * @return
	 */
	public void setUsuario(Usuarios usuario) {
		this.usuario = usuario;
	}

	/**
	 * Method 'getConvivientes'.
	 *
	 * @return List<ConvivientesInfSoci>
	 */
	@JsonIgnore
	public List<ConvivientesInfSoci> getConvivientes() {
		return convivientes;
	}

	/**
	 * Method 'setConvivientes'.
	 *
	 * @param convivientes List<ConvivientesInfSoci>
	 * @return
	 */
	public void setConvivientes(List<ConvivientesInfSoci> convivientes) {
		this.convivientes = convivientes;
	}

	public String getUsuAlta02() {
		return usuAlta02;
	}

	public void setUsuAlta02(String usuAlta02) {
		this.usuAlta02 = usuAlta02;
	}

}
