/*
* Copyright 2011 E.J.I.E., S.A.
*
* Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en
*
* http://ec.europa.eu/idabc/eupl.html
*
* Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,
* el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL»,
* SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.
* Véase la Licencia en el idioma concreto que rige los permisos y limitaciones
* que establece la Licencia.
*/
package com.ejie.ad74a.model;

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

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

import com.ejie.ad74a.util.constantes.ProcedimientosEnum;
import com.ejie.ad74a.util.constantes.TareasEnum;
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;

/**
 * Bean contenedor de las propiedades que utiliza el componente table.
 * 
 * @author UDA
 *
 * @param <T> Tipo de bean que se va a representar en el table.
 */
@XmlRootElement(name = "DatosTarea")
public class DatosTareaEstudioInforme extends DatosTareaEstudio {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8454434710807630860L;

	// Datos de tablas en string
	private String documentosAportados = null;
	private String datosEconomicos = null;

	private Date fSolInforme;
	private Date fRechazoInforme;
	private Date fSubsanacion;
	private ArrayList<String> motivoRechazo;
	private ArrayList<String> motivoRequerimientos;
	private String textReq;

	private String textMotivoDenegacion;

	/**
	 * Constructor.
	 */
	public DatosTareaEstudioInforme() {
		super(ProcedimientosEnum.INFORME.getId());
	}

	@XmlElement(name = "documentosAportados", nillable = true)
	public String getDocumentosAportados() {
		return documentosAportados;
	}

	public void setDocumentosAportados(String documentosAportados) {
		this.documentosAportados = documentosAportados;
	}

	@XmlElement(name = "datosEconomicos", nillable = true)
	public String getDatosEconomicos() {
		return datosEconomicos;
	}

	public void setDatosEconomicos(String datosEconomicos) {
		this.datosEconomicos = datosEconomicos;
	}

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

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

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

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

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

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

	@XmlElement(name = "motivoRequerimientos", nillable = true)
	public ArrayList<String> getMotivoRequerimientos() {
		return motivoRequerimientos;
	}

	public void setMotivoRequerimientos(ArrayList<String> motivoRequerimientos) {
		this.motivoRequerimientos = motivoRequerimientos;
	}

	@XmlElement(name = "textReq", nillable = true)
	public String getTextReq() {
		return textReq;
	}

	public void setTextReq(String textReq) {
		this.textReq = textReq;
	}

	public ArrayList<String> getMotivoRechazo() {
		return motivoRechazo;
	}

	public void setMotivoRechazo(ArrayList<String> motivoRechazo) {
		this.motivoRechazo = motivoRechazo;
	}

	public String getTextMotivoDenegacion() {
		return textMotivoDenegacion;
	}

	public void setTextMotivoDenegacion(String textMotivoDenegacion) {
		this.textMotivoDenegacion = textMotivoDenegacion;
	}
}