123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- <?php
- require_once("../include/constantes.php");
- require_once("../include/bd_pdo.php");
- require_once("../include/util.php");
- require_once("../classes/ValidaSesion.php");
- require_once("../classes/MainMenu.php");
- $menu = null;
- //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- $objSesion = new ValidaSesion($pdo, NULL, GEMA);
- /*if(!$objSesion->tieneAcceso()){
- $objSesion->terminaSesion();
- }*/
-
- $stmt = $pdo->prepare('Select * from fs_sistema('.GEMA.')');
- if(!$stmt->execute()){
- $errorDesc .= "Ocurrió un error al cargar los datos del sistema";
- }else
- $sistema_rs = $stmt->fetch();
- $stmt->closeCursor();
-
- function inIntentos($id, $arr){
- foreach($arr as $data){
- if($id == $data["id"])
- return true;
- }
- return false;
- }
- ?>
- <!DOCTYPE html>
- <html lang="es" prefix="og: http://ogp.me/ns#">
- <head>
- <title>GEMA - Facultad de Ingeniería</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <link rel="icon" type="image/png" href="../img/favicon.png" />
- <link rel="stylesheet" href="../css/bootstrap-ulsa.min.css" type="text/css">
- <link rel="stylesheet" href="../css/indivisa.css" type="text/css">
- <link rel="stylesheet" href="../css/sgi.css?rand=<?php echo rand();?>" type="text/css">
- <link rel="stylesheet" href="../css/fa_all.css" type="text/css">
- <link rel="stylesheet" href="../css/postit.css" type="text/css">
-
-
- </head>
- <body>
- <div >
- <?php
- //--- Objeto que pinta menu y header
- $menuObj = new MainMenu($_SESSION["usuario_id"], $menu, $pdo, GEMA, $_SESSION["usuario_apellidos"]." ".$_SESSION["usuario_nombre"]);//usr, menu, pdo, sist
- $menuObj->printMenu();
-
- $stmt = $pdo->prepare('Select * from fs_periodousuario(:usr)');
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar los datos de los periodos.";
- }else
- $periodo_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
-
- $errorDesc = "";
- if(isset($_SESSION["periodo_id"]) && $_SESSION["periodo_id"] != ""){
- $stmt = $pdo->prepare('Select * from fs_alerta_alumnosinmaterias(:per, NULL, 0, '.MAX_ROWS.')');
- $stmt->bindParam(":per", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $errorDesc .= "Ocurrió un error al cargar los datos alumnos sin materias.<br>";
- print_r($stmt->errorInfo());
- }else
- $sinMaterias_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- $stmt = $pdo->prepare('Select COUNT("Usuario_claveULSA") as total from fs_alerta_alumnosinmaterias(:per, NULL, 0, NULL)');
- $stmt->bindParam(":per", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $errorDesc .= "Ocurrió un error al cargar los datos alumnos sin materias.<br>";
- print_r($stmt->errorInfo());
- }else{
- $rs = $stmt->fetch();
- }
- $total_sinMaterias = $rs["total"];
- $stmt->closeCursor();
- $stmt = null;
- unset($rs);
- }
-
- $i = 0;
- $intentosArr = array();
- // ---- Busca intentos por materia -----
- $stmt = $pdo->prepare('Select * from fs_materiasintentos(NULL, NULL, 2)');
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar el total de materias reprobadas.";
- print_r($stmt->errorInfo());
- }else{
- $intentos_rs = $stmt->fetchAll();
- $last = -1;
- $total = 0;
- foreach($intentos_rs as $intento){
- if($last != $intento["Usuario_claveULSA"]){
- if($last != -1){
- $intentosArr[$i]["total"] = $total;
- $i++;
- $total = 0;
- }
- $last = $intento["Usuario_claveULSA"];
- $materiasArr = array();
- }
- $intentosArr[$i] = array("id" => $intento["Usuario_id"], "clave" => $intento["Usuario_claveULSA"], "nombre" =>$intento["Usuario_apellidos"]." ".$intento["Usuario_nombre"], "total"=>0);
- $total+= $intento["Intentos_total"];
- }
- if($last != -1){
- $intentosArr[$i]["total"] = $total;
- }
- unset($i);
- }
- $stmt->closeCursor();
- // ---- Busca intentos totales reprobados -----
- $stmt = $pdo->prepare('Select * from fs_materiasreprobadas(NULL, NULL, 2)');//sólo no revalidadas
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar el total de materias reprobadas.";
- print_r($stmt->errorInfo());
- }else{
- $intentos_rs = $stmt->fetchAll();
- $last = -1;
- $total = 0;
- foreach($intentos_rs as $intento){
- if(!inIntentos($intento["Usuario_id"], $intentosArr)){
- if($last != $intento["Usuario_claveULSA"]){
- if($last != -1){
- $total++;
- }
- $last = $intento["Usuario_claveULSA"];
- }
- $intentosArr[$total] = array("id" => $intento["Usuario_id"], "clave" => $intento["Usuario_claveULSA"], "nombre" =>$intento["Usuario_apellidos"]." ".$intento["Usuario_nombre"], "total"=>$intento["Intentos_total"]);
- }
- }
- }
- /*usort($intentosArr, function ($item1, $item2) {
- return $item2['total'] <=> $item1['total'];
- });*/
- $stmt->closeCursor();
-
-
- //--Manejo de errores y mensajes de exito
- if(isset($_GET["error"]) && is_numeric($_GET["error"])){
- switch ($_GET["error"]){
- case 0: $errorDesc = "No se recibió la información del periodo."; break;
- case 1: $errorDesc = "Ocurrió un error al actualizar el periodo activo."; break;
- case 2: $errorDesc = "El periodo no puede ser seleccionado."; break;
- case 3: $errorDesc = "No tienes permiso de ingresar a esa sección."; break;
-
- }
- }
- if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){
- switch ($_GET["ok"]){
- case 0: $successDesc = "El periodo se actualizó correctamente."; break;
- }
- }
- include_once("../include/errorMessage.php");
- ?>
- <main class="container-fluid content marco">
-
- <?php include("../include/periodoCambio.php");?>
-
- <!-- Alertas -->
- <div class="row mt-4 justify-content-center">
- <form action="materiasalumnos.php" method="post" id="formaSinMaterias">
- <input type="hidden" name="plan" id="plan">
- <input type="hidden" name="clave" id="clave">
- </form>
-
- <!-- ALUMNOS SIN MATERIAS -->
- <?php if(isset($sinMaterias_rs) && count($sinMaterias_rs) > 0){?>
- <div class="col-12 col-md-6">
- <div class="alerta-body bg-info">
- <div class="alerta-title alerta-blue p-3">
- <table border="0">
- <tr>
- <td class="text-center text-white pr-3"><span class="ing-usuario fa-3x"></span></td>
- <td><h5 class="text-white">Alumnos activos sin materias en el periodo</h5></td>
- </tr>
- </table>
- </div>
- <div class="small limit">
- <?php
- $muestra = count($sinMaterias_rs);
- if($muestra > MAX_ROWS){
- $muestra = MAX_ROWS;
- }
-
- echo "<h5 class='mb-3 text-center'>Se muestran ".$muestra." de ".$total_sinMaterias."</h5>";
- $objSesion2 = new ValidaSesion($pdo, 102, GEMA);//--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- foreach($sinMaterias_rs as $alumno){
- if($objSesion2->tieneAcceso()){
- echo "<p class='open-materias pointer' data-pag='alumnosestados.php' data-clave='".$alumno["Usuario_claveULSA"]."' data-plan='".$alumno["PlanEstudio_id"]."'><b>[".$alumno["Usuario_claveULSA"]."]</b> ".$alumno["Usuario_apellidos"]." ".$alumno["Usuario_nombre"]."</p>";
- }else{
- echo "<p><b>[".$alumno["Usuario_claveULSA"]."]</b>".$alumno["Usuario_apellidos"]." ".$alumno["Usuario_nombre"]."</p>";
- }
- }?>
- </div>
- </div>
- </div>
- <?php } ?>
-
- <!-- ALUMOS QUE DEBEN SER BAJA POR REPROBAR-->
- <?php if(isset($intentosArr) && count($intentosArr) > 0){?>
- <div class="col-12 col-md-6">
- <div class="alerta-body bg-info">
- <div class="alerta-title alerta-red p-3">
- <table border="0">
- <tr>
- <td class="text-center text-white pr-3"><span class="ing-cancelar fa-3x"></span></td>
- <td><h5 class="text-white">Sugerencias de baja</h5></td>
- </tr>
- </table>
- </div>
- <div class="small limit">
- <?php
- $objSesion2 = new ValidaSesion($pdo, 126, GEMA);//--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- foreach($intentosArr as $alumno){
- if($objSesion2->tieneAcceso() && $objSesion2->puedeEditar()){
- echo "<p class='open-materias pointer' data-pag='reporte_oportunidades.php' data-clave='".$alumno["clave"]."' data-plan=''><b>[".
- $alumno["clave"]."]</b> ".$alumno["nombre"]."</p>";
- }else{
- echo "<p class='mb-4'><b>[".$alumno["clave"]."]<b> ".$alumno["nombre"]."</p>";
- }
- }
- ?>
- </div>
- </div>
- </div>
- <?php } ?>
- </div>
- </main>
- <!--- FOOTER--->
- <div style="isolation: isolate;">
- <?php require_once("../include/footer.php"); ?>
- </div>
- </div>
- <script src="../js/jquery.min.js"></script>
- <script src="../js/bootstrap/popper.min.js"></script>
- <script src="../js/bootstrap/bootstrap.min.js"></script>
- <script src="../js/sidebarmenu.js"></script>
- <script src="../js/datalist.js"></script>
- <script>
- $(document).ready(function(){
- setDatalist("#periodo", <?php echo $_SESSION["periodo_id"]; ?>);
- $(document).on('click', '#dlPeriodo ul li' ,function(){
- $("#formaPeriodo").submit();
- });
-
- $('.open-materias').click(function(){
- $("#clave").val($(this).data("clave"));
- $("#plan").val($(this).data("plan"));
- $("#formaSinMaterias").prop("action", $(this).data("pag"))
- $("#formaSinMaterias").submit();
- })
- });
- </script>
- </body>
- </html>
|