action_asistencias.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. $ruta = "../";
  3. require_once "../class/c_login.php";
  4. // check if the session is started
  5. if (!isset($_SESSION['user']))
  6. die(json_encode(['error' => 'No se ha iniciado sesión']));
  7. $user = unserialize($_SESSION['user']);
  8. extract($_POST);
  9. $initial_date = DateTime::createFromFormat('d/m/Y', $fecha_inicial);
  10. $final_date = DateTime::createFromFormat('d/m/Y', $fecha_final);
  11. if ($initial_date > $final_date) {
  12. echo json_encode(['error' => 'La fecha inicial no puede ser mayor a la fecha final']);
  13. die;
  14. }
  15. // Nombre del profesor es opcional
  16. $params = [
  17. ':carrera' => empty($carrera) ? null : $carrera,
  18. ':periodo' => $periodo,
  19. ':nombre' => empty($nombre) ? null : $nombre,
  20. ':clave' => empty($clave) ? null : $clave,
  21. ':initial_date' => $initial_date->format('Y-m-d'),
  22. ':final_date' => $final_date->format('Y-m-d'),
  23. ':facultad' => $facultad,
  24. ];
  25. $response = json_encode(
  26. [
  27. "retardo" => query("SELECT FS_HAS_RETARDO(:facultad) retardo", [
  28. 'facultad' => $facultad
  29. ]),
  30. "reporte" => queryAll(
  31. "SELECT * FROM fs_asistencia_reporte(:carrera, :periodo, :clave, :nombre, :facultad, :initial_date, :final_date) where total > 0",
  32. $params
  33. )
  34. ]
  35. );
  36. $user->print_to_log("Genera reporte de asistencias", old: $params);
  37. echo $response;