Implementar lógica de cálculo automático del sector (En Área / Fuera de Área) para Camas según su numeración y almacenar en la BD

This commit is contained in:
2026-08-09 20:17:44 +00:00
parent dc108a9699
commit 4ae43e713a
12 changed files with 319 additions and 47 deletions
+6 -4
View File
@@ -95,10 +95,11 @@ app.put('/api/state', (req, res) => {
}
if (state.camas?.length) {
const stmt = db.prepare('INSERT OR IGNORE INTO camas (id, numero, grupoId, areaId, tipo, estado) VALUES (?, ?, ?, ?, ?, ?)');
const stmt = db.prepare('INSERT OR IGNORE INTO camas (id, numero, grupoId, areaId, tipo, estado, sector) VALUES (?, ?, ?, ?, ?, ?, ?)');
for (const c of state.camas) {
const gId = c.grupoId || c.areaId || null;
stmt.run(c.id, c.numero, gId, gId, c.tipo, c.estado);
const sector = computeSector(c.numero);
stmt.run(c.id, c.numero, gId, gId, c.tipo, c.estado, sector);
}
}
@@ -224,9 +225,10 @@ app.put('/api/state/partial', (req, res) => {
if (updates.camas) {
db.prepare('DELETE FROM camas').run();
if (updates.camas.length > 0) {
const stmt = db.prepare('INSERT INTO camas (id, numero, areaId, tipo, estado) VALUES (?, ?, ?, ?, ?)');
const stmt = db.prepare('INSERT INTO camas (id, numero, grupoId, areaId, tipo, estado, sector) VALUES (?, ?, ?, ?, ?, ?, ?)');
for (const c of updates.camas) {
stmt.run(c.id, c.numero, c.areaId, c.tipo, c.estado);
const sector = computeSector(c.numero);
stmt.run(c.id, c.numero, c.grupoId || c.areaId || null, c.grupoId || c.areaId || null, c.tipo, c.estado, sector);
}
}
}