Fix: actualiza estado de cama en tabla camas al cambiar internacion

- Agrega endpoint PUT /api/camas/:id en servidor
- Corrige nombre de tabla SQL de cama a camas
- Actualiza estado de camas en memoria al cambiar internacion
- Agrega retry logic para evitar SQLITE_BUSY
- Mejora delay entre actualizaciones de cama
This commit is contained in:
2026-04-23 23:44:28 -03:00
parent 9f29e2adc5
commit e996f92d71
4 changed files with 88 additions and 22 deletions
+6 -4
View File
@@ -41,8 +41,7 @@ db.exec(`
grupoSanguineo TEXT
);
CREATE TABLE IF NOT EXISTS areas (
id TEXT PRIMARY KEY,
CREATE TABLE IF NOT EXISTS areas (
nombre TEXT NOT NULL UNIQUE
);
@@ -51,7 +50,9 @@ db.exec(`
numero TEXT NOT NULL,
areaId TEXT,
tipo TEXT DEFAULT 'Estándar',
estado TEXT DEFAULT 'Disponible'
estado TEXT DEFAULT 'Disponible',
pacienteId TEXT,
internacionId TEXT
);
CREATE TABLE IF NOT EXISTS internaciones (
@@ -384,12 +385,13 @@ app.put('/api/state', (req, res) => {
}
}
if (state.camas?.length) {
if (state.camas?.length) {
const stmt = db.prepare('INSERT OR IGNORE INTO camas (id, numero, areaId, tipo, estado) VALUES (?, ?, ?, ?, ?)');
for (const c of state.camas) {
stmt.run(c.id, c.numero, c.areaId, c.tipo, c.estado);
}
}
}
if (state.internaciones?.length) {
const stmt = db.prepare('INSERT OR IGNORE INTO internaciones (id, pacienteId, camaId, areaId, fechaIngresoHospital, fechaIngresoClinica, fechaEgreso, diagnosticoIngreso, motivoConsulta, enfermedadActual, antecedentesEnfermedadActual, diagnosticoEgreso, medicoIngresante, motivoEgreso, activa, apache, derivacion) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');