Fix bed status update when changing bed in edit internacion
This commit is contained in:
@@ -273,6 +273,11 @@ const finalizarInternacion = useCallback((internacionId: string, datos: {
|
||||
console.warn('No tiene permisos para actualizar internación en esta área');
|
||||
return;
|
||||
}
|
||||
|
||||
const oldCamaId = internacion.camaId;
|
||||
const newCamaId = datos.camaId;
|
||||
const pacienteId = datos.pacienteId || internacion.pacienteId;
|
||||
|
||||
setState(prev => ({
|
||||
...prev,
|
||||
internaciones: prev.internaciones.map(i =>
|
||||
@@ -280,6 +285,15 @@ const finalizarInternacion = useCallback((internacionId: string, datos: {
|
||||
? { ...i, ...datos }
|
||||
: i
|
||||
),
|
||||
cams: prev.camas.map(c => {
|
||||
if (c.id === newCamaId && newCamaId !== oldCamaId) {
|
||||
return { ...c, estado: 'Ocupada', pacienteId, internacionId };
|
||||
}
|
||||
if (c.id === oldCamaId && oldCamaId !== newCamaId) {
|
||||
return { ...c, estado: 'Disponible', pacienteId: undefined, internacionId: undefined };
|
||||
}
|
||||
return c;
|
||||
}),
|
||||
}));
|
||||
}, [state.internaciones, state.currentUser]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user