41 lines
2.0 KiB
JavaScript
41 lines
2.0 KiB
JavaScript
const fs = require('fs');
|
|
let code = fs.readFileSync('server/index.js', 'utf8');
|
|
|
|
const computeSectorCode = `
|
|
function computeSector(numero) {
|
|
if (!numero) return 'En Área';
|
|
const parts = String(numero).trim().split('-');
|
|
if (parts.length === 0) return 'En Área';
|
|
const salaStr = parts[0].trim();
|
|
const salaNum = parseInt(salaStr, 10);
|
|
if (isNaN(salaNum)) return 'En Área';
|
|
if (salaNum >= 300 && salaNum < 400 && salaNum % 2 !== 0) return 'Fuera de Área';
|
|
if (salaNum >= 400 && salaNum < 500) return 'Fuera de Área';
|
|
return 'En Área';
|
|
}
|
|
`;
|
|
|
|
// Insert computeSector somewhere at the top
|
|
code = code.replace("const PORT = process.env.PORT || 3000;", computeSectorCode + "\nconst PORT = process.env.PORT || 3000;");
|
|
|
|
code = code.replace(
|
|
/const stmt = db\.prepare\('INSERT OR IGNORE INTO camas \(id, numero, grupoId, areaId, tipo, estado\) VALUES \(\?, \?, \?, \?, \?, \?\)'\);\s*for \(const c of state\.camas\) \{\s*const gId = c\.grupoId \|\| c\.areaId \|\| null;\s*stmt\.run\(c\.id, c\.numero, gId, gId, c\.tipo, c\.estado\);\s*\}/,
|
|
`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;
|
|
const sector = computeSector(c.numero);
|
|
stmt.run(c.id, c.numero, gId, gId, c.tipo, c.estado, sector);
|
|
}`
|
|
);
|
|
|
|
code = code.replace(
|
|
/const stmt = db\.prepare\('INSERT INTO camas \(id, numero, areaId, tipo, estado\) VALUES \(\?, \?, \?, \?, \?\)'\);\s*for \(const c of updates\.camas\) \{\s*stmt\.run\(c\.id, c\.numero, c\.areaId, c\.tipo, c\.estado\);\s*\}/,
|
|
`const stmt = db.prepare('INSERT INTO camas (id, numero, grupoId, areaId, tipo, estado, sector) VALUES (?, ?, ?, ?, ?, ?, ?)');
|
|
for (const c of updates.camas) {
|
|
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);
|
|
}`
|
|
);
|
|
|
|
fs.writeFileSync('server/index.js', code);
|