Implementar y centralizar el ordenamiento automatico y riguroso de camas por las reglas de grupos 2XX, 3XX, 4XX

This commit is contained in:
2026-08-11 23:38:31 +00:00
parent 0a0f7782e9
commit e869d6a19e
6 changed files with 64 additions and 158 deletions
+4 -3
View File
@@ -1,6 +1,6 @@
import { useState, useEffect, useCallback } from 'react';
import { toast } from 'sonner';
import { getNombreProfesional, isCamaFueraDeGrupo, computeSector } from '@/lib/utils';
import { getNombreProfesional, isCamaFueraDeGrupo, computeSector, sortCamas } from '@/lib/utils';
import type {
Paciente,
Cama,
@@ -109,6 +109,7 @@ export function useHospitalStore() {
movimientosIndicaciones: body.movimientosIndicaciones || [],
pendientes: body.pendientes || [],
currentInternacionId: storedInternacionId || body.currentInternacionId || null,
camas: sortCamas(body.camas || []),
currentUser,
isAuthenticated: !!currentUser,
};
@@ -316,7 +317,7 @@ export function useHospitalStore() {
await apiCall('PUT', `/camas/${id}`, datos);
setState(prev => ({
...prev,
camas: prev.camas.map(c => c.id === id ? { ...c, ...datos } : c),
camas: sortCamas(prev.camas.map(c => c.id === id ? { ...c, ...datos } : c)),
}));
} catch (err) {
console.error('Error al actualizar cama:', err);
@@ -334,7 +335,7 @@ const agregarCama = useCallback(async (cama: Omit<Cama, 'id'>) => {
await apiCall('POST', '/camas', nuevaCama);
setState(prev => ({
...prev,
camas: [...prev.camas, nuevaCama],
camas: sortCamas([...prev.camas, nuevaCama]),
}));
return nuevaCama.id;
} catch (err) {