コード例 #1
0
                                                        <?php 
            }
            if ($lineasEncuesta[$i]['lngTipo'] == 3) {
                //Comprobamos si es una Pregunta de tipo Combo
                $result = $lineasEncuesta[$i]['strPreguntas'];
                //$datosGraficas = $clsCNEnc->GraficasEncuesta($_GET['id'], 3, $i);
                ?>
                                                            <tr>
                                                                <td colspan ="3" height="18" class="subtitulo"><b><?php 
                echo $result;
                ?>
</b></td>
                                                            </tr>  	        	
                                                            <?php 
                //listado de opciones
                $listado = $clsCNEnc->listadoOpcionesPreguntaTipo3($lineasEncuesta[$i]['lngIdEncuesta'], $lineasEncuesta[$i]['lngNumPregunta']);
                ?>
                                                            <tr><td colspan ="2" width="300" >&nbsp;</td></tr>	        
                                                            <?php 
                for ($ii = 1; $ii <= count($listado); $ii++) {
                    ?>
                                                                <tr>
                                                                    <td colspan ="3" height="18" style="background: #EEEEEE;"><b>&nbsp;&nbsp;&nbsp;&nbsp;<?php 
                    echo $listado[$ii]['descripcion'];
                    ?>
</b></td>
                                                                </tr>
                                                                <tr>
                                                                    <td colspan="3" style="height: 200px;">
                                                                        <script>
                                                                        $(document).ready(function() {
コード例 #2
0
 private function generarDatosSQL($Id, $IdPunto)
 {
     require_once '../general/' . $_SESSION['mapeo'];
     $db = new Db();
     $db->conectar($this->getStrBD());
     switch ($IdPunto) {
         //PUNTO 1
         //se recogen los datos del Punto 29 de la revision Id anterior, si los hay
         //sino se escribe un texto
         case '1':
             $strSQL = "\r\n                            SELECT D.texto\r\n                            FROM tbrevpuntosdatos D\r\n                            WHERE D.IdRevision = " . ($Id - 1) . "\r\n                            AND D.IdPunto = 29\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             $respuesta = 'Sin puntos pendientes del acta anterior';
             if ($stmt) {
                 $row = mysql_fetch_array($stmt);
                 if (!empty($row['texto'])) {
                     $respuesta = $row['texto'];
                 }
             }
             break;
             //PUNTO 2
             //se recogen los datos del Punto 2 de la revision Id anterior, si los hay
             //sino se escribe un texto
         //PUNTO 2
         //se recogen los datos del Punto 2 de la revision Id anterior, si los hay
         //sino se escribe un texto
         case '2':
             $strSQL = "\r\n                            SELECT D.texto\r\n                            FROM tbrevpuntosdatos D\r\n                            WHERE D.IdRevision = " . ($Id - 1) . "\r\n                            AND D.IdPunto = 2\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             $respuesta = 'Sin cambios que podrían afectar al sistema del acta anterior';
             if ($stmt) {
                 $row = mysql_fetch_array($stmt);
                 if (!empty($row['texto'])) {
                     $respuesta = $row['texto'];
                 }
             }
             break;
             //PUNTO 3
             //se recogen los datos del Punto 3 de la revision Id anterior, si los hay
             //sino se escribe un texto
         //PUNTO 3
         //se recogen los datos del Punto 3 de la revision Id anterior, si los hay
         //sino se escribe un texto
         case '3':
             $strSQL = "\r\n                            SELECT D.texto\r\n                            FROM tbrevpuntosdatos D\r\n                            WHERE D.IdRevision = " . ($Id - 1) . "\r\n                            AND D.IdPunto = 3\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             $respuesta = 'Sin revisión de políticas de gestión del acta anterior';
             if ($stmt) {
                 $row = mysql_fetch_array($stmt);
                 if (!empty($row['texto'])) {
                     $respuesta = $row['texto'];
                 }
             }
             break;
             //PUNTO 4
             //ESTO NO ESTA BIEN, CREO, SE HA PREGUNTADO A JM 22/11/2016
             //se recogen los datos del Punto 3 de la revision Id anterior, si los hay
             //sino se escribe un texto
         //PUNTO 4
         //ESTO NO ESTA BIEN, CREO, SE HA PREGUNTADO A JM 22/11/2016
         //se recogen los datos del Punto 3 de la revision Id anterior, si los hay
         //sino se escribe un texto
         case '4':
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $row = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT CASE F.Tipo WHEN 'D' THEN 'Debilidad' WHEN 'A' THEN 'Amenaza' WHEN 'F' THEN 'Fortaleza' WHEN 'O' THEN 'Oportunidad' END AS Tipo, F.Factor, F.Clasificacion, DATE_FORMAT(F.Fecha,'%d/%m/%Y') AS Fecha\r\n                            FROM tbfactores F\r\n                            WHERE F.Fecha BETWEEN '" . fecha_to_DATETIME($row['Desde']) . "' AND '" . fecha_to_DATETIME_F($row['Hasta']) . "'\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             $resultado = '';
             if ($stmt) {
                 while ($row = mysql_fetch_array($stmt)) {
                     $reg = '';
                     foreach ($row as $propiedad => $valor) {
                         if (!is_numeric($propiedad)) {
                             $reg[$propiedad] = $valor;
                         }
                     }
                     $resultado[] = $reg;
                 }
             }
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = "Datos de los factores en el análisis de contexto<br/><table>";
                 $respuesta = $respuesta . "<tr><td><b>Tipo</b></td><td><b>Factor</b></td><td><b>Clasificación</b></td><td><b>Fecha</b></td></tr>";
                 for ($i = 0; $i < count($resultado); $i++) {
                     $respuesta = $respuesta . "<tr>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Tipo'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Factor'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Clasificacion'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Fecha'] . "</td></tr>";
                 }
                 $respuesta = $respuesta . "</table><br/><br/>";
             }
             break;
             //PUNTO 5
             //1º Aquí deberíamos mostrar todas las partes interesadas que tengan alguna valoración en el período seleccionado.
             //El resultado debería ser el Id y el nombre de la parte interesada y las valoraciones del período
         //PUNTO 5
         //1º Aquí deberíamos mostrar todas las partes interesadas que tengan alguna valoración en el período seleccionado.
         //El resultado debería ser el Id y el nombre de la parte interesada y las valoraciones del período
         case '5':
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $row = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //ahora las PI con las valoraciones
             $strSQL = "\r\n                            SELECT PI.IdPI, PI.Parte, V.responsabilidad, V.influencia, V.cercania, V.dependencia, \r\n                            V.representacion, V.total, CONCAT(E.strNombre,' ',E.strApellidos) AS Empleado, DATE_FORMAT(V.Fecha,'%d/%m/%Y') AS Fecha\r\n                            FROM tbpi_pi_interesadas PI, tbpi_valor V, tbempleados E\r\n                            WHERE PI.IdPI=V.IdParte\r\n                            AND V.Empleado=E.lngIdEmpleado\r\n                            AND V.Fecha BETWEEN '" . fecha_to_DATETIME($row['Desde']) . "' AND '" . fecha_to_DATETIME_F($row['Hasta']) . "'\r\n                            AND V.borrado = 1\r\n                           ";
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             $respuesta = '';
             if ($stmt) {
                 while ($row = mysql_fetch_array($stmt)) {
                     $reg = '';
                     foreach ($row as $propiedad => $valor) {
                         if (!is_numeric($propiedad)) {
                             $reg[$propiedad] = $valor;
                         }
                     }
                     $resultado[] = $reg;
                 }
             }
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = "Datos de las valoraciones de las partes Interesadas<br/><table>";
                 $respuesta = $respuesta . "<tr><td>Id</td><td><b>Parte</b></td><td><b>Responsabilidad</b></td><td><b>Influencia</b></td><td><b>Cercania</b></td><td><b>Dependencia</b></td><td><b>Representación</b></td><td><b>Total</b></td><td><b>Empleado</b></td><td><b>Fecha</b></td></tr>";
                 for ($i = 0; $i < count($resultado); $i++) {
                     $respuesta = $respuesta . "<tr>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['IdPI'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Parte'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['responsabilidad'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['influencia'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['cercania'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['dependencia'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['representacion'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['total'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Empleado'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Fecha'] . "</td></tr>";
                 }
                 $respuesta = $respuesta . "</table>";
             }
             //2º todas las partes interesadas que tengan acciones dadas de alta en el período seleccionado
             $strSQL = "\r\n                            SELECT PI.IdPI, PI.Parte, A.Compromisos\r\n                            FROM tbpi_pi_interesadas PI, tbpi_acciones A\r\n                            WHERE PI.IdPI=A.IdParte\r\n                            AND A.Fecha BETWEEN '" . fecha_to_DATETIME($row['Desde']) . "' AND '" . fecha_to_DATETIME_F($row['Hasta']) . "'\r\n                            AND A.borrado = 1\r\n                           ";
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             if ($stmt) {
                 while ($row = mysql_fetch_array($stmt)) {
                     $reg = '';
                     foreach ($row as $propiedad => $valor) {
                         if (!is_numeric($propiedad)) {
                             $reg[$propiedad] = $valor;
                         }
                     }
                     $resultado[] = $reg;
                 }
             }
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = $respuesta . "Datos de las acciones de las partes Interesadas<br/><table>";
                 $respuesta = $respuesta . "<tr><td>Id</td><td><b>Parte</b></td><td><b>Compromisos</b></td></tr>";
                 for ($i = 0; $i < count($resultado); $i++) {
                     $respuesta = $respuesta . "<tr>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['IdPI'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Parte'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Compromisos'] . "</td></tr>";
                 }
                 $respuesta = $respuesta . "</table>";
             }
             break;
             //PUNTO 6
             //Aquí deberíamos mostrar encuestas dadas de alta y aprobadas, y en cada una de ellas el numero de respuestas y lo que han respondido.
         //PUNTO 6
         //Aquí deberíamos mostrar encuestas dadas de alta y aprobadas, y en cada una de ellas el numero de respuestas y lo que han respondido.
         case '6':
             require_once '../CN/clsCNEnc.php';
             $clsCNEnc = new clsCNEnc();
             $clsCNEnc->setStrBD($_SESSION['mapeo']);
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $fecha = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //ahora los datos de las encuestas
             $strSQL = "\r\n                            SELECT E.lngId, E.strNombre, DATE_FORMAT(E.datFecha,'%d/%m/%Y') AS datFecha, concat_ws(' ', E1.strNombre, E1.strApellidos) as responsable, E.numPreguntas, E.lngEstado, E.datFechaIni, E.datFechaFin\r\n                            FROM cabeceraencuesta E, tbempleados E1\r\n                            WHERE E.lngIdEmpleado = E1.lngIdEmpleado AND E.lngEstado = 1\r\n                            AND E.datFechaAprobado BETWEEN '" . fecha_to_DATETIME($fecha['Desde']) . "' AND '" . fecha_to_DATETIME_F($fecha['Hasta']) . "'\r\n                           ";
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             $resultado = '';
             if ($stmt) {
                 while ($row = mysql_fetch_array($stmt)) {
                     $reg = '';
                     foreach ($row as $propiedad => $valor) {
                         if (!is_numeric($propiedad)) {
                             $reg[$propiedad] = $valor;
                         }
                     }
                     $resultado[] = $reg;
                 }
             }
             //ahora añadimos las preguntas con el numero de respuestas
             $encuestas = '';
             if (is_array($resultado)) {
                 for ($i = 0; $i < count($resultado); $i++) {
                     $strSQL = "\r\n                                    SELECT DISTINCT L.lngNumPregunta,L.lngTipo,L.strPreguntas\r\n                                    FROM lineasencuesta L, tbresultados_esp E, tbrespuestas RE\r\n                                    WHERE L.lngIdEncuesta = " . $resultado[$i]['lngId'] . "\r\n                                    AND L.lngIdEncuesta = E.lngIdEncuesta\r\n                                    AND L.lngNumPregunta = E.lngNumPregunta\r\n                                    AND RE.lngIdEncuesta = E.lngIdEncuesta\r\n                                    AND RE.lngIdRespuesta = E.lngNumResp\r\n                                    AND RE.datFecha BETWEEN '" . fecha_to_DATETIME($fecha['Desde']) . "' AND '" . fecha_to_DATETIME_F($fecha['Hasta']) . "'\r\n                                   ";
                     $db->conectar($this->getStrBD());
                     $stmt = $db->ejecutar($strSQL);
                     $db->desconectar();
                     if (!$stmt) {
                         return false;
                     }
                     $respuestasEncuesta = '';
                     while ($row = mysql_fetch_array($stmt)) {
                         $reg = '';
                         foreach ($row as $propiedad => $valor) {
                             if (!is_numeric($propiedad)) {
                                 $reg[$propiedad] = $valor;
                             }
                         }
                         $respuestasEncuesta[] = $reg;
                     }
                     //ahora preparo un array con los calculos sobre estos datos
                     $datosEncuesta['IdEncuesta'] = $resultado[$i]['lngId'];
                     $datosEncuesta['Nombre'] = $resultado[$i]['strNombre'];
                     $datosEncuesta['datos'] = '';
                     if (is_array($respuestasEncuesta)) {
                         for ($ii = 0; $ii < count($respuestasEncuesta); $ii++) {
                             $lngIdEncuesta = $resultado[$i]['lngId'];
                             $lngNumPregunta = $respuestasEncuesta[$ii]['lngNumPregunta'];
                             $desde = $fecha['Desde'];
                             $hasta = $fecha['Hasta'];
                             if ($respuestasEncuesta[$ii]['lngTipo'] === '1' || $respuestasEncuesta[$ii]['lngTipo'] === '4') {
                                 //extraigo los resultados de esta pregunta tipo 1 o 4
                                 $listadoPregunta = $clsCNEnc->listadoTipo1($lngIdEncuesta, $lngNumPregunta, $desde, $hasta);
                                 $preguntaNueva['Pregunta'] = $respuestasEncuesta[$ii]['strPreguntas'];
                                 $preguntaNueva['Respuesta'] = $listadoPregunta;
                                 $preguntaNueva['Tipo'] = '1';
                                 $datosEncuesta['datos'][] = $preguntaNueva;
                             } else {
                                 if ($respuestasEncuesta[$ii]['lngTipo'] === '2') {
                                     //extraigo los resultados de esta pregunta tipo 2
                                     $listadoPregunta = $clsCNEnc->listadoTipo2($lngIdEncuesta, $lngNumPregunta, $desde, $hasta);
                                     //var_dump($listadoPregunta);die;
                                     $preguntaNueva['Pregunta'] = $respuestasEncuesta[$ii]['strPreguntas'];
                                     $preguntaNueva['Respuesta'] = $listadoPregunta;
                                     $preguntaNueva['Tipo'] = '2';
                                     $datosEncuesta['datos'][] = $preguntaNueva;
                                 } else {
                                     if ($respuestasEncuesta[$ii]['lngTipo'] === '3') {
                                         //extraigo los resultados de esta pregunta tipo 3
                                         //listado de opciones
                                         $listado = $clsCNEnc->listadoOpcionesPreguntaTipo3($lngIdEncuesta, $lngNumPregunta);
                                         $datos = '';
                                         for ($ii2 = 1; $ii2 <= count($listado); $ii2++) {
                                             $listadoPregunta = $clsCNEnc->listadoTipo3($lngIdEncuesta, $lngNumPregunta, $ii2, $listado[$ii2]['max'], $desde, $hasta);
                                             $opciones['opcion'] = $listado[$ii2]['descripcion'];
                                             $opciones['resultado'] = $listadoPregunta;
                                             $opciones['max'] = $listado[$ii2]['max'];
                                             $datos[] = $opciones;
                                         }
                                         $preguntaNueva['Pregunta'] = $respuestasEncuesta[$ii]['strPreguntas'];
                                         $preguntaNueva['Respuesta'] = $datos;
                                         $preguntaNueva['Tipo'] = '3';
                                         $datosEncuesta['datos'][] = $preguntaNueva;
                                     }
                                 }
                             }
                         }
                         //ahora presento los datos de los campos "Nombre Cliente" y "Observaciones"
                         $listadoSugerencias = $clsCNEnc->Sugerencias($resultado[$i]['lngId'], $fecha['Desde'], $fecha['Hasta']);
                         $datosEncuesta['Sugerencias'] = $listadoSugerencias;
                         $encuestas[] = $datosEncuesta;
                     }
                 }
             }
             //echo "voila";
             //var_dump($encuestas[0]['datos'][2]['Respuesta'][0]);die;
             //ahora vamos a generar el html que se insertará, se hara un cuadro por cada encuesta
             $respuesta = "<p>Listado de las encuestas aprobadas</p><br/>";
             if (is_array($encuestas)) {
                 for ($i = 0; $i < count($encuestas); $i++) {
                     $respuesta = $respuesta . "<h3>Nº: " . $encuestas[$i]['IdEncuesta'] . " - Nombre: " . $encuestas[$i]['Nombre'] . "</h3>";
                     //extraigo el numero de envio (tabla tbencuestasenvios)
                     $numeroEnvios = $clsCNEnc->EncuestaEnvios($encuestas[$i]['IdEncuesta']);
                     $respuesta = $respuesta . "Número de respuestas: " . count($encuestas[$i]['Sugerencias']) . "<br/><br/>";
                     $respuesta = $respuesta . "Número de Envíos: " . $numeroEnvios . "<br/><br/>";
                     //ahora recorro las preguntas
                     for ($k = 0; $k < count($encuestas[$i]['datos']); $k++) {
                         $respuesta = $respuesta . "<b>" . ($k + 1) . " - " . $encuestas[$i]['datos'][$k]['Pregunta'] . "</b><br/>";
                         //ahora veo que tipo de pregunta es y preparo las respuesta
                         if ($encuestas[$i]['datos'][$k]['Tipo'] === '1') {
                             //listo todas las respuestas
                             for ($z = 0; $z < count($encuestas[$i]['datos'][$k]['Respuesta']); $z++) {
                                 $respuesta = $respuesta . "<li>" . $encuestas[$i]['datos'][$k]['Respuesta'][$z]['strValor'] . "</li>";
                             }
                             $respuesta = $respuesta . "<br/><br/>";
                         } else {
                             if ($encuestas[$i]['datos'][$k]['Tipo'] === '2') {
                                 $respuesta = $respuesta . "<table>";
                                 for ($z = 0; $z < count($encuestas[$i]['datos'][$k]['Respuesta']); $z++) {
                                     if ($encuestas[$i]['datos'][$k]['Respuesta'][$z]['Descripcion'] !== '') {
                                         $respuesta = $respuesta . "<tr><td>" . $encuestas[$i]['datos'][$k]['Respuesta'][$z]['Descripcion'] . "</td>";
                                         $respuesta = $respuesta . "<td>" . $encuestas[$i]['datos'][$k]['Respuesta'][$z]['Cantidad'] . "</td></tr>";
                                     }
                                 }
                                 $respuesta = $respuesta . "</table><br/><br/>";
                             } else {
                                 if ($encuestas[$i]['datos'][$k]['Tipo'] === '3') {
                                     for ($z = 0; $z < count($encuestas[$i]['datos'][$k]['Respuesta']); $z++) {
                                         $respuesta = $respuesta . "<b>" . $encuestas[$i]['datos'][$k]['Respuesta'][$z]['opcion'] . "</b>";
                                         $ordinales = '';
                                         $cantidades = '';
                                         //ordinales
                                         $respuesta = $respuesta . "<table><tr>";
                                         $respuesta = $respuesta . "<td>Valoración</td>";
                                         for ($zz = 0; $zz <= $encuestas[$i]['datos'][$k]['Respuesta'][$z]['max']; $zz++) {
                                             $valoracion = $zz;
                                             if ($zz === 0) {
                                                 $valoracion = 'SC';
                                             }
                                             $respuesta = $respuesta . "<td>" . $valoracion . "</td>";
                                         }
                                         $respuesta = $respuesta . "</tr><tr>";
                                         $respuesta = $respuesta . "<td>Cantidad</td>";
                                         for ($zz = 0; $zz <= $encuestas[$i]['datos'][$k]['Respuesta'][$z]['max']; $zz++) {
                                             $respuesta = $respuesta . "<td>" . $encuestas[$i]['datos'][$k]['Respuesta'][$z]['resultado'][$zz] . "</td>";
                                         }
                                         $respuesta = $respuesta . "</tr></table><br/><br/>";
                                     }
                                 }
                             }
                         }
                     }
                     //por ultimo preparo la tabla de las sugerencias
                     $respuesta = $respuesta . "<b>Sugerencias</b><br/>";
                     $respuesta = $respuesta . "<table><tr>";
                     $respuesta = $respuesta . "<td>Nombre</td><td>Sugerencia</td></tr>";
                     for ($t = 0; $t < count($encuestas[$i]['Sugerencias']); $t++) {
                         //var_dump($encuestas[$i]['Sugerencias'][$t]);die;
                         $respuesta = $respuesta . "<tr><td>" . $encuestas[$i]['Sugerencias'][$t]['txtNombre'] . "</td>";
                         $respuesta = $respuesta . "<td>" . $encuestas[$i]['Sugerencias'][$t]['txtObservaciones'] . "</td></tr>";
                     }
                     $respuesta = $respuesta . "</tr></table><br/><br/>";
                 }
             }
             break;
             //PUNTO 7
             //Aquí podríamos sacar todos los aspectos que están VIGENTES (creo que son los que no tienen fechaEliminado) indicando el nombre del aspecto la ubicación y la fecha de alta.
         //PUNTO 7
         //Aquí podríamos sacar todos los aspectos que están VIGENTES (creo que son los que no tienen fechaEliminado) indicando el nombre del aspecto la ubicación y la fecha de alta.
         case '7':
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $fecha = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //listo los aspectos ambientales
             $strSQL = "\r\n                            SELECT A.aspecto, A.ubicacion, DATE_FORMAT(A.fechaAlta,'%d/%m/%Y') AS fechaAlta\r\n                            FROM tbmaaspectos A\r\n                            WHERE A.fechaAlta BETWEEN '" . fecha_to_DATETIME($fecha['Desde']) . "' AND '" . fecha_to_DATETIME_F($fecha['Hasta']) . "'\r\n                            AND (ISNULL(A.fechaEliminado) OR A.fechaEliminado = '0000-00-00 00:00:00') \r\n                           ";
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             if (!$stmt) {
                 return false;
             }
             $resultado = '';
             while ($row = mysql_fetch_array($stmt)) {
                 $reg = '';
                 foreach ($row as $propiedad => $valor) {
                     if (!is_numeric($propiedad)) {
                         $reg[$propiedad] = $valor;
                     }
                 }
                 $resultado[] = $reg;
             }
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = $respuesta . "Datos de los aspectos ambientales<br/><table>";
                 $respuesta = $respuesta . "<tr><td><b>Aspecto</b></td><td><b>Ubicación</b></td><td><b>Fecha Alta</b></td></tr>";
                 for ($i = 0; $i < count($resultado); $i++) {
                     $respuesta = $respuesta . "<tr>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['aspecto'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['ubicacion'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['fechaAlta'] . "</td></tr>";
                 }
                 $respuesta = $respuesta . "</table>";
             }
             break;
             //PUNTO 8
             //Riesgos y oportunidades  PENDIENTE
         //PUNTO 8
         //Riesgos y oportunidades  PENDIENTE
         case '8':
             break;
             //PUNTO 9
             //Listado de seguimiento de Objetivos
         //PUNTO 9
         //Listado de seguimiento de Objetivos
         case '9':
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $fecha = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //listo los aspectos ambientales
             $strSQL = "\r\n                            SELECT O.lngId, O.txtDescripcion, D.strDescripcion,\r\n                            DATE_FORMAT(O.datFechaAlta,'%d/%m/%Y') AS datFechaAlta,\r\n                            DATE_FORMAT(O.datFechaConsecucion,'%d/%m/%Y') AS datFechaConsecucion, O.lngEstado, O.lngInd\r\n                            FROM tbobjetivos O, tbdepartamentos D\r\n                            WHERE D.lngId = O.lngIdDepartamento\r\n                            AND O.datFechaAlta <= '" . fecha_to_DATETIME_F($fecha['Hasta']) . "'\r\n                            AND O.datFechaConsecucion >= '" . fecha_to_DATETIME($fecha['Desde']) . "'\r\n                           ";
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             //echo $strSQL;die;
             if (!$stmt) {
                 return false;
             }
             $resultado = '';
             while ($row = mysql_fetch_array($stmt)) {
                 $reg = '';
                 foreach ($row as $propiedad => $valor) {
                     if (!is_numeric($propiedad)) {
                         $reg[$propiedad] = $valor;
                     }
                 }
                 $resultado[] = $reg;
             }
             //var_dump($resultado);die;
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = $respuesta . "Datos de los aspectos ambientales<br/><table>";
                 $respuesta = $respuesta . "<tr><td><b>Aspecto</b></td><td><b>Ubicación</b></td><td><b>Fecha Alta</b></td><td><b>Fecha Consecución</b></td></tr>";
                 for ($i = 0; $i < count($resultado); $i++) {
                     $respuesta = $respuesta . "<tr>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['txtDescripcion'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['strDescripcion'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['datFechaAlta'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['datFechaConsecucion'] . "</td></tr>";
                 }
                 $respuesta = $respuesta . "</table>";
             }
             break;
             //PUNTO 10
             //Aquí mostraremos todas las mediciones de indicadores que tengan fecha dentro del período indicado
             //https://www.qualidad.es/qualidad1/vista/IndicSegMed.php?id=28
         //PUNTO 10
         //Aquí mostraremos todas las mediciones de indicadores que tengan fecha dentro del período indicado
         //https://www.qualidad.es/qualidad1/vista/IndicSegMed.php?id=28
         case '10':
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $fecha = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //ahora listo todos los indicadores que tengan mediciones en este periodo
             $strSQL = "\r\n                            SELECT I.lngIndicador, I.strNomIndicador, DATE_FORMAT(I.datFecha,'%d/%m/%Y') AS datFecha, DATE_FORMAT(I.datFechaVenci,'%d/%m/%Y') AS datFechaVenci, I.strDepartamento,\r\n                            CONCAT(E.strNombre, ' ', E.strApellidos) AS Empleado, I.strUsuario, I.strProceso, I.strFichProceso,\r\n                            I.strDescripcion, I.strNombreA, I.strNombreB, I.strNombreC, I.strOperando1, I.strOperando2,\r\n                            I.strOperando3, I.strOperacion, I.strOperacion1, I.lngValorObj, I.lngValorMin, I.strPeriodicidad\r\n                            FROM tbdefinindi I, tbempleados E\r\n                            WHERE I.strUsuario=E.lngIdEmpleado\r\n                           ";
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             //echo $strSQL;die;
             if (!$stmt) {
                 return false;
             }
             $resultado = '';
             while ($row = mysql_fetch_array($stmt)) {
                 $reg = '';
                 foreach ($row as $propiedad => $valor) {
                     if (!is_numeric($propiedad)) {
                         $reg[$propiedad] = $valor;
                     }
                 }
                 $resultado[] = $reg;
             }
             $respuesta = '';
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = $respuesta . "Datos del Desempeño de los procesos y conformidad del producto o servicio<br/>";
                 for ($ii = 0; $ii < count($resultado); $ii++) {
                     //ahora saco los datos de las mediciones de este indicador que esten dentro del periodo indicado
                     $strSQL = "\r\n                                    SELECT F.lngMedicion,CONCAT(E.strNombre , ' ' , E.strApellidos) AS Empleado,F.lngOperando1, F.lngOperando2, lngOperando3, \r\n                                    DATE_FORMAT(F.datFecha,'%d/%m/%Y') AS datFecha,F.lngValorObj,\r\n                                    F.lngValorMin , F.resultado, F.correcta, F.strObservaciones\r\n                                    FROM tbmedicionindi F, tbempleados E, tbdefinindi D, tbusuarios U\r\n                                    WHERE F.lngIndicador = D.lngIndicador AND U.strUsuario = F.strUsuario\r\n                                    AND U.lngIdEmpleado = E.lngIdEmpleado AND F.lngIndicador = " . $resultado[$ii]['lngIndicador'] . "\r\n                                    AND F.datFecha BETWEEN '" . fecha_to_DATETIME($fecha['Desde']) . "' AND '" . fecha_to_DATETIME_F($fecha['Hasta']) . "'\r\n                                   ";
                     //echo $strSQL;die;
                     $db->conectar($this->getStrBD());
                     $stmt = $db->ejecutar($strSQL);
                     $db->desconectar();
                     if (!$stmt) {
                         return false;
                     }
                     $resultadoDatosIndicadorMediciones = '';
                     while ($row = mysql_fetch_array($stmt)) {
                         $reg = '';
                         foreach ($row as $propiedad => $valor) {
                             if (!is_numeric($propiedad)) {
                                 $reg[$propiedad] = $valor;
                             }
                         }
                         $resultadoDatosIndicadorMediciones[] = $reg;
                     }
                     //preparar la tabla por cada indicador
                     if (is_array($resultadoDatosIndicadorMediciones)) {
                         $respuesta = $respuesta . "<p>Nº: <b>" . $resultado[$ii]['lngIndicador'] . " - Nombre: <b>" . $resultado[$ii]['strNomIndicador'] . "</b></p>";
                         //indico los nombres de OP1, OP2 y OP3
                         $strNombreA = '';
                         if ($resultado[$ii]['strOperando1'] === 'Operando A') {
                             $strNombreA = $resultado[$ii]['strNombreA'];
                         } else {
                             if ($resultado[$ii]['strOperando1'] === 'Operando B') {
                                 $strNombreA = $resultado[$ii]['strNombreB'];
                             } else {
                                 if ($resultado[$ii]['strOperando1'] === 'Operando C') {
                                     $strNombreA = $resultado[$ii]['strNombreC'];
                                 }
                             }
                         }
                         $strNombreB = '';
                         if ($resultado[$ii]['strOperando2'] === 'Operando A') {
                             $strNombreB = $resultado[$ii]['strNombreA'];
                         } else {
                             if ($resultado[$ii]['strOperando2'] === 'Operando B') {
                                 $strNombreB = $resultado[$ii]['strNombreB'];
                             } else {
                                 if ($resultado[$ii]['strOperando2'] === 'Operando C') {
                                     $strNombreB = $resultado[$ii]['strNombreC'];
                                 }
                             }
                         }
                         $strNombreC = '';
                         if ($resultado[$ii]['strOperando3'] === 'Operando A') {
                             $strNombreC = $resultado[$ii]['strNombreA'];
                         } else {
                             if ($resultado[$ii]['strOperando3'] === 'Operando B') {
                                 $strNombreC = $resultado[$ii]['strNombreB'];
                             } else {
                                 if ($resultado[$ii]['strOperando3'] === 'Operando C') {
                                     $strNombreC = $resultado[$ii]['strNombreC'];
                                 }
                             }
                         }
                         $respuesta = $respuesta . "<table>";
                         $respuesta = $respuesta . "<tr>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 5%;background: #BDC2C4;\\'>Nº Med</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 30%;background: #BDC2C4;\\'>Usuario</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 10%;background: #BDC2C4;\\'>" . $strNombreA . "</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 10%;background: #BDC2C4;\\'>" . $strNombreB . "</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 10%;background: #BDC2C4;\\'>" . $strNombreC . "</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 10%;background: #BDC2C4;\\'>Fecha</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 5%;background: #BDC2C4;\\'>Objetivo</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 5%;background: #BDC2C4;\\'>Referencia</th>";
                         $respuesta = $respuesta . "<th class=\\'medicionTxt\\' style=\\'width: 10%;background: #BDC2C4;\\'>Resultado</th>";
                         $respuesta = $respuesta . "</tr>";
                         for ($i = 0; $i < count($resultadoDatosIndicadorMediciones); $i++) {
                             //compruebo si esta dentro del rango OK (naranja), si es menos de ValorMin (Rojo) y ValorObj (Verde)
                             $resultado = (double) round($resultadoDatosIndicadorMediciones[$i]['resultado'], 4);
                             $valorObj = (double) $resultadoDatosIndicadorMediciones[$i]['lngValorObj'];
                             $valorRef = (double) $resultadoDatosIndicadorMediciones[$i]['lngValorMin'];
                             $comp = $valorObj - $valorRef;
                             //es creciente
                             $color = '#efe4a7';
                             if ($comp > 0) {
                                 if ($resultado > $valorObj) {
                                     //si es mayor es verde
                                     $color = '#9df39f';
                                 } else {
                                     if ($resultado < $valorRef) {
                                         //si es menor es rojo
                                         $color = '#e58282';
                                     }
                                 }
                             } else {
                                 if ($comp < 0) {
                                     if ($resultado < $valorObj) {
                                         //si es menor es verde
                                         $color = '#9df39f';
                                     } else {
                                         if ($resultado > $valorRef) {
                                             //si es mayor es rojo
                                             $color = '#e58282';
                                         }
                                     }
                                 }
                             }
                             //                                //veo si hay observaciones, si las hay las presento en un jquery.baloon
                             //                                $observaciones = '';
                             //                                if(trim($resultadoDatosIndicadorMediciones[$i]['strObservaciones']) !== ""){//he puesto trim porque hay registro con un espacio en blanco
                             //                                    $observaciones = "<a class=\'observaciones\' title=\'".$resultadoDatosIndicadorMediciones[$i]['strObservaciones']."\'>Ver</a>";
                             //                                }
                             $respuesta = $respuesta . "<tr>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['lngMedicion'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['Empleado'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['lngOperando1'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['lngOperando2'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['lngOperando3'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['datFecha'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['lngValorObj'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\'>" . $resultadoDatosIndicadorMediciones[$i]['lngValorMin'] . "</td>";
                             $respuesta = $respuesta . "<td class=\\'medicionTxt\\' style=\\'background:{$color};\\'>" . round($resultadoDatosIndicadorMediciones[$i]['resultado'], 4) . "</font></td>";
                             $respuesta = $respuesta . "</tr>";
                         }
                         $respuesta = $respuesta . "</table><br/><br/>";
                     }
                 }
             }
             break;
             //PUNTO 11
             //Aquí mostraríamos lo mismo que en el punto 10 pero de aquellos indicadores que están relacionados con un aspecto ambiental
             //PENDIENTE
         //PUNTO 11
         //Aquí mostraríamos lo mismo que en el punto 10 pero de aquellos indicadores que están relacionados con un aspecto ambiental
         //PENDIENTE
         case '11':
             break;
             //PUNTO 12
             //Las consultas de las NCs
         //PUNTO 12
         //Las consultas de las NCs
         case '12':
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $fecha = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //No Conformidades abiertas
             $strSQL = "\r\n                            SELECT N.lngId AS Numero, N.strNoConfServ,DATE_FORMAT(N.datFechaAlta,'%d/%m/%Y') AS datFechaAlta, N.strReqIncumplido AS ReqIncumplido, \r\n                            (D.strDescripcion) AS Departamento, N.lngAccion ,N.strContrato\r\n                            FROM tbnoconfserv N,tbdepartamentos D\r\n                            WHERE N.lngIdDepartamento = D.lngId AND N.lngStatus=1\r\n                            AND N.datFechaAlta BETWEEN '" . fecha_to_DATETIME($fecha['Desde']) . "' AND '" . fecha_to_DATETIME_F($fecha['Hasta']) . "'\r\n                           ";
             //echo $strSQL;die;
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             if (!$stmt) {
                 return false;
             }
             $resultado = '';
             while ($row = mysql_fetch_array($stmt)) {
                 $reg = '';
                 foreach ($row as $propiedad => $valor) {
                     if (!is_numeric($propiedad)) {
                         $reg[$propiedad] = $valor;
                     }
                 }
                 //ahora buscamos si tiene una accion correctiva asociada
                 $strSQL = "\r\n                                SELECT A.lngId, A.strAccionCorrPrev\r\n                                FROM tbaccioncorrprev A, tborigenaccioncp O\r\n                                WHERE O.lngId = A.lngIdTipoOrigen\r\n                                AND A.strNumDocOrigen = '" . $reg['strNoConfServ'] . "' AND A.lngIdTipoOrigen = 2\r\n                               ";
                 $stmt2 = $db->ejecutar($strSQL);
                 if ($stmt2) {
                     $row2 = mysql_fetch_array($stmt2);
                     $reg['NumACP'] = $row2['strAccionCorrPrev'];
                 } else {
                     $reg['NumACP'] = 'NO';
                 }
                 $resultado[] = $reg;
             }
             $db->desconectar();
             //var_dump($resultado);die;
             //para posteriores calculos
             $Num_NC_Abiertas = count($resultado);
             $respuesta = '<p>Datos de las No Conformidades</p><br/>';
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = $respuesta . "No Conformidades Abiertas<br/>";
                 $respuesta = $respuesta . "<table>";
                 $respuesta = $respuesta . "<tr>";
                 $respuesta = $respuesta . "<th>Número</th>";
                 $respuesta = $respuesta . "<th>Fecha Alta</th>";
                 $respuesta = $respuesta . "<th>Req. Incumplido</th>";
                 $respuesta = $respuesta . "<th>Area Afectada</th>";
                 $respuesta = $respuesta . "<th>Tipificación</th>";
                 $respuesta = $respuesta . "<th>Acción C/P</th>";
                 $respuesta = $respuesta . "</tr>";
                 for ($i = 0; $i < count($resultado); $i++) {
                     $respuesta = $respuesta . "<tr>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['strNoConfServ'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['datFechaAlta'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['ReqIncumplido'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Departamento'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['strContrato'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['NumACP'] . "</td>";
                     $respuesta = $respuesta . "</tr>";
                 }
                 $respuesta = $respuesta . "</table><br/><br/>";
             }
             //No Conformidades pendientes de cierre
             $strSQL = "\r\n                            SELECT N.lngId AS Numero, N.strNoConfServ,DATE_FORMAT(N.datFechaAlta,'%d/%m/%Y') AS datFechaAlta, N.strReqIncumplido AS ReqIncumplido, \r\n                            (D.strDescripcion) AS Departamento, N.lngAccion ,N.strContrato\r\n                            FROM tbnoconfserv N,tbdepartamentos D\r\n                            WHERE N.lngIdDepartamento = D.lngId AND N.lngStatus=1\r\n                            AND NOT ISNULL(N.datFechaAceptadoResponsable) AND N.lngCerrado = 0\r\n                            ORDER BY N.datFechaAlta\r\n                           ";
             //echo $strSQL;die;
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             if (!$stmt) {
                 return false;
             }
             $resultado = '';
             while ($row = mysql_fetch_array($stmt)) {
                 $reg = '';
                 foreach ($row as $propiedad => $valor) {
                     if (!is_numeric($propiedad)) {
                         $reg[$propiedad] = $valor;
                     }
                 }
                 //ahora buscamos si tiene una accion correctiva asociada
                 $strSQL = "\r\n                                SELECT A.lngId, A.strAccionCorrPrev\r\n                                FROM tbaccioncorrprev A, tborigenaccioncp O\r\n                                WHERE O.lngId = A.lngIdTipoOrigen\r\n                                AND A.strNumDocOrigen = '" . $reg['strNoConfServ'] . "' AND A.lngIdTipoOrigen = 2\r\n                               ";
                 $stmt2 = $db->ejecutar($strSQL);
                 if ($stmt2) {
                     $row2 = mysql_fetch_array($stmt2);
                     $reg['NumACP'] = $row2['strAccionCorrPrev'];
                 } else {
                     $reg['NumACP'] = 'NO';
                 }
                 $resultado[] = $reg;
             }
             $db->desconectar();
             //para posteriores calculos
             $Num_NC_Pend_Cerrar = count($resultado);
             //var_dump($resultado);die;
             if (!empty($resultado)) {
                 //es un array con el listado, preparo una tabla en html
                 $respuesta = $respuesta . "No Conformidades Pendientes de Cerrar<br/>";
                 $respuesta = $respuesta . "<table>";
                 $respuesta = $respuesta . "<tr>";
                 $respuesta = $respuesta . "<th>Número</th>";
                 $respuesta = $respuesta . "<th>Fecha Alta</th>";
                 $respuesta = $respuesta . "<th>Req. Incumplido</th>";
                 $respuesta = $respuesta . "<th>Area Afectada</th>";
                 $respuesta = $respuesta . "<th>Tipificación</th>";
                 $respuesta = $respuesta . "<th>Acción C/P</th>";
                 $respuesta = $respuesta . "</tr>";
                 for ($i = 0; $i < count($resultado); $i++) {
                     $respuesta = $respuesta . "<tr>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['strNoConfServ'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['datFechaAlta'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['ReqIncumplido'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['Departamento'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['strContrato'] . "</td>";
                     $respuesta = $respuesta . "<td>" . $resultado[$i]['NumACP'] . "</td>";
                     $respuesta = $respuesta . "</tr>";
                 }
                 $respuesta = $respuesta . "</table><br/><br/>";
             }
             //Nº NCs abiertas , pendientes de cerrar y % sobre total
             //calculo numero NCs totales
             $strSQL = "\r\n                            SELECT COUNT(*) AS Numero\r\n                            FROM tbnoconfserv N\r\n                            WHERE N.lngStatus = 1\r\n                           ";
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             if (!$stmt) {
                 return false;
             }
             $row = mysql_fetch_array($stmt);
             $NumeroNCs = $row['Numero'];
             //tiempo medio de cierre (nº de días desde apertura a cierre de cada NC / nº de NCs cerradas)
             //restar los campos datFechaConformeCalidad - datFechaAlta (dias)
             // campo lngCerrado=0 (abierto), lngCerrado=1 (cerrado)
             $strSQL = "\r\n                            SELECT N.lngId,N.datFechaConformeCalidad, N.datFechaAlta\r\n                            FROM tbnoconfserv N\r\n                            WHERE N.lngCerrado = 1\r\n                           ";
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             if (!$stmt) {
                 return false;
             }
             $resultado = '';
             while ($row = mysql_fetch_array($stmt)) {
                 $reg = '';
                 foreach ($row as $propiedad => $valor) {
                     if (!is_numeric($propiedad)) {
                         $reg[$propiedad] = $valor;
                     }
                 }
                 $resultado[] = $reg;
             }
             $mediaDias = 0;
             $sumaDias = 0;
             if (!empty($resultado)) {
                 for ($i = 0; $i < count($resultado); $i++) {
                     $cerrado = date_create($resultado[$i]['datFechaConformeCalidad']);
                     $abierto = date_create($resultado[$i]['datFechaAlta']);
                     $interval = date_diff($abierto, $cerrado);
                     $dif = $interval->format('%a');
                     $sumaDias = $sumaDias + $dif;
                 }
                 $mediaDias = round($sumaDias / count($resultado), 2);
             }
             //porcentaje de NCs tienen una AC.
             $strSQL = "\r\n                            SELECT COUNT(A.lngId) AS Cantidad\r\n                            FROM tbaccioncorrprev A\r\n                            WHERE A.lngIdTipoOrigen = 2\r\n                            AND A.lngStatus = 1\r\n                           ";
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             if (!$stmt) {
                 return false;
             }
             $row = mysql_fetch_array($stmt);
             $NumeroNCs_con_AC = $row['Cantidad'];
             //presento estos datos
             $respuesta = $respuesta . "<table>";
             $respuesta = $respuesta . "<tr><td>No Conformidades Abiertas</td><td>" . $Num_NC_Abiertas . "</td><td>" . round($Num_NC_Abiertas / $NumeroNCs * 100, 2) . " %</td></tr>";
             $respuesta = $respuesta . "<tr><td>No Conformidades Pendientes de Cerrar</td><td>" . $Num_NC_Pend_Cerrar . "</td><td>" . round($Num_NC_Pend_Cerrar / $NumeroNCs * 100, 2) . " %</td></tr>";
             $respuesta = $respuesta . "<tr><td>TOTAL No Conformidades</td><td>" . $NumeroNCs . "</td><td></td></tr>";
             $respuesta = $respuesta . "</table><br/>";
             $respuesta = $respuesta . "<table>";
             $respuesta = $respuesta . "<tr><td>Tiempo medio de Cierre</td><td>" . $mediaDias . " dias</td></tr>";
             $respuesta = $respuesta . "</table><br/>";
             $respuesta = $respuesta . "<table>";
             $respuesta = $respuesta . "<tr><td>No Conformidades tienen Acción C/P</td><td>" . $NumeroNCs_con_AC . "</td><td>" . $NumeroNCs . "</td><td>" . round($NumeroNCs_con_AC / $NumeroNCs * 100, 2) . " %</td></tr>";
             $respuesta = $respuesta . "</table><br/><br/>";
             break;
             //PUNTO 13
             //Quejas, sugerencias y reclamaciones
             //Quejas : lngTipologia=3 o 13 en tborigenaccioncp
             //Sugerencia : lngTipologia=2 o 12 en tborigenaccioncp
             //Felicitacion : lngTipologia=1 o 11 en tborigenaccioncp
         //PUNTO 13
         //Quejas, sugerencias y reclamaciones
         //Quejas : lngTipologia=3 o 13 en tborigenaccioncp
         //Sugerencia : lngTipologia=2 o 12 en tborigenaccioncp
         //Felicitacion : lngTipologia=1 o 11 en tborigenaccioncp
         case '13':
             //extraigo las fechas de la revision por el $Id
             $strSQL = "\r\n                            SELECT DATE_FORMAT(R.datFechaDesde,'%d/%m/%Y') AS Desde, DATE_FORMAT(R.datFechaHasta,'%d/%m/%Y') AS Hasta\r\n                            FROM tbrevisiones R\r\n                            WHERE R.lngId = {$Id}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $stmt = $db->ejecutar($strSQL);
             if ($stmt) {
                 $fecha = mysql_fetch_array($stmt);
             } else {
                 return false;
             }
             //Quejas
             //======
             //Quejas abiertas
             $strSQL = "\r\n                            SELECT R.lngId as Id, R.strReclamacion,DATE_FORMAT(R.datFechaAlta,'%d/%m/%Y') AS datFechaAlta,R.strEmpresa,R.strServAfect AS strNombreServicio, R.strDescripcion AS Causa,\r\n                            R.strTelefono2 AS Tipificacion, R.lngTipologia \r\n                            FROM tbreclamaciones R \r\n                            WHERE R.lngCerrado = 0 AND R.lngStatus = 1\r\n                            AND R.datFechaAlta BETWEEN '" . fecha_to_DATETIME($fecha['Desde']) . "' AND '" . fecha_to_DATETIME_F($fecha['Hasta']) . "'\r\n                           ";
             //echo $strSQL;die;
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             if (!$stmt) {
                 return false;
             }
             $resultado = '';
             while ($row = mysql_fetch_array($stmt)) {
                 $reg = '';
                 foreach ($row as $propiedad => $valor) {
                     if (!is_numeric($propiedad)) {
                         $reg[$propiedad] = $valor;
                     }
                 }
                 $resultado[] = $reg;
             }
             $db->desconectar();
             var_dump($resultado);
             die;
             break;
         default:
             //no es ninguno de los puntos, dev false
             return false;
     }
     //var_dump($respuesta);
     //ahora compruebo si existe este punto de esta revision
     //si es asi, actualizo los datos, sino lo inserto
     $strSQL = "\r\n                    SELECT D.Id\r\n                    FROM tbrevpuntosdatos D\r\n                    WHERE D.IdRevision = {$Id}\r\n                    AND D.IdPunto = {$IdPunto}\r\n                   ";
     logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
     $db->conectar($this->getStrBD());
     $stmt = $db->ejecutar($strSQL);
     $db->desconectar();
     if ($stmt) {
         $num = mysql_num_rows($stmt);
         if ($num > 0) {
             //actualizo los datos
             $strSQL = "\r\n                            UPDATE tbrevpuntosdatos D\r\n                            SET D.datosconsulta = '" . $respuesta . "'\r\n                            WHERE D.IdRevision = {$Id}\r\n                            AND D.IdPunto = {$IdPunto}\r\n                           ";
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             if ($stmt) {
                 return true;
             } else {
                 return false;
             }
         } else {
             //inserto un dato nuevo en la tabla "tbrevpuntosdatos"
             $strSQL = "\r\n                            INSERT INTO tbrevpuntosdatos (IdRevision, IdPunto, datosconsulta) VALUES\r\n                            ({$Id},{$IdPunto},'" . $respuesta . "')\r\n                           ";
             //echo $strSQL;die;
             logger('traza', 'clsCADSist.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADSist->generarDatosSQL()|| SQL : " . $strSQL);
             $db->conectar($this->getStrBD());
             $stmt = $db->ejecutar($strSQL);
             $db->desconectar();
             if ($stmt) {
                 return true;
             } else {
                 return false;
             }
         }
     } else {
         return false;
     }
 }