package itourbaskClases;

import q53_util.q53LogEstadisticas;

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


/**
 * DOCUMENT ME!
 *
 *  
 * @version $Revision$
 */
public class q53BorrarRespuestasClass {
  

    /**
     * Método para guardar las respuestas en las tablas B para el borrado logico
     *
     * @param sd El objeto ProcletServiceData
     * @param codEncuestaOfi
     * @param codVersionEncOfi
     * @param codRespOfi
     *
     * @throws ProcletException
     */
     
	public static void guardarEnB(ProcletServiceData sd,String codRespuesta) throws ProcletException {    		
		
		q53LogEstadisticas.printLog("Entra en guardarEnB");	    
		String insert_respuesta="=INSERT INTO Q53B0T00  SELECT * FROM Q53M0T00 WHERE M0_COD_RESPUESTA="+codRespuesta;
		PSP.sqlProclet(sd, insert_respuesta);
		insert_respuesta="=INSERT INTO Q53B6T00  SELECT * FROM Q53M6T00 WHERE M6_COD_RESPUESTA="+codRespuesta;
		PSP.sqlProclet(sd, insert_respuesta);
		insert_respuesta="=INSERT INTO Q53B9T00  SELECT * FROM Q53N9T00 WHERE N9_COD_RESPUESTA="+codRespuesta;
		PSP.sqlProclet(sd, insert_respuesta);
		insert_respuesta="=INSERT INTO Q53B2T00  SELECT * FROM Q53M2T00 WHERE M2_COD_RESPUESTA="+codRespuesta;
		PSP.sqlProclet(sd, insert_respuesta);
		insert_respuesta="=INSERT INTO Q53B5T00  SELECT * FROM Q53M5T00 WHERE M5_COD_RESPUESTA="+codRespuesta;
		PSP.sqlProclet(sd, insert_respuesta);
		insert_respuesta="=INSERT INTO Q53B4T00  SELECT * FROM Q53M4T00 WHERE M4_COD_RESPUESTA="+codRespuesta;
		PSP.sqlProclet(sd, insert_respuesta);
		//Si tiene notificacion, pasara la respuesta a B7
		String query_select="existe=SELECT COUNT(*) AS NUM FROM Q53M7T00 WHERE M7_COD_RESPUESTA ="+ codRespuesta;
        PSP.sqlProclet(sd, query_select);	
        int num = Integer.parseInt(sd.gOS("existe.num"));
        q53LogEstadisticas.printLog("Tiene respuestas de notificación? ->"+num);
        if(num>0){
			insert_respuesta="=INSERT INTO Q53B7T00  SELECT * FROM Q53M7T00 WHERE M7_COD_RESPUESTA="+codRespuesta;
			PSP.sqlProclet(sd, insert_respuesta);
        }
        //FIN Si tiene notificacion, pasara la respuesta a B7
			
	}
     
    public static void borrarRespuestas(ProcletServiceData sd,String codRespuesta) throws ProcletException {
        	
        String deleteOptions ="=DELETE FROM RESPUESTA WHERE RESPUESTA.M0_COD_RESPUESTA=" +codRespuesta;
        //q53LogEstadisticas.printLog("deleteOptions ::::"+deleteOptions);
        PSP.sqlProclet(sd, deleteOptions);
        deleteOptions ="=DELETE FROM RESP_FECHA WHERE RESP_FECHA.M6_COD_RESPUESTA=" +codRespuesta;
         // q53LogEstadisticas.printLog("deleteOptions ::::::::"+deleteOptions);
        PSP.sqlProclet(sd, deleteOptions);
        deleteOptions ="=DELETE FROM RESP_GRUPOS  WHERE RESP_GRUPOS.N9_COD_RESPUESTA=" +codRespuesta;
        // q53LogEstadisticas.printLog("deleteOptions ::::::::"+deleteOptions);
        PSP.sqlProclet(sd, deleteOptions);
		deleteOptions ="=DELETE FROM RESP_OPCIONES  WHERE RESP_OPCIONES.M2_COD_RESPUESTA=" +codRespuesta;
        // q53LogEstadisticas.printLog("deleteOptions ::::::::"+deleteOptions);
        PSP.sqlProclet(sd, deleteOptions);
        deleteOptions ="=DELETE FROM RESP_PROCEDENCIA  WHERE RESP_PROCEDENCIA.M5_COD_RESPUESTA=" +codRespuesta;
        // q53LogEstadisticas.printLog("deleteOptions ::::::::"+deleteOptions);
        PSP.sqlProclet(sd, deleteOptions);
        deleteOptions ="=DELETE FROM RESP_TEXTO  WHERE RESP_TEXTO.M4_COD_RESPUESTA=" +codRespuesta;
         // q53LogEstadisticas.printLog("deleteOptions ::::::::"+deleteOptions);
        PSP.sqlProclet(sd, deleteOptions);
        //Si tiene notificacion, tambien la borrará
        String query_select="existe=SELECT COUNT(*) AS NUM FROM Q53M7T00 WHERE M7_COD_RESPUESTA ="+ codRespuesta;
        PSP.sqlProclet(sd, query_select);	
        int num = Integer.parseInt(sd.gOS("existe.num"));
        q53LogEstadisticas.printLog("Tiene respuestas de notificación? ->"+num);
        if(num>0){
			String deleteNotificacion ="=DELETE FROM Q53M7T00 WHERE M7_COD_RESPUESTA =" + codRespuesta;
	        PSP.sqlProclet(sd, deleteNotificacion);	
        }
        //FIN Si tiene notificacion, tambien la borrará
        	
    }
    
	public static void borrarTabla(ProcletServiceData sd,String encuesta,String codUsuario) throws ProcletException {
    	
    	if(encuesta.equals("pres")){
    		String deleteOptions ="=DELETE FROM PRESENCIAL WHERE T1_COD_USUARIO='"+codUsuario+"'";
    		// q53LogEstadisticas.printLog("deleteOptions ::::::::"+deleteOptions);
    		PSP.sqlProclet(sd, deleteOptions);
    	}else{
    		String deleteOptions ="=DELETE FROM NO_PRESENCIAL WHERE T2_COD_USUARIO='"+codUsuario+"'";
    		 // q53LogEstadisticas.printLog("deleteOptions ::::::::"+deleteOptions);
    		PSP.sqlProclet(sd, deleteOptions);
    	}
    	
    }
}
