package itourbaskBeans;

import java.util.List;

import q53_util.q53LogEstadisticas;
import q53_util.q53Util;

import com.cidat.proclets.PSP;
import com.cidat.proclets.ProcletException;
import com.cidat.proclets.ProcletServiceData;

/**
 *  
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
/**
 *  
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class q53RespuestaBean {
    private String codRespuesta;
    private String codEncuesta;
    private String codVersion;
    private String fechaRespuesta;
    private String fechaCreacionRespuesta;
    private String codOficina;
    private String codPersona;
    private String codRespuestaRD;
    private String personas;
    private List codPreguntasList;
    private String idiomaEnc;
    private String medioRecepEnc;
    private String numPersonas;
    //numero de respuestas de encuesta de oficina
    private int numRespuestas;
    private String minCodRespuesta;
    private String maxCodRespuesta;
    private String tipoEncuesta;
    private String estado;
    private String descripcion;
    private String nombre_persona;
    private String tiene_notificacion="no";

    //No se si haran falta pero de momento los incluyo....

     private q53RespuestaFechaBean fechaBean;
     private q53RespuestaGruposBean gruposBean;
     private q53RespuestaOpcionesBean opcionesBean;
     private q53RespuestaProcedenciaBean procedenciaBean;
     private List procedenciaList;
     private q53RespuestaTextoBean textoBean;
     private q53NotificacionBean notificacionBean;
    
     
     /**
      * Getter for property gruposBean.
      * @return Value of property gruposBean.
      */
     public itourbaskBeans.q53NotificacionBean getNotificacionBean() {
         return notificacionBean;
     }
     
     /**
      * Setter for property gruposBean.
      * @param gruposBean New value of property gruposBean.
      */
     public void setNotificacionBean(itourbaskBeans.q53NotificacionBean notificacionBean) {
         this.notificacionBean = notificacionBean;
     }
     
     /**
      * Getter for property codRespuesta.
      * @return Value of property codRespuesta.
      */
     public java.lang.String getTiene_notificacion() {
         return tiene_notificacion;
     }

     /**
      * Setter for property codRespuesta.
      * @param codRespuesta New value of property codRespuesta.
      */
     public void setTiene_notificacion(java.lang.String tiene_notificacion) {
         this.tiene_notificacion = tiene_notificacion;
     }
     
     /**
      * Getter for property nombre_persona.
      * @return Value of property nombre_persona.
      */
     public java.lang.String getNombrePersona() {
         return nombre_persona;
     }
     
      /**
     * Getter for property estado.
     * @return Value of property estado.
     */
    public java.lang.String getEstado() {
        return estado;
    }
			
    /**
     * Getter for property codRespuesta.
     * @return Value of property codRespuesta.
     */
    public java.lang.String getCodRespuesta() {
        return codRespuesta;
    }

    /**
     * Setter for property codRespuesta.
     * @param codRespuesta New value of property codRespuesta.
     */
    public void setCodRespuesta(java.lang.String codRespuesta) {
        this.codRespuesta = codRespuesta;
    }
    
     /**
     * Getter for property codRespuesta.
     * @return Value of property codRespuesta.
     */
    public java.lang.String getTipoEncuesta() {
        return tipoEncuesta;
    }

    /**
     * Setter for property codRespuesta.
     * @param codRespuesta New value of property codRespuesta.
     */
    public void setTipoEncuesta(java.lang.String tipoEncuesta) {
        this.tipoEncuesta = tipoEncuesta;
    }

    /**
     * Getter for property codEncuesta.
     * @return Value of property codEncuesta.
     */
    public java.lang.String getCodEncuesta() {
        return codEncuesta;
    }

    /**
     * Setter for property codEncuesta.
     * @param codEncuesta New value of property codEncuesta.
     */
    public void setCodEncuesta(java.lang.String codEncuesta) {
        this.codEncuesta = codEncuesta;
    }

    /**
     * Getter for property codVersion.
     * @return Value of property codVersion.
     */
    public java.lang.String getCodVersion() {
        return codVersion;
    }

  /**
     * Setter for property estado.
     * @param codVersion New value of property estado.
     */
    public void setEstado(java.lang.String estado) {
        this.estado = estado;
    }


    /**
     * Setter for property codVersion.
     * @param codVersion New value of property codVersion.
     */
    public void setCodVersion(java.lang.String codVersion) {
        this.codVersion = codVersion;
    }

    /**
     * Getter for property fechaRespuesta.
     * @return Value of property fechaRespuesta.
     */
    public java.lang.String getFechaRespuesta() {
        return fechaRespuesta;
    }

    /**
     * Setter for property fechaRespuesta.
     * @param fechaRespuesta New value of property fechaRespuesta.
     */
    public void setFechaRespuesta(java.lang.String fechaRespuesta) {
        this.fechaRespuesta = fechaRespuesta;
    }

    /**
     * Getter for property codOficina.
     * @return Value of property codOficina.
     */
    public java.lang.String getCodOficina() {
        return codOficina;
    }

    /**
     * Setter for property codOficina.
     * @param codOficina New value of property codOficina.
     */
    public void setCodOficina(java.lang.String codOficina) {
        this.codOficina = codOficina;
    }

    /**
     * Getter for property codPersona.
     * @return Value of property codPersona.
     */
    public java.lang.String getCodPersona() {
        return codPersona;
    }

    /**
     * Setter for property codPersona.
     * @param codPersona New value of property codPersona.
     */
    public void setCodPersona(java.lang.String codPersona) {
        this.codPersona = codPersona;
    }

    /**
     * Getter for property codRespuestaRD.
     * @return Value of property codRespuestaRD.
     */
    public java.lang.String getCodRespuestaRD() {
        return codRespuestaRD;
    }

    /**
     * Setter for property codRespuestaRD.
     * @param codRespuestaRD New value of property codRespuestaRD.
     */
    public void setCodRespuestaRD(java.lang.String codRespuestaRD) {
        this.codRespuestaRD = codRespuestaRD;
    }

    /**
     * Getter for property personas.
     * @return Value of property personas.
     */
    public java.lang.String getPersonas() {
        return personas;
    }

    /**
     * Setter for property personas.
     * @param personas New value of property personas.
     */
    public void setPersonas(java.lang.String personas) {
        this.personas = personas;
    }

    /**
     * Getter for property codPreguntasList.
     * @return Value of property codPreguntasList.
     */
    public java.util.List getCodPreguntasList() {
        return codPreguntasList;
    }

    /**
     * Setter for property codPreguntasList.
     * @param codPreguntasList New value of property codPreguntasList.
     */
    public void setCodPreguntasList(java.util.List codPreguntasList) {
        this.codPreguntasList = codPreguntasList;
    }

    /**
     * Getter for property idiomaEnc.
     * @return Value of property idiomaEnc.
     */
    public java.lang.String getIdiomaEnc() {
        return idiomaEnc;
    }

    /**
     * Setter for property idiomaEnc.
     * @param idiomaEnc New value of property idiomaEnc.
     */
    public void setIdiomaEnc(java.lang.String idiomaEnc) {
        this.idiomaEnc = idiomaEnc;
    }

    /**
     * Getter for property medioRecepEnc.
     * @return Value of property medioRecepEnc.
     */
    public java.lang.String getMedioRecepEnc() {
        return medioRecepEnc;
    }

    /**
     * Setter for property medioRecepEnc.
     * @param medioRecepEnc New value of property medioRecepEnc.
     */
    public void setMedioRecepEnc(java.lang.String medioRecepEnc) {
        this.medioRecepEnc = medioRecepEnc;
    }

    /**
     * Getter for property numPersonas.
     * @return Value of property numPersonas.
     */
    public java.lang.String getNumPersonas() {
        return numPersonas;
    }

    /**
     * Setter for property numPersonas.
     * @param numPersonas New value of property numPersonas.
     */
    public void setNumPersonas(java.lang.String numPersonas) {
        this.numPersonas = numPersonas;
    }

    /**
     * Getter for property maxCodRespuesta.
     * @return Value of property maxCodRespuesta.
     */
    public java.lang.String getMaxCodRespuesta() {
        return maxCodRespuesta;
    }

    /**
     * Setter for property maxCodRespuesta.
     * @param maxCodRespuesta New value of property maxCodRespuesta.
     */
    public void setMaxCodRespuesta(java.lang.String maxCodRespuesta) {
        this.maxCodRespuesta = maxCodRespuesta;
    }

    /**
     * Getter for property minCodRespuesta.
     * @return Value of property minCodRespuesta.
     */
    public java.lang.String getMinCodRespuesta() {
        return minCodRespuesta;
    }

    /**
     * Setter for property minCodRespuesta.
     * @param minCodRespuesta New value of property minCodRespuesta.
     */
    public void setMinCodRespuesta(java.lang.String minCodRespuesta) {
        this.minCodRespuesta = minCodRespuesta;
    }

    /**
     * Setter for property numRespuestas.
     * @param numRespuestas New value of property numRespuestas.
     */
    public void setNumRespuestas(int numRespuestas) {
        this.numRespuestas = numRespuestas;
    }
    
    /**
     * Getter for property numRespuestas.
     * @return Value of property numRespuestas.
     */
    public int getNumRespuestas() {
        return numRespuestas;
    }
    
    /**
     * Getter for property fechaBean.
     * @return Value of property fechaBean.
     */
    public itourbaskBeans.q53RespuestaFechaBean getFechaBean() {
        return fechaBean;
    }
    

    /**
     * Setter for property nombre_persona.
     * @param nombre_persona New value of property nombre_persona.
     */
    public void setNombrePersona(String nombre_persona) {
        this.nombre_persona = nombre_persona;
    }
    
    
    /**
     * Setter for property fechaBean.
     * @param fechaBean New value of property fechaBean.
     */
    public void setFechaBean(itourbaskBeans.q53RespuestaFechaBean fechaBean) {
        this.fechaBean = fechaBean;
    }
    
    /**
     * Getter for property gruposBean.
     * @return Value of property gruposBean.
     */
    public itourbaskBeans.q53RespuestaGruposBean getGruposBean() {
        return gruposBean;
    }
    
    /**
     * Setter for property gruposBean.
     * @param gruposBean New value of property gruposBean.
     */
    public void setGruposBean(itourbaskBeans.q53RespuestaGruposBean gruposBean) {
        this.gruposBean = gruposBean;
    }
    
    /**
     * Getter for property opcionesBean.
     * @return Value of property opcionesBean.
     */
    public itourbaskBeans.q53RespuestaOpcionesBean getOpcionesBean() {
        return opcionesBean;
    }
    
    /**
     * Setter for property opcionesBean.
     * @param opcionesBean New value of property opcionesBean.
     */
    public void setOpcionesBean(itourbaskBeans.q53RespuestaOpcionesBean opcionesBean) {
        this.opcionesBean = opcionesBean;
    }
    
    /**
     * Getter for property procedenciaBean.
     * @return Value of property procedenciaBean.
     */
    public itourbaskBeans.q53RespuestaProcedenciaBean getProcedenciaBean() {
        return procedenciaBean;
    }
    
    /**
     * Setter for property procedenciaBean.
     * @param procedenciaBean New value of property procedenciaBean.
     */
    public void setProcedenciaBean(itourbaskBeans.q53RespuestaProcedenciaBean procedenciaBean) {
        this.procedenciaBean = procedenciaBean;
    }
    
    /**
     * Getter for property procedenciaList.
     * @return Value of property procedenciaList.
     */
    public List getProcedenciaList() {
        return procedenciaList;
    }
    
    /**
     * Setter for property procedenciaList.
     * @param procedenciaList New value of property procedenciaBean.
     */
    public void setProcedenciaList(List procedenciaList) {
        this.procedenciaList = procedenciaList;
    }
    
    /**
     * Getter for property textoBean.
     * @return Value of property textoBean.
     */
    public itourbaskBeans.q53RespuestaTextoBean getTextoBean() {
        return textoBean;
    }
    
    /**
     * Setter for property textoBean.
     * @param textoBean New value of property textoBean.
     */
    public void setTextoBean(itourbaskBeans.q53RespuestaTextoBean textoBean) {
        this.textoBean = textoBean;
    }
    
    /**
     * Getter for property fechaCreacionRespuesta.
     * @return Value of property fechaCreacionRespuesta.
     */
    public java.lang.String getFechaCreacionRespuesta() {
        return fechaCreacionRespuesta;
    }
    
    /**
     * Setter for property fechaCreacionRespuesta.
     * @param fechaCreacionRespuesta New value of property fechaCreacionRespuesta.
     */
    public void setFechaCreacionRespuesta(java.lang.String fechaCreacionRespuesta) {
        this.fechaCreacionRespuesta = fechaCreacionRespuesta;
    }
    
    
    
    /**
      * Getter for property descripcion
     *  @return descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }
    
    /**
     * Setter for property descripcion
    */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
    
    
    public void rellenarBeanParaBusquedas(ProcletServiceData sd, String prefijoCampos, String codOficina, String tipo) throws ProcletException{
   	setCodEncuesta("0");                                
     String cod_respuesta=sd.gOS(prefijoCampos + ".m0_cod_respuesta");
     setCodRespuesta(sd.gOS(prefijoCampos + ".m0_cod_respuesta"));
     setCodOficina(codOficina);
     setFechaCreacionRespuesta(sd.gOS(prefijoCampos + ".m0_fecha"));
     setCodPersona(sd.gOS(prefijoCampos + ".m0_cod_persona"));
    	setNombrePersona(sd.gOS(prefijoCampos + ".t03_nousu"));
    	setCodVersion("1");
     setFechaRespuesta(sd.gOS(prefijoCampos + ".m0_fecha_resp"));
     setTipoEncuesta(sd.gOS(prefijoCampos + ".m0_tipo_encuesta"));
     setNumPersonas(sd.gOS(prefijoCampos + ".m0_personas"));
     //if(!tipo.equals("pres")){
       setMedioRecepEnc(getOpcionName(sd, getCodRespuesta(), "3"));
       meterNotificacion(sd,cod_respuesta);
      //}
     }
     
     private void meterNotificacion(ProcletServiceData sd ,String cod_respuesta) throws ProcletException {
		String select_notificacion="SELECT * FROM Q53M7T00 WHERE M7_COD_RESPUESTA="+cod_respuesta;
		q53LogEstadisticas.printLog(select_notificacion);
		PSP.sqlProclet(sd, "notificacion[]=" + select_notificacion);
		if(sd.gI("notificacion.length")>0){
			setTiene_notificacion("si");
			String tipo_envio= sd.gOS("notificacion[0].m7_tipo_envio");
			q53LogEstadisticas.printLog("El tipo de envio de la notificacion es : "+tipo_envio);
			q53NotificacionBean notificacionBean = new q53NotificacionBean();
			notificacionBean.setTipo_envio(tipo_envio);
			notificacionBean.setNombre(sd.gOS("notificacion[0].m7_nombre"));
			notificacionBean.setDireccion(sd.gOS("notificacion[0].m7_direccion"));
			notificacionBean.setLocalidad(sd.gOS("notificacion[0].m7_localidad"));
			if (!"".equals(sd.gOS("notificacion[0].m7_codpostal")))
				notificacionBean.setCodPostal(q53Util.padL((new Integer(sd.gI("notificacion[0].m7_codpostal"))).toString(), 5, '0'));  		
			notificacionBean.setEmail(sd.gOS("notificacion[0].m7_email"));    		
			notificacionBean.setFax(sd.gOS("notificacion[0].m7_fax"));		
			if (!"".equals(sd.gOS("notificacion[0].m7_fecha")))
				notificacionBean.setFecha(q53Util.convertirFecha(sd.gOS("notificacion[0].m7_fecha")));
			notificacionBean.setNhojas(sd.gOS("notificacion[0].m7_nhojas"));
			notificacionBean.setRemitente(sd.gOS("notificacion[0].m7_remitente"));
			notificacionBean.setDestinatario(sd.gOS("notificacion[0].m7_destinatario"));
			notificacionBean.setInformacion_envio(sd.gOS("notificacion[0].m7_informacion_envio"));
			setNotificacionBean(notificacionBean);
		}else{
			setTiene_notificacion("no");
		}
		return;
	}
     
     public static String getOpcionName(ProcletServiceData sd,String codRespuesta, String codPregunta) throws ProcletException {
     String selectOpcion = "SELECT M2_COD_OPCION"
         + " FROM RESP_OPCIONES"
         + " WHERE M2_COD_RESPUESTA='" + codRespuesta + "'"
         + " AND M2_COD_PREGUNTA='" + codPregunta + "'";
     //q53LogEstadisticas.printLog("selectOpcion::::"+selectOpcion);
     PSP.sqlProclet(sd, "selectOpcion[]=" + selectOpcion);

     String opcion_4 = sd.gOS("selectOpcion[0].m2_cod_opcion");
     return q53Util.getLiteral(sd, "N3_" + codPregunta + "_" + opcion_4, q53Util.getIdioma(sd));
 }
}
