Files
whatsapp/api/lab/autorizar_orden.php
T
2026-03-10 18:42:51 -05:00

47 lines
1.3 KiB
PHP

<?php
/**
* POST /api/lab/autorizar_orden.php
* Cambia el estado de una orden médica (flujo de revisión).
* Body JSON:
* { id, accion: 'en_revision'|'autorizada'|'rechazada'|'completada', comentario? }
*/
require_once __DIR__ . '/_helpers.php';
requireMethod('POST');
try {
$datos = inputJson();
$om = new OrdenMedica();
$admin = adminId();
if (empty($datos['id'])) {
jsonError('El campo id es obligatorio');
}
if (empty($datos['accion'])) {
jsonError('El campo accion es obligatorio');
}
$id = (int)$datos['id'];
$accion = $datos['accion'];
$comentario = $datos['comentario'] ?? '';
if ($accion === 'rechazada' && empty($comentario)) {
jsonError('El motivo de rechazo es obligatorio');
}
$om->cambiarEstado($id, $accion, $admin, $comentario);
$mensajes = [
'en_revision' => 'Orden marcada en revisión',
'autorizada' => 'Orden autorizada correctamente',
'rechazada' => 'Orden rechazada',
'en_domicilio'=> 'Orden marcada como en domicilio',
'completada' => 'Orden completada',
];
jsonOk(['id' => $id], $mensajes[$accion] ?? 'Estado actualizado');
} catch (InvalidArgumentException $e) {
jsonError($e->getMessage());
} catch (Exception $e) {
jsonError($e->getMessage(), 500);
}