up
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
* POST /api/lab/save_asignacion.php
|
||||
* Asigna (o reasigna) una enfermera a un domicilio.
|
||||
* Body JSON:
|
||||
* { domicilio_id, enfermera_id, notas? }
|
||||
* -- Para liberar/completar:
|
||||
* { id, accion: 'liberar'|'completar', motivo? }
|
||||
*/
|
||||
require_once __DIR__ . '/_helpers.php';
|
||||
requireMethod('POST');
|
||||
|
||||
try {
|
||||
$datos = inputJson();
|
||||
$asig = new Asignacion();
|
||||
$admin = adminId();
|
||||
|
||||
// Liberar o completar
|
||||
if (!empty($datos['id']) && !empty($datos['accion'])) {
|
||||
$id = (int)$datos['id'];
|
||||
if ($datos['accion'] === 'liberar') {
|
||||
$asig->liberar($id, $admin, $datos['motivo'] ?? '');
|
||||
jsonOk(['id' => $id], 'Asignación liberada');
|
||||
}
|
||||
if ($datos['accion'] === 'completar') {
|
||||
$asig->completar($id, $admin);
|
||||
jsonOk(['id' => $id], 'Asignación completada');
|
||||
}
|
||||
jsonError('Acción no reconocida');
|
||||
}
|
||||
|
||||
// Asignar / reasignar
|
||||
foreach (['domicilio_id', 'enfermera_id'] as $req) {
|
||||
if (empty($datos[$req])) {
|
||||
jsonError("El campo $req es obligatorio");
|
||||
}
|
||||
}
|
||||
|
||||
$id = $asig->asignar(
|
||||
(int)$datos['domicilio_id'],
|
||||
(int)$datos['enfermera_id'],
|
||||
$admin,
|
||||
$datos['notas'] ?? ''
|
||||
);
|
||||
|
||||
jsonOk(['id' => $id], 'Enfermera asignada correctamente');
|
||||
} catch (Exception $e) {
|
||||
jsonError($e->getMessage(), 500);
|
||||
}
|
||||
Reference in New Issue
Block a user