Browse Source

refatora: extrai funcao de adicionar especialidades e convenios ao json do medico

master
Henrique-Sousa 4 weeks ago
parent
commit
e0f601bb0f
3 changed files with 30 additions and 36 deletions
  1. BIN
      dbs/clinica.mv.db
  2. +8
    -0
      dbs/clinica.trace.db
  3. +22
    -36
      server/services/medicos/get.js

BIN
dbs/clinica.mv.db View File


+ 8
- 0
dbs/clinica.trace.db View File

@ -920,3 +920,11 @@ FROM especialidade
WHERE 1 = 1 WHERE 1 = 1
AND especialidade.uid = 'Cardiologia' AND especialidade.uid = 'Cardiologia'
LIMIT 1 [22018-240] 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]

+ 22
- 36
server/services/medicos/get.js View File

@ -11,7 +11,6 @@ const dbRegistros = _db.query(`
`%${crm}%` `%${crm}%`
); );
const lista = _val.list(); const lista = _val.list();
for (const dbRegistro of dbRegistros) { for (const dbRegistro of dbRegistros) {
@ -22,48 +21,35 @@ for (const dbRegistro of dbRegistros) {
const medico_id = dbRegistro.getInt("id"); const medico_id = dbRegistro.getInt("id");
if (campos.includes("especialidades")) { 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")) { 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);

Loading…
Cancel
Save