package com.ejie.ad74a.model.avisos;

import java.util.Date;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

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;

/**
 * AvisosQueja
 * 
 * @author UDA
 */

@XmlRootElement(name = "AvisosQueja")
@XmlType(propOrder = { "idAviso", "fechaQueja", "procedente", "estadoQueja", "tiempoResolucion", "motivoQueja" })
public class AvisosQueja implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idAviso;
	private Date fechaQueja;
	private Integer procedente;
	private Integer estadoQueja;
	private Integer tiempoResolucion;
	private Integer motivoQueja;

	@XmlElement(name = "idAviso", nillable = true)
	public Long getIdAviso() {
		return idAviso;
	}

	public void setIdAviso(Long idAviso) {
		this.idAviso = idAviso;
	}

	@JsonSerialize(using = JsonDateSerializer.class)
	@XmlElement(name = "fechaQueja", nillable = true)
	public Date getFechaQueja() {
		return fechaQueja;
	}

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

	@XmlElement(name = "procedente", nillable = true)
	public Integer getProcedente() {
		return procedente;
	}

	public void setProcedente(Integer procedente) {
		this.procedente = procedente;
	}

	@XmlElement(name = "estadoQueja", nillable = true)
	public Integer getEstadoQueja() {
		return estadoQueja;
	}

	public void setEstadoQueja(Integer estadoQueja) {
		this.estadoQueja = estadoQueja;
	}

	@XmlElement(name = "tiempoResolucion", nillable = true)
	public Integer getTiempoResolucion() {
		return tiempoResolucion;
	}

	public void setTiempoResolucion(Integer tiempoResolucion) {
		this.tiempoResolucion = tiempoResolucion;
	}

	@XmlElement(name = "motivoQueja", nillable = true)
	public Integer getMotivoQueja() {
		return motivoQueja;
	}

	public AvisosQueja() {
	}

	public AvisosQueja(Long idAviso, Date fechaQueja, Integer procedente, Integer estadoQueja, Integer tiempoResolucion,
			Integer motivoQueja) {
		super();
		this.idAviso = idAviso;
		this.fechaQueja = fechaQueja;
		this.procedente = procedente;
		this.estadoQueja = estadoQueja;
		this.tiempoResolucion = tiempoResolucion;
		this.motivoQueja = motivoQueja;
	}

	public void setMotivoQueja(Integer motivoQueja) {
		this.motivoQueja = motivoQueja;
	}

}
