123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <?php
- require_once("../include/constantes.php");
- require_once("../include/bd_pdo.php");
- require_once("../include/util.php");
- //require_once("./classes/LogActividad.php");//die on error
- try {
- $pdo->beginTransaction();
- $stmt = $pdo->prepare("SELECT alumno_extraccion_id from alumno_extraccion_fecha where not actualizado");
- if(!$stmt->execute()){
- echo "Error al consultar las fechas de extracción de alumnos";
- exit();
- }
- $fechas_rs = $stmt->fetch();
- if(empty($fechas_rs) || $fechas_rs["alumno_extraccion_id"] == ""){
- echo "No hay fechas de extracción de alumnos para actualizar";
- exit();
- }
- $stmt = $pdo->prepare('SELECT ca."Carrera_clave", pe."PlanEstudio_clave", ca."Carrera_id", pe."PlanEstudio_id" from "Carrera" ca INNER JOIN "PlanEstudio" pe ON ca."Carrera_id" = pe."Carrera_id"');
- if(!$stmt->execute()){
- echo "Error al consultar planes de estudio";
- exit();
- }
- $planes_rs = $stmt->fetchAll();
- //función que recibe $planes_rs y $clave_carrera y $clave_plan y regresa el id de plan de estudio
- function getPlanId($planes_rs, $clave_carrera, $clave_plan){
- foreach($planes_rs as $plan){
- if($plan["Carrera_clave"] == $clave_carrera && $plan["PlanEstudio_clave"] == $clave_plan){
- return $plan["PlanEstudio_id"];
- }
- }
- return null;
- }
- $stmt = $pdo->prepare("SELECT * from alumno_detalles ");
- if(!$stmt->execute()){
- echo "Error al consultar los datos de alumnos";
- exit();
- }
- $total = 0;
- $alumnos_rs = $stmt->fetchAll();
- foreach($alumnos_rs as $alumno){
- if($alumno["estatus"] == 'R'){
- /*
- //Validar plan de estudio de alumno
- if($alumno["clave_carrera"] == "" || $alumno["clave_carrera"] == null){
- echo "Error al obtener plan de alumno ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- $stmt = $pdo->prepare('SELECT "Carrera_clave" FROM "Carrera" WHERE "Carrera_clave" = :carrera');
- $stmt->bindParam(":carrera", $alumno["clave_carrera"]);
- if(!$stmt->execute()){
- echo "Error al consultar los datos de alumnos";
- continue;
- }
- $carr_rs = $stmt->fetch();
- if($carr_rs["Carrera_clave"] == "" || $carr_rs["Carrera_clave"] == null){
- echo "Error al obtener plan de alumno ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }*/
-
- $stmt = $pdo->prepare("SELECT * from fi_alumno(:nombre, :apellidos, :curp, :clave)");
- $stmt->bindParam(":nombre", $alumno["nombre"]);
- $apellidos = $alumno["apellido_paterno"]." ".$alumno["apellido_materno"];
- $stmt->bindParam(":apellidos", $apellidos);
- $stmt->bindParam(":curp", $alumno["curp"]);
- $stmt->bindParam(":clave", $alumno["clave"]);
- if(!$stmt->execute()){
- echo "Error al insertar datos de alumno ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- $rs = $stmt->fetch();
- $id_alumno = $rs["Usuario_id"];
- $existe = $rs["Usuario_existe"];
- //Obtener Id de plan de alumno
- $planInt = intval($alumno["plan"]);
- $alumno_plan = getPlanId($planes_rs,$alumno["clave_carrera"], $planInt);
- if($alumno_plan == null){
- echo "Error al obtener plan de alumno ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- if($existe){
- //Actualiza el plan de estudio del alumno
- $stmt = $pdo->prepare("SELECT * FROM fu_alumno_cambiocarrera(:claveulsa)");
- $stmt->bindParam(":claveulsa", $alumno["clave"]);
- if(!$stmt->execute()){
- echo "Error al insertar cambio de carrera ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- }
- //Inserta el plan de estudio del alumno
- $stmt = $pdo->prepare("SELECT * FROM fi_alumno_planestudio(:id, :plan, :claveulsa, CURRENT_DATE, NULL, NULL, CURRENT_DATE)");
- $stmt->bindParam(":id", $id_alumno);
- $stmt->bindParam(":plan", $alumno_plan);//Calculado
- $stmt->bindParam(":claveulsa", $alumno["clave"]);
- if(!$stmt->execute()){
- echo "Error al insertar plan de alumno ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- //Actualiza adicionales de alumno
- $stmt = $pdo->prepare("SELECT * FROM fu_alumno_extras(:id, :clave, :servicio, :semestre, :sexo, :grupo)");
- $stmt->bindParam(":id", $id_alumno);
- $stmt->bindParam(":clave", $alumno["clave"]);
- $stmt->bindParam(":servicio", $alumno["servicio"]);
- $stmt->bindParam(":semestre", $alumno["semestre"]);
- $stmt->bindParam(":sexo", $alumno["sexo"]);
- $stmt->bindParam(":grupo", $alumno["grupo"]);
- if(!$stmt->execute()){
- echo "Error al actualizar datos adicionales de alumno ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- //---- Inserta historial de materias de alumno -----
- $stmt = $pdo->prepare('SELECT * from extract_fi_alumnomaterias_calif(:clave)');
- $stmt->bindParam(":clave", $alumno["clave"]);
- if(!$stmt->execute()){
- echo "Error al guardar calificaciones de alumno ".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- //Actualiza alumno_extraccion para indicar que ya se procesó
- $stmt = $pdo->prepare('UPDATE alumno_extraccion set registrado = true where "Usuario_claveULSA" = :clave');
- $stmt->bindParam(":clave", $alumno["clave"]);
- if(!$stmt->execute()){
- echo "Error al actualizar el registro de extracción de alumno [".$alumno["clave"]."]".$alumno["nombre"]." ".$alumno["apellido_paterno"]." ".$alumno["apellido_materno"]."<br>";
- continue;
- }
- $total++;
- }
- }
- //Actualiza alumno_extraccion_fecha para indicar que ya se procesó
- $stmt = $pdo->prepare('UPDATE alumno_extraccion_fecha set actualizado = true where alumno_extraccion_id = :id');
- $stmt->bindParam(":id", $fechas_rs["alumno_extraccion_id"]);
- if(!$stmt->execute()){
- echo "Error al actualizar el registro de extracción de alumnos";
- }
- $pdo->commit();
- echo $total." datos de alumnos actualizados correctamente";
- } catch (Exception $e) {
- echo $e->getMessage();
- echo "Error al actualizar los datos de los alumnos";
- exit();
- }
- ?>
|