package com.ejie.ab63.model;

import java.math.BigDecimal;
import java.util.Date;

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;

/**
 * Ab6325s00  
 * 
 *  
 */

public class Aseo implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer idAseo;
	private EstablecimientoData establecimientoData;
	private TipoAseo tipoAseo;
	private String ubicacion;
	private Long numUnidades;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Date fechaUltmodificacion;
	private String usuarioUltmodificacion;
	private String descTipoAseo;
	private Long numUnidadesAloj;
	private Integer tipoRegistro;
	private BigDecimal numSupTotal;
	private Long numAseo;
	// integracion portal
	private int codigo;
	private EnumValor valor;

	// datos solo para inspecciones
	private String superficie;
	private String accesible;

	/**
	 * Method 'Ab6325s00'.
	 */
	public Aseo() {
	}

	/**
	 * Method 'Ab6325s00'.
	 * 
	 * @param idAseo
	 *            Integer
	 */
	public Aseo(Integer idAseo) {
		this.idAseo = idAseo;
	}

	/**
	 * Method 'Ab6325s00'.
	 * 
	 * @param idAseo
	 *            Integer
	 * @param ubicacion
	 *            String
	 * @param numUnidades
	 *            Long
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 * @param fechaUltmodificacion
	 *            Date
	 * @param usuarioUltmodificacion
	 *            String
	 * @param ab6321s00
	 *            Ab6321s00
	 * @param ab6316s00
	 *            Ab6316s00
	 */
	public Aseo(Integer idAseo, String ubicacion, Long numUnidades, Date fechaRegistro, String usuarioRegistro,
			Date fechaUltmodificacion, String usuarioUltmodificacion, EstablecimientoData ab6321s00, TipoAseo ab6316s00,
			Long numUnidadesAloj, Integer tipoRegistro, BigDecimal numSupTotal, Long numAseo) {

		this.idAseo = idAseo;
		this.establecimientoData = ab6321s00;
		this.tipoAseo = ab6316s00;
		this.ubicacion = ubicacion;
		this.numUnidades = numUnidades;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;
		this.numUnidadesAloj = numUnidadesAloj;
		this.tipoRegistro = tipoRegistro;
		this.numSupTotal = numSupTotal;
		this.numAseo = numAseo;
	}

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

	public Integer getIdAseo() {
		return this.idAseo;
	}

	/**
	 * Method 'setIdAseo'.
	 *
	 * @param idAseo
	 *            Integer
	 * @return
	 */

	public void setIdAseo(Integer idAseo) {
		this.idAseo = idAseo;
	}

	/**
	 * Method 'getAb6321s00'.
	 *
	 * @return Ab6321s00
	 */

	public EstablecimientoData getEstablecimientoData() {
		return this.establecimientoData;
	}

	/**
	 * Method 'setAb6321s00'.
	 *
	 * @param ab6321s00
	 *            Ab6321s00
	 * @return
	 */

	public void setEstablecimientoData(EstablecimientoData ab6321s00) {
		this.establecimientoData = ab6321s00;
	}

	/**
	 * Method 'getAb6316s00'.
	 *
	 * @return Ab6316s00
	 */

	public TipoAseo getTipoAseo() {
		return this.tipoAseo;
	}

	/**
	 * Method 'setAb6316s00'.
	 *
	 * @param ab6316s00
	 *            Ab6316s00
	 * @return
	 */

	public void setTipoAseo(TipoAseo ab6316s00) {
		this.tipoAseo = ab6316s00;
	}

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

	public String getUbicacion() {
		return this.ubicacion;
	}

	/**
	 * Method 'setUbicacion'.
	 *
	 * @param ubicacion
	 *            String
	 * @return
	 */

	public void setUbicacion(String ubicacion) {
		this.ubicacion = ubicacion;
	}

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

	public Long getNumUnidades() {
		return this.numUnidades;
	}

	/**
	 * Method 'setNumUnidades'.
	 *
	 * @param numUnidades
	 *            Long
	 * @return
	 */

	public void setNumUnidades(Long numUnidades) {
		this.numUnidades = numUnidades;
	}

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

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

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

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

	public String getUsuarioRegistro() {
		return this.usuarioRegistro;
	}

	/**
	 * Method 'setUsuarioRegistro'.
	 *
	 * @param usuarioRegistro
	 *            String
	 * @return
	 */

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

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

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

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

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

	public String getUsuarioUltmodificacion() {
		return this.usuarioUltmodificacion;
	}

	/**
	 * Method 'setUsuarioUltmodificacion'.
	 *
	 * @param usuarioUltmodificacion
	 *            String
	 * @return
	 */

	public void setUsuarioUltmodificacion(String usuarioUltmodificacion) {
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	public String getDescTipoAseo() {
		return descTipoAseo;
	}

	public void setDescTipoAseo(String descTipoAseo) {
		this.descTipoAseo = descTipoAseo;
	}

	public Long getNumUnidadesAloj() {
		return numUnidadesAloj;
	}

	public void setNumUnidadesAloj(Long numUnidadesAloj) {
		this.numUnidadesAloj = numUnidadesAloj;
	}

	public Integer getTipoRegistro() {
		return tipoRegistro;
	}

	public void setTipoRegistro(Integer tipoRegistro) {
		this.tipoRegistro = tipoRegistro;
	}

	public BigDecimal getNumSupTotal() {
		return numSupTotal;
	}

	public void setNumSupTotal(BigDecimal numSupTotal) {
		this.numSupTotal = numSupTotal;
	}

	public Long getNumAseo() {
		return numAseo;
	}

	public void setNumAseo(Long numAseo) {
		this.numAseo = numAseo;
	}

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int caminoSantiago) {
		this.codigo = caminoSantiago;
	}

	public EnumValor getValor() {
		return valor;
	}

	public void setValor(EnumValor valor) {
		this.valor = valor;
	}

	/**
	 * 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(" [ idAseo: ").append(this.idAseo).append(" ]");
		result.append(", [ ubicacion: ").append(this.ubicacion).append(" ]");
		result.append(", [ numUnidades: ").append(this.numUnidades).append(" ]");
		result.append(", [ fechaRegistro: ").append(this.fechaRegistro).append(" ]");
		result.append(", [ usuarioRegistro: ").append(this.usuarioRegistro).append(" ]");
		result.append(", [ fechaUltmodificacion: ").append(this.fechaUltmodificacion).append(" ]");
		result.append(", [ usuarioUltmodificacion: ").append(this.usuarioUltmodificacion).append(" ]");
		result.append("}");
		return result.toString();
	}

}
