up
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* POST /modules/turnero/api/rellamar.php
|
||||
* Re-llama un turno que ya está en_recepcion: actualiza llamado_recepcion_at = NOW()
|
||||
* para que la pantalla TV detecte el cambio y vuelva a anunciar/animar.
|
||||
*
|
||||
* Body JSON:
|
||||
* turno_id int requerido
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/_helpers.php';
|
||||
requireMethod('POST');
|
||||
requireTurnero();
|
||||
|
||||
$datos = inputJson();
|
||||
$turnoId = (int)($datos['turno_id'] ?? 0);
|
||||
$deskId = isset($datos['desk_id']) ? (int)$datos['desk_id'] : null;
|
||||
|
||||
if (!$turnoId) jsonError('turno_id es obligatorio.', 400);
|
||||
|
||||
$pdo = db();
|
||||
$stmt = $pdo->prepare(
|
||||
"UPDATE turnero_turnos
|
||||
SET llamado_recepcion_at = NOW(),
|
||||
recepcion_desk_id = COALESCE(?, recepcion_desk_id)
|
||||
WHERE id = ? AND estado = 'en_recepcion'"
|
||||
);
|
||||
$stmt->execute([$deskId, $turnoId]);
|
||||
|
||||
if ($stmt->rowCount() === 0) {
|
||||
jsonError('El turno no está en estado en_recepcion o no existe.', 404);
|
||||
}
|
||||
|
||||
// Devolver el turno actualizado para que recepcion.php abra la ficha
|
||||
$stmtT = $pdo->prepare(
|
||||
"SELECT t.*,
|
||||
p.codigo AS prioridad_codigo,
|
||||
p.nombre AS prioridad_nombre,
|
||||
p.color AS prioridad_color
|
||||
FROM turnero_turnos t
|
||||
JOIN turnero_prioridades p ON p.id = t.prioridad_id
|
||||
WHERE t.id = ?"
|
||||
);
|
||||
$stmtT->execute([$turnoId]);
|
||||
$turno = $stmtT->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
jsonOk(['turno' => $turno]);
|
||||
Reference in New Issue
Block a user