12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- $ruta = "../";
- require_once "../include/bd_pdo.php";
- // die(print_r($_POST, true));
- extract($_POST);
- // if hora fin is null, then subtract half an hour from hora inicio and set hora fin to hora inicio + half an hour
- $hora_fin = empty($hora_fin) ? $hora_inicio : $hora_fin;
- $hora_inicio = date('H:i:s', strtotime($hora_inicio < '07:00' ? '07:00' : $hora_inicio) - 1800);
- $hora_fin = date('H:i:s', strtotime($hora_fin > '22:00' ? '22:00' : $hora_fin) + 1800);
- die(json_encode(
- array_map(fn ($row) => array_merge(
- $db->where('id', $row['profesor_id'])->getOne('fs_profesor'),
- $db->where('id', $row['materia_id'])->getOne('fs_materia'),
- $row
- ),
- queryAll(
- "SELECT REPORTE.*
- FROM fs_asistencia_profesorreporte(null, :periodo, null, :fecha, :fecha) AS REPORTE
- JOIN PROFESOR P ON P.PROFESOR_ID = REPORTE.PROFESOR_ID
- WHERE HORA_CHECADO IS NULL
- AND HORA BETWEEN :inicio AND :fin
- AND P.PROFESOR_CLAVE ILIKE COALESCE(:clave, P.PROFESOR_CLAVE) and UNACCENT(P.PROFESOR_NOMBRE) ILIKE UNACCENT(COALESCE(:nombre, P.PROFESOR_NOMBRE))
- AND FECHA = :fecha
- ORDER BY HORA, MATERIA",
- [
- 'periodo' => $periodo,
- 'fecha' => $fecha,
- 'inicio' => $hora_inicio,
- 'fin' => $hora_fin,
- 'clave' => empty($clave) ? null : "%$clave%",
- 'nombre' => empty($nombre) ? null : "%$nombre%"
- ]
- ))));
- #ECHO "$hora_inicio - $hora_fin";
|