<?php

/**
 * cuestionario actions.
 *
 * @package    radicacionVirtualCuentas
 * @subpackage cuestionario
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class contratistacuestionarioActions extends sfActions
{
 
    /**
     * Executes list action
     *
     * @param sfRequest $request A request object
     */
    
    public function executeUpdate(sfWebRequest $request) {
        //Revisar que sea post
        //$this->forward404Unless($request->isMethod('post'));
        //Guardar los parametros del request en el log
        $this->logMessage("---BEGIN Logging request");
        foreach ($request->getPostParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("--------------------------------------------------*  Ip: " . $_SERVER['REMOTE_ADDR']);
        foreach ($request->getGetParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("---END Logging request");

        /*
         * Manejo de errores
         */
        try {
            /*
             * Variables obligatorias
             */
            $usuario_log = $request['username'];
            $fecha_sistema = CN_TABLE::fechaSistema();
            $id_cuestionario = $request['id_cuestionario'];
            $id_contratista = $request['id_contratista'];
            $numero_preguntas = $request['numero_preguntas'];
            $this->logMessage("ID_CUESTIONARIO UPDATE:".$id_cuestionario);
            $this->logMessage("ID_CONTRATISTA:".$id_contratista);
            $this->logMessage("Numero_Preguntas:".$numero_preguntas);
            
            //Insertamos en la tabla RVC_CONTRA_CUESTIONARIO
            $sql = <<<EOD
select rvc_contra_cuestionario_seq.nextval as id from dual
EOD;
            $next = CN_TABLE::executeSQL($sql, true);
            $id_contra_cuestionario = $next [0]['id'];
            $sql = <<<EOD
INSERT INTO RVC_CONTRA_CUESTIONARIO(ID_CONTRA_CUESTIONARIO,ID_CONTRATISTA,ID_CUESTIONARIO,FECHA_LOG,USUARIO_LOG) 
VALUES ($id_contra_cuestionario,$id_contratista,$id_cuestionario,'$fecha_sistema','$usuario_log') 
EOD;
            
            $record = CN_TABLE::executeSQL($sql,true);   

            for($i=1;$i<=$numero_preguntas;$i++){
                $id_pregunta = $request['id_pregunta_'.$i];
                $respuesta = $request['respuesta_si_no_pregunta_'.$i]? $request['respuesta_si_no_pregunta_'.$i]:$request['respuesta_pregunta_'.$i];
                //$respuesta_si_no_pregunta = $request['respuesta_si_no_pregunta_'.$i];
                $respuesta_obs_pregunta = $request['respuesta_obs_pregunta_'.$i];
                $this->logMessage("ID_PREG:".$id_pregunta);
                $this->logMessage("RESPUESTA_PREG:".$respuesta);
                $this->logMessage("RESPUESTA_OBS_PREG:".$respuesta_obs_pregunta);
                $sql = <<<EOD
INSERT INTO RVC_RESP_CONTRA_CUESTION(ID_CONTRA_CUESTIONARIO,ID_PREGUNTA,RESPUESTA,RESPUESTA_OBS,FECHA_LOG,USUARIO_LOG) 
VALUES ($id_contra_cuestionario,$id_pregunta,'$respuesta','$respuesta_obs_pregunta','$fecha_sistema','$usuario_log')
EOD;
                $record = CN_TABLE::executeSQL($sql,true);
                           
            }

            $this->status = 0;
            $this->list_data = array();
            $this->logMessage("[ContratistaCuestionario] Consulta exitosa");
            
        }catch (Exception $e) {

            $this->status = 1;
            $this->list_data = array();
            $this->logMessage("ERROR!!!");
            $this->logMessage($e->getMessage());
        }
    }
    
    public function executeAdd(sfWebRequest $request) {

        //Revisar que sea post
        //$this->forward404Unless($request->isMethod('post'));
        //Guardar los parametros del request en el log
        $this->logMessage("---BEGIN Logging request");
        foreach ($request->getPostParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("--------------------------------------------------*  Ip: " . $_SERVER['REMOTE_ADDR']);
        foreach ($request->getGetParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("---END Logging request");

        /*
         * Manejo de errores
         */
        try {
            /*
             * Variables obligatorias
             */
            $usuario_log = $request['username'];
            $fecha_sistema = CN_TABLE::fechaSistema();
            $id_cuestionario = $request['id_cuestionario'];
            $id_contratista = $request['id_contratista'];
            $numero_preguntas = $request['numero_preguntas'];
            $this->logMessage("ID_CUESTIONARIO UPDATE:".$id_cuestionario);
            $this->logMessage("ID_CONTRATISTA:".$id_contratista);
            $this->logMessage("Numero_Preguntas:".$numero_preguntas);
            
            //Insertamos en la tabla RVC_CONTRA_CUESTIONARIO
            $sql = <<<EOD
select rvc_contra_cuestionario_seq.nextval as id from dual
EOD;
            $next = CN_TABLE::executeSQL($sql, true);
            $id_contra_cuestionario = $next [0]['id'];
            $sql = <<<EOD
INSERT INTO RVC_CONTRA_CUESTIONARIO(ID_CONTRA_CUESTIONARIO,ID_CONTRATISTA,ID_CUESTIONARIO,FECHA_LOG,USUARIO_LOG) 
VALUES ($id_contra_cuestionario,$id_contratista,$id_cuestionario,'$fecha_sistema','$usuario_log') 
EOD;
            
            $record = CN_TABLE::executeSQL($sql,true);   

            for($i=1;$i<=$numero_preguntas;$i++){
                $id_pregunta = $request['id_pregunta_'.$i];
                $respuesta = $request['respuesta_si_no_pregunta_'.$i]? $request['respuesta_si_no_pregunta_'.$i]:$request['respuesta_pregunta_'.$i];
                //$respuesta_si_no_pregunta = $request['respuesta_si_no_pregunta_'.$i];
                $respuesta_obs_pregunta = $request['respuesta_obs_pregunta_'.$i];
                $this->logMessage("ID_PREG:".$id_pregunta);
                $this->logMessage("RESPUESTA_PREG:".$respuesta);
                $this->logMessage("RESPUESTA_OBS_PREG:".$respuesta_obs_pregunta);
                $sql = <<<EOD
INSERT INTO RVC_RESP_CONTRA_CUESTION(ID_CONTRA_CUESTIONARIO,ID_PREGUNTA,RESPUESTA,RESPUESTA_OBS,FECHA_LOG,USUARIO_LOG) 
VALUES ($id_contra_cuestionario,$id_pregunta,'$respuesta','$respuesta_obs_pregunta','$fecha_sistema','$usuario_log')
EOD;
                $record = CN_TABLE::executeSQL($sql,true);
                           
            }

            $this->status = 0;
            $this->list_data = array();
            $this->logMessage("[ContratistaCuestionario] Consulta exitosa");
            
        }catch (Exception $e) {

            $this->status = 1;
            $this->list_data = array();
            $this->logMessage("ERROR!!!");
            $this->logMessage($e->getMessage());
        }
    }
    
    public function executeList(sfWebRequest $request) {

        //Revisar que sea post
        //$this->forward404Unless($request->isMethod('post'));
        //Guardar los parametros del request en el log
        $this->logMessage("---BEGIN Logging request");
        foreach ($request->getPostParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("--------------------------------------------------*  Ip: " . $_SERVER['REMOTE_ADDR']);
        foreach ($request->getGetParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("---END Logging request");

        /*
         * Manejo de errores
         */
        try {
            /*
             * Variables obligatorias
             */
            $usuario_log = $request['username'];
            $fecha_sistema = CN_TABLE::fechaSistema();
            $id_cuestionario = 1;
            $id_contratista = $request['id_contratista'];
            //$numero_preguntas = $request['numero_preguntas'];
            $this->logMessage("ID_CUESTIONARIO UPDATE:".$id_cuestionario);
            $this->logMessage("ID_CONTRATISTA:".$id_contratista);
            $this->logMessage("Numero_Preguntas:".$numero_preguntas);

            $sql = <<<EOD
Select 
  tab2.id_contra_cuestionario,
  tab0.id_contratista, 
  tab1.abreviacion as tipo_doc, 
  tab0.num_doc,tab0.RAZON_SOCIAL,
  tab0.ESTADO as estado_cont,
  tab2.estado as estado_cuestionario,
  tab2.fecha_log as fecha_cuestionario
from RVC_CONTRA_CUESTIONARIO tab2 
left join rvc_contratista tab0 on tab2.id_contratista=tab0.id_contratista 
left join tipo_documento tab1 on tab1.ID_TIPO_DOC = tab0.ID_TIPO_DOC
where tab0.id_contratista = $id_contratista
EOD;
            
            $resultado = CN_TABLE::executeSQL($sql);   

            $this->totalRows = count($resultado);
            $this->startRow = $rowStart;
            $this->endRow = $rowStart + count($resultado);
            $this->list_data = $resultado;
            $this->logMessage("[ContratistaCuestionario] Consulta exitosa");
            
        }catch (Exception $e) {

            $this->status = 1;
            $this->totalRows = 0;
            $this->startRow = 0;
            $this->endRow = 0;
            $this->list_data = array();
            $this->logMessage("ERROR!!!");
            $this->logMessage($e->getMessage());
        }
    }
    
   

}
