package q02b.exe.cuestionariosVTMAnu.launcher;



import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

//import javax.servlet.http.HttpSession;

import javax.servlet.jsp.PageContext;



import q02b.exe.arquitectura.beans.Q02bBaseBean;

import q02b.exe.arquitectura.dataobjects.Q02bDAOException;

import q02b.exe.arquitectura.webCommon.beans.Q02bProcessLauncherBean;

import q02b.exe.arquitectura.webCommon.utils.gdtp.Q02bGenericDataTransferProtocol;



//import q02b.exe.comun.Q02bAutenticador;



//import q02b.exe.utils.Q02bConstantes;

//import q02b.exe.utils.Q02bFormatData;



import es.ejie.frmk.infraestructura.traza.Q70TraceLevel;

import es.ejie.frmk.infraestructura.traza.Q70Traza;

//import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;



//import java.util.ArrayList;

//import java.util.HashMap; 



import q02b.exe.cuestionariosVTMAnu.beans.Q02bCuestionariosVTMAnuBean;



public class Q02bCuestionariosVTMAnuLauncher extends Q02bBaseBean implements Q02bProcessLauncherBean {

	/**

	 * 

	 */

	private static final long serialVersionUID = 1677342344158205416L;

	/** Objeto tablaBD usado para buscar en base de datos */

	//protected TablaBDWWHISPLA tablaHISPLA=null;



	private static Q70Traza tr = Q70Traza.getSingleton();

	private static final String COMPONENTE = "DAO_CUESTIONARIOS_AYUN_MEN_ACCESO_DATOS";

	

	//private  String user = ""; 

	/**

     *  Constructor vacío

     */



	 /* (non-Javadoc)

     * @see com.bbk.arquitectura.webCommon.beans.ProcessLauncherBean#initProcessLauncherBean(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

     */

    public void initProcessLauncherBean(HttpServletRequest request, HttpServletResponse response) throws Q02bDAOException {

		init(request,response);



    }



	/* (non-Javadoc)

     * @see com.bbk.arquitectura.webCommon.beans.ProcessLauncherBean#initProcessLauncherBean(javax.servlet.jsp.PageContext)

     */

    public void initProcessLauncherBean(PageContext context) throws Q02bDAOException {

    	this.request = (HttpServletRequest)context.getRequest();

    	this.response =(HttpServletResponse)context.getResponse(); 	

    }



	 public Q02bGenericDataTransferProtocol launch() throws Exception {

    	try{	       

	            if (tr.isTraceActive())

	            {

			tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":launch: entrando");

	             }

	            String proceso = getParametro("METHOD");

	            if (proceso.equals("getAnosSinActuacionesParaMuni"))

	            {

	            	return this.getAnosSinActuacionesParaMuni();	            	

	            }

	            else if (proceso.equals("obtenerCampoRealizaActuacionDeGrupoConMuniAno"))

	            {

	            	return this.obtenerCampoRealizaActuacionDeGrupoConMuniAno();

	            }

	            else if (proceso.equals("guardarFirmaCuestionariosVTMAnu"))

	            {

	            	return this.guardarFirmaCuestionariosVTMAnu();

	            }

	            return null;

    	}

    	catch(Exception e)

    	{

	           return this.processException(e);

        	}

     }

     

     /**

    * Método que llama al Bean de CuestionariosVTMAnu que obtiene el campo Realiza Actuaciones para el grupo del municipio, año y mes seleccionados

    * @return 

    * @throws Exception

    */

   public Q02bGenericDataTransferProtocol obtenerCampoRealizaActuacionDeGrupoConMuniAno() throws Exception {

    	

    	if (tr.isTraceActive())

    	{

		tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":obtenerCampoRealizaActuacionDeGrupoConMuniAno: entrando");

	}

    	

    	Q02bGenericDataTransferProtocol result = new Q02bGenericDataTransferProtocol(); 

    	Q02bCuestionariosVTMAnuBean beanCuestionariosVTMAnu = new Q02bCuestionariosVTMAnuBean();

    	

        try{ 

        

        	String codProv = ((String)getMapaDatos().get("codProv"));

        	String codMuni = ((String)getMapaDatos().get("codMuni"));

        	String ano = ((String)getMapaDatos().get("ano"));

        	

			String ActuacionesAno = beanCuestionariosVTMAnu.obtenerCampoRealizaActuacionDeGrupoConMuniAno(codProv,codMuni,ano);         	 

 			 

 			result.addGroup("RESULT_1"); 			

 			

 			result.addProperty("RESULT_1","RESULT","OK");

 			result.addProperty("RESULT_1","REALIZA_ACTUACION", ActuacionesAno);

						

        	return result;

        

       }catch(Exception ex){

            result.addProperty("RESULT_1","RESULT","NOOK");

            java.io.StringWriter sw = new java.io.StringWriter();

            java.io.PrintWriter pw = new java.io.PrintWriter(sw);

            ex.printStackTrace(pw);

            tr.trace(COMPONENTE, Q70TraceLevel.ERROR, this.getClass().getName() + ":obtenerCampoRealizaActuacionDeGrupoConMuniAno: " + sw.getBuffer ().toString());

            throw new Q02bDAOException(ex);

       }finally{

    	   

    	   if (tr.isTraceActive()){

    		    tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":obtenerCampoRealizaActuacionDeGrupoConMuniAno: saliendo");                

           }

           

       }

       

   }

     

    



  

   /**

    * Método que llama al Bean de CuestionariosVTMAnu que obtiene los  años que no se han introducido cuestionarios para el municipio seleccionados

    * @return 

    * @throws Exception

    */

   public Q02bGenericDataTransferProtocol getAnosSinActuacionesParaMuni() throws Exception {

    	

    	if (tr.isTraceActive())

    	{

		tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":getAnosSinActuacionesParaMuni: entrando");

	}

    	

    	Q02bGenericDataTransferProtocol result = new Q02bGenericDataTransferProtocol(); 

    	Q02bCuestionariosVTMAnuBean beanCuestionariosVTMAnu = new Q02bCuestionariosVTMAnuBean();

    	

        try{ 

        

        	String codProv = ((String)getMapaDatos().get("codProv"));

        	String codMuni = ((String)getMapaDatos().get("codMuni"));

        	String ano = ((String)getMapaDatos().get("ano"));

        	String idioma = ((String)getMapaDatos().get("idioma"));

        	

        	String msgAnos = beanCuestionariosVTMAnu.obtenerAnosSinActuacionesParaMuni(codProv,codMuni,ano,idioma);         	 

 			 

 	result.addGroup("RESULT_1"); 			

 			

 	result.addProperty("RESULT_1","RESULT","OK");

 	result.addProperty("RESULT_1","MSG_ANOS", msgAnos);

						

        	return result;

        

       }catch(Exception ex){

            result.addProperty("RESULT_1","RESULT","NOOK");

            java.io.StringWriter sw = new java.io.StringWriter();

            java.io.PrintWriter pw = new java.io.PrintWriter(sw);

            ex.printStackTrace(pw);

            tr.trace(COMPONENTE, Q70TraceLevel.ERROR, this.getClass().getName() + ":getAnosSinActuacionesParaMuni: " + sw.getBuffer ().toString());

            throw new Q02bDAOException(ex);

       }finally{

    	   

    	   if (tr.isTraceActive()){

    		    tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":getAnosSinActuacionesParaMuni: saliendo");                

           }

           

       }

       

   }

   /**

    * Método que llama al Bean de CuestionariosVTMAnu para guardar la firma del grupo de cuestionarios

    * @return 

    * @throws Exception

    */

   public Q02bGenericDataTransferProtocol guardarFirmaCuestionariosVTMAnu() throws Exception 

   {

    	

    	if (tr.isTraceActive())

    	{

		tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":guardarFirmaCuestionariosVTMAnu: entrando");

	}

    	

    	Q02bGenericDataTransferProtocol result = new Q02bGenericDataTransferProtocol(); 

    	Q02bCuestionariosVTMAnuBean beanCuestionariosVTMAnu = new Q02bCuestionariosVTMAnuBean();

    	

        try{ 

        

        	String niGrupoCuesVTMAnu = ((String)getMapaDatos().get("niGrupoCuesVTMAnu"));

        	String xmlFirmaGrupoCuesVTMAnu = ((String)getMapaDatos().get("xmlFirmaGrupoCuesVTMAnu"));

        	

        	beanCuestionariosVTMAnu.guardarFirmaGrupoCuestionariosVTMAnu(niGrupoCuesVTMAnu,xmlFirmaGrupoCuesVTMAnu);         	 

 			 

 		result.addGroup("RESULT_1"); 				

 		result.addProperty("RESULT_1","RESULT","OK");

						

        	return result;

        

       }catch(Exception ex){

            result.addProperty("RESULT_1","RESULT","NOOK");

            java.io.StringWriter sw = new java.io.StringWriter();

            java.io.PrintWriter pw = new java.io.PrintWriter(sw);

            ex.printStackTrace(pw);

            tr.trace(COMPONENTE, Q70TraceLevel.ERROR, this.getClass().getName() + ":guardarFirmaCuestionariosVTMAnu: " + sw.getBuffer ().toString());

            throw new Q02bDAOException(ex);

       }finally{

    	   

    	   if (tr.isTraceActive()){

    		    tr.trace(COMPONENTE, Q70TraceLevel.INFO, this.getClass().getName() + ":guardarFirmaCuestionariosVTMAnu: saliendo");                

           }

           

       }

       

   }   

  

}