tieneAcceso()){
$objSesion->terminaSesion();
}
$objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main
?>
printMenu();
if($_SESSION["periodo_id"] != ""){
//Plan de estudios
$stmt = $pdo->prepare('Select * from fs_planestudio_alumnos(:nivel, NULL, true)');
$stmt->bindParam(":nivel", $_SESSION["nivel_id"]);
if(!$stmt->execute()){
$errorDesc = "Ocurrió un error al cargar los planes de estudio";
}else{
$plan_rs = $stmt->fetchAll();
}
$stmt->closeCursor();
$filter_periodo = $_SESSION["periodo_id"];
$nivel = $plan_rs[0]["Nivel_desc"];
$prefijo = "";
$query = "";
if(isset($_POST["plan"]) && $_POST["plan"] != 0 && $_POST["plan"] != ""){
$filter_plan = filter_input(INPUT_POST, "plan", FILTER_SANITIZE_NUMBER_INT);//limpia texto
foreach($plan_rs as $plan){
if($plan["PlanEstudio_id"] == $filter_plan)
$prefijo = "_".$plan["Carrera_prefijo"];
break;
}
$query .= ":plan,";
}else
$query .= "NULL,";
if(isset($_POST["generacion"]) && $_POST["generacion"] != 0 && $_POST["generacion"] != ""){
$filter_generacion = fechaGuion(trim(filter_input(INPUT_POST, "generacion", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto
$query .= ":generacion,";
}else
$query .= "NULL,";
$filter_intentos = 2;
if(isset($_POST["intentos"]))
$filter_intentos = filter_input(INPUT_POST, "intentos", FILTER_SANITIZE_NUMBER_INT);//limpia texto
// ---- Busca intentos por materia -----
$stmt = $pdo->prepare('Select * from fs_materiasintentos('.$query.' :intentos)');//sólo no revalidadas
$stmt->bindParam(":intentos", $filter_intentos);
if(isset($filter_plan)) $stmt->bindParam(":plan", $filter_plan);
if(isset($filter_generacion)) $stmt->bindParam(":generacion", $filter_generacion);
if(!$stmt->execute()){
$errorDesc = "Ocurrió un error al cargar el total de materias reprobadas.";
print_r($stmt->errorInfo());
}else{
$intentos_rs = $stmt->fetchAll();
$intentosArr = array();
$last = -1;
$matriasArr = array();
$i = 0;
$total = 0;
foreach($intentos_rs as $intento){
if($last != $intento["Usuario_claveULSA"]){
if($last != -1){
$intentosArr[$i]["materiaArr"]=$materiasArr;
$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"], "carrera"=>$intento["Carrera_desc"]." ".$intento["PlanEstudio_desc"],
"fecha"=>$intento["Alumno_fecha_ingreso"], "generacion"=>$intento["Alumno_generacion"], "total"=>0, "materiaArr"=>array());
$materiasArr[] = array("id" => $intento["Materia_id"], "desc" =>$intento["Materia_desc"], "total"=>$intento["Intentos_total"]);
$total+= $intento["Intentos_total"];
}
if($last != -1){
$intentosArr[$i]["materiaArr"]=$materiasArr;
$intentosArr[$i]["total"] = $total;
}
unset($i);
$filter_orden = 0;
if(isset($_POST["orden"]) && $_POST["orden"] != 0){
$filter_orden = filter_input(INPUT_POST, "orden", FILTER_SANITIZE_NUMBER_INT);//limpia texto
usort($intentosArr, function ($item1, $item2) {
return $item2['total'] <=> $item1['total'];
});
}
}
$stmt->closeCursor();
// ---- Busca intentos totales reprobados -----
$stmt = $pdo->prepare('Select * from fs_materiasreprobadas('.$query.' :intentos)');//sólo no revalidadas
$stmt->bindParam(":intentos", $filter_intentos);
if(isset($filter_plan)) $stmt->bindParam(":plan", $filter_plan);
if(isset($filter_generacion)) $stmt->bindParam(":generacion", $filter_generacion);
if(!$stmt->execute()){
$errorDesc = "Ocurrió un error al cargar el total de materias reprobadas.";
print_r($stmt->errorInfo());
}else{
$intentos_rs = $stmt->fetchAll();
$intentosTotalArr = array();
$last = -1;
$matriasArr = array();
$i = 0;
$total = 0;
foreach($intentos_rs as $intento){
if($last != $intento["Usuario_claveULSA"]){
if($last != -1){
$intentosTotalArr[$i]["materiaArr"]=$materiasArr;
$i++;
}
$last = $intento["Usuario_claveULSA"];
$materiasArr = array();
}
$intentosTotalArr[$i] = array("id" => $intento["Usuario_id"], "clave" => $intento["Usuario_claveULSA"], "nombre" =>$intento["Usuario_apellidos"]." ".$intento["Usuario_nombre"], "carrera"=>$intento["Carrera_desc"]." ".$intento["PlanEstudio_desc"],
"fecha"=>$intento["Alumno_fecha_ingreso"], "generacion"=>$intento["Alumno_generacion"], "total"=>$intento["Intentos_total"], "materiaArr"=>array());
$materiasArr[] = array("id" => $intento["Materia_id"], "desc" =>$intento["Materia_desc"]);
}
if($last != -1){
$intentosTotalArr[$i]["materiaArr"]=$materiasArr;
}
unset($i);
$filter_orden = 0;
if(isset($_POST["orden"]) && $_POST["orden"] != 0){
$filter_orden = filter_input(INPUT_POST, "orden", FILTER_SANITIZE_NUMBER_INT);//limpia texto
usort($intentosTotalArr, function ($item1, $item2) {
return $item2['total'] <=> $item1['total'];
});
}
}
$stmt->closeCursor();
}//hay periodo seleccionado
//--Manejo de errores y mensajes de exito
if(isset($_GET["error"]) && is_numeric($_GET["error"])){
switch ($_GET["error"]){
case 0: $errorDesc = "No se reciberon los datos del alumno."; break;
//case 1: $errorDesc = "No existe el alumno que buscas. Selecciona una del listado."; break;
//case 2: $errorDesc = "Ocurrió un error al leer los datos del alumno."; break;
//case 3: $errorDesc = "No tienes permisos para realizar esa acción."; break;
case 4: $errorDesc = "Ocurrió un error al actualizar el estado del alumno."; break;
}
}
if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){
switch ($_GET["ok"]){
case 2: $successDesc = "El estado del alumno se actualizó correctamente."; break;
}
}
?>
0){ ?>
Clave |
Nombre |
Generación |
Materias no acreditadas |
puedeEditar()){ ?>
Acciones |
">
|
|
|
|
" title="Ver cardex">
puedeEditar()){ ?>
|
puedeEditar()){ ?>