tieneAcceso()){ $return["error"] = "Error! No tienes permisos para realizar esta acción."; }else if(!isset($_POST["plan"], $_POST["sem"])){ $return["error"] = "Error! No se recibió la información para el reporte."; }else{ $plan = filter_input(INPUT_POST, "plan", FILTER_SANITIZE_NUMBER_INT);//limpia texto $sem = filter_input(INPUT_POST, "sem", FILTER_SANITIZE_NUMBER_INT);//limpia texto $error = false; $labelsArr =array(); //materias por asignar $stmt = $pdo->prepare('Select * from fs_materiagrupo(:plan, :sem, NULL) WHERE "Area_hasAlerta" = true'); $stmt->bindParam(":plan", $plan); $stmt->bindParam(":sem", $sem); if(!$stmt->execute()){ $return["error"] = "Ocurrió un error al leer las materias del semestre."; $error = true; }else{ $mat_rs = $stmt->fetchAll(); foreach($mat_rs as $mat){ $labelsArr[$mat["Materia_id"]] = $mat["Materia_desc"]; } $labelsArr = removeKey($labelsArr); } if(!$error){ //reporte por grupos $stmt = $pdo->prepare('Select * from fs_reprobadas_grupo(:periodo, :plan, :sem)');//sólo no revalidadas $stmt->bindParam(":periodo", $_SESSION["periodo_id"]); $stmt->bindParam(":plan", $plan); $stmt->bindParam(":sem", $sem); if(!$stmt->execute()){ $return["error"] = "Ocurrió un error al cargar las materias reprobadas por grupo"; $error = true; //print_r($stmt->errorInfo()); }else{ $return["query"] = 'Select * from fs_reprobadas_grupo('.$_SESSION["periodo_id"].', '.$plan.', '.$sem.')'; $rs = $stmt->fetchAll(); $return["query_total"] = count($rs); $gpoArr = array(); $grupo_last = -1; $califArr = array(); $g = 0; foreach($rs as $grupo){ if($grupo_last != $grupo["Grupo_id"]){ if($grupo_last != -1){ $gpoArr[$g]["califArr"]=removeKey($califArr); $g++; } $grupo_last = $grupo["Grupo_id"]; $califArr = array(); foreach($mat_rs as $mat){ $califArr[$mat["Materia_id"]] = array("total"=>0, "reprobados"=>0, "materia"=>$mat["Materia_desc"]); } } $gpoArr[$g] = array("id" => $grupo["Grupo_id"], "desc" =>$grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"], "califArr"=>array()); $califArr[$grupo["Materia_id"]] = array("total"=>$grupo["Calificacion_total"], "reprobadas"=>$grupo["Calificacion_reprobadas"], "data"=>($grupo["Calificacion_total"]==0)?0:round($grupo["Calificacion_reprobadas"]*100/$grupo["Calificacion_total"]), "materia"=>$grupo["Materia_desc"]); } if($grupo_last != -1){ $gpoArr[$g]["califArr"]=removeKey($califArr); } unset($g); } $stmt->closeCursor(); $return["grupoArr"] = $gpoArr; $return["labelArr"] = $labelsArr; } } $return["json"] = json_encode($return); echo json_encode($return); ?>