diff --git a/dbs/clinica.mv.db b/dbs/clinica.mv.db index 6535279..05d9c34 100644 Binary files a/dbs/clinica.mv.db and b/dbs/clinica.mv.db differ diff --git a/dbs/clinica.trace.db b/dbs/clinica.trace.db index 8bb7cde..3370e09 100644 --- a/dbs/clinica.trace.db +++ b/dbs/clinica.trace.db @@ -920,3 +920,11 @@ FROM especialidade WHERE 1 = 1 AND especialidade.uid = 'Cardiologia' LIMIT 1 [22018-240] +2026-03-22 20:15:20.738433-03:00 jdbc[3]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "medico_convenios" not found; SQL statement: +SELECT + medico_convenios.* +FROM medico_convenios +WHERE 1 = 1 + AND medico_convenios.medico_id = 1 +LIMIT 1000 [42102-240] diff --git a/server/services/medicos/get.js b/server/services/medicos/get.js index 6fb4080..63cf4a4 100644 --- a/server/services/medicos/get.js +++ b/server/services/medicos/get.js @@ -11,7 +11,6 @@ const dbRegistros = _db.query(` `%${crm}%` ); - const lista = _val.list(); for (const dbRegistro of dbRegistros) { @@ -22,48 +21,35 @@ for (const dbRegistro of dbRegistros) { const medico_id = dbRegistro.getInt("id"); if (campos.includes("especialidades")) { - const especialidades = []; - - const dbMedicoEspecialidades = _db.form("medico_especialidade") - .where(_db.where("medico_id").equal(medico_id)) - .all(); - - for (dbMedicoEspecialidade of dbMedicoEspecialidades) { - const especialidade_id = dbMedicoEspecialidade.getInt("especialidade_id"); - - const especialidade_uid = _db.form("especialidade") - .where(_db.where("id").equal(especialidade_id)) - .first() - .getUID("uid"); - - especialidades.push(especialidade_uid); - } - - medico.set("especialidades", especialidades); + addCampos(medico, medico_id, "especialidade"); } if (campos.includes("convenios")) { - const convenios = []; + addCampos(medico, medico_id, "convenio"); + } + + lista.add(medico); +} + +_out.json(lista); - const dbMedicoConvenios = _db.form("medico_convenio") - .where(_db.where("medico_id").equal(medico_id)) - .all(); - - for (dbMedicoConvenio of dbMedicoConvenios) { - const convenio_id = dbMedicoConvenio.getInt("convenio_id"); +function addCampos(medico, medico_id, campo) { + const campo_valores = []; - const convenio_uid = _db.form("convenio") - .where(_db.where("id").equal(convenio_id)) - .first() - .getUID("uid"); + const dbMedicoCampoValores = _db.form("medico_" + campo) + .where(_db.where("medico_id").equal(medico_id)) + .all(); + + for (dbMedicoCampoValor of dbMedicoCampoValores) { + const campo_id = dbMedicoCampoValor.getInt(campo + "_id"); - convenios.push(convenio_uid); - } + const campo_uid = _db.form(campo) + .where(_db.where("id").equal(campo_id)) + .first() + .getUID("uid"); - medico.set("convenios", convenios) + campo_valores.push(campo_uid); } - lista.add(medico); + medico.set(campo + "s", campo_valores); } - -_out.json(lista);