diff --git a/src/sections/EditIngreso.tsx b/src/sections/EditIngreso.tsx index 7547821..16f4514 100644 --- a/src/sections/EditIngreso.tsx +++ b/src/sections/EditIngreso.tsx @@ -144,21 +144,26 @@ export function EditIngreso({ return; } } else { - if (!camaSeleccionada) { - alert('Seleccione una cama'); - return; + if (camaSeleccionada && camaSeleccionada !== internacion.camaId) { + const camaElegida = sortedCamas.find(c => c.id === camaSeleccionada); + if (!camaElegida) { + alert('Cama no encontrada'); + return; + } + newAreaId = camaElegida.areaId || areaFueraDeAreaId; + if (!newAreaId) { + alert('La cama no tiene un área asignada'); + return; + } + camaId = camaSeleccionada; + } else { + newAreaId = areaSeleccionada || internacion.areaId; + camaId = internacion.camaId; } - const camaElegida = sortedCamas.find(c => c.id === camaSeleccionada); - if (!camaElegida) { - alert('Cama no encontrada'); - return; - } - newAreaId = areaSeleccionada || camaElegida.areaId || areaFueraDeAreaId; if (!newAreaId) { alert('Seleccione un área de trabajo'); return; } - camaId = camaSeleccionada; } onActualizarInternacion(internacion.id, {