fix(HistoriaClinica): agregar handlers de otrosLaboratorios en store y corregir ReferenceError
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user