40 lines
1.5 KiB
PHP
40 lines
1.5 KiB
PHP
<?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";
|