action_asistencias.php 1.2 KB

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