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');
|
console.warn('No tiene permisos para actualizar internación en esta área');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const oldCamaId = internacion.camaId;
|
||||||
|
const newCamaId = datos.camaId;
|
||||||
|
const pacienteId = datos.pacienteId || internacion.pacienteId;
|
||||||
|
|
||||||
setState(prev => ({
|
setState(prev => ({
|
||||||
...prev,
|
...prev,
|
||||||
internaciones: prev.internaciones.map(i =>
|
internaciones: prev.internaciones.map(i =>
|
||||||
@@ -280,6 +285,15 @@ const finalizarInternacion = useCallback((internacionId: string, datos: {
|
|||||||
? { ...i, ...datos }
|
? { ...i, ...datos }
|
||||||
: i
|
: 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]);
|
}, [state.internaciones, state.currentUser]);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user