80 lines
3.2 KiB
JavaScript
80 lines
3.2 KiB
JavaScript
const fs = require('fs');
|
|
let code = fs.readFileSync('src/sections/HistoriaClinica.tsx', 'utf8');
|
|
|
|
// 1. Update imports
|
|
code = code.replace("EstudioComplementario, Interconsulta, ATB, Indicacion, MovimientoIndicacion, Pendiente } from '@/types';", "EstudioComplementario, Interconsulta, ATB, Indicacion, MovimientoIndicacion, Pendiente, OtroLaboratorio } from '@/types';");
|
|
|
|
// 2. Destructure in component
|
|
const destructureRegex = /const \{[\s\S]*?\} = useHospitalStore\(\);/;
|
|
const destructuredMatch = code.match(destructureRegex);
|
|
if (destructuredMatch) {
|
|
let newDestructure = destructuredMatch[0].replace(
|
|
"laboratorios,",
|
|
"laboratorios, otrosLaboratorios, agregarOtroLaboratorio, actualizarOtroLaboratorio, eliminarOtroLaboratorio,"
|
|
);
|
|
code = code.replace(destructuredMatch[0], newDestructure);
|
|
}
|
|
|
|
// 3. Update SeccionLaboratorios props in main render
|
|
code = code.replace(
|
|
/<SeccionLaboratorios\s*portalNode=\{portalNode\}\s*lab=\{laboratorios\}\s*patientId=\{paciente\.id\}\s*internacionId=\{internacion\.id\}\s*add=\{onAgregarLaboratorio\}\s*update=\{onActualizarLaboratorio\}\s*del=\{onEliminarLaboratorio\}\s*addAcidoBase=\{onAgregarAcidoBase\}\s*canEdit=\{canEdit\}\s*\/>/,
|
|
`<SeccionLaboratorios
|
|
portalNode={portalNode}
|
|
lab={laboratorios}
|
|
otrosLaboratorios={otrosLaboratorios}
|
|
patientId={paciente.id}
|
|
internacionId={internacion.id}
|
|
add={onAgregarLaboratorio}
|
|
update={onActualizarLaboratorio}
|
|
del={onEliminarLaboratorio}
|
|
addAcidoBase={onAgregarAcidoBase}
|
|
addOtroLaboratorio={agregarOtroLaboratorio}
|
|
canEdit={canEdit}
|
|
/>`
|
|
);
|
|
|
|
// 4. In `handleImportarLaboratorio` (we need to change how observations are saved)
|
|
// Find the exact handleImportarLaboratorio function
|
|
const handleImportarMatch = code.match(/const handleImportarLaboratorio = \(\) => \{[\s\S]*?setImportHora\(new Date\(\)\.toTimeString\(\)\.slice\(0, 5\)\);\s*\};/);
|
|
if (handleImportarMatch) {
|
|
const newImport = `const handleImportarLaboratorio = () => {
|
|
if (!addAcidoBase) return;
|
|
if (importResultados.length === 0 && !importObservaciones && !importAcidoBase) return;
|
|
|
|
if (importAcidoBase) {
|
|
addAcidoBase({ ...importAcidoBase, pacienteId: patientId, internacionId, fecha: importFecha, hora: importHora });
|
|
}
|
|
|
|
if (importResultados.length > 0) {
|
|
add({
|
|
pacienteId: patientId,
|
|
internacionId,
|
|
fecha: importFecha,
|
|
hora: importHora,
|
|
resultados: importResultados,
|
|
});
|
|
}
|
|
|
|
if (importObservaciones && importObservaciones.trim() !== '') {
|
|
agregarOtroLaboratorio({
|
|
pacienteId: patientId,
|
|
internacionId,
|
|
fecha: importFecha,
|
|
hora: importHora,
|
|
observaciones: importObservaciones
|
|
});
|
|
}
|
|
|
|
setImportDialog(false);
|
|
setImportTexto('');
|
|
setImportResultados([]);
|
|
setImportObservaciones('');
|
|
setImportAcidoBase(null);
|
|
setImportFecha(getLocalToday());
|
|
setImportHora(new Date().toTimeString().slice(0, 5));
|
|
};`;
|
|
code = code.replace(handleImportarMatch[0], newImport);
|
|
}
|
|
|
|
fs.writeFileSync('src/sections/HistoriaClinica.tsx', code);
|