Browse Source

retorna especialidades e/ou campos dos medicos se o usuario quiser

master
Henrique-Sousa 4 weeks ago
parent
commit
1010ef7150
2 changed files with 51 additions and 5 deletions
  1. BIN
      dbs/clinica.mv.db
  2. +51
    -5
      server/services/medicos/get.js

BIN
dbs/clinica.mv.db View File


+ 51
- 5
server/services/medicos/get.js View File

@ -1,8 +1,9 @@
const nome = _req.getString("nome") ?? ""; const nome = _req.getString("nome") ?? "";
const crm = _req.getString("crm") ?? ""; const crm = _req.getString("crm") ?? "";
const campos = _req.getString("campos").split(",") ?? "";
const dbRegistros = _db.query(` const dbRegistros = _db.query(`
SELECT nome, c_r_m
SELECT nome, c_r_m, id
FROM medico FROM medico
WHERE nome LIKE ? AND c_r_m LIKE ? WHERE nome LIKE ? AND c_r_m LIKE ?
`, `,
@ -10,14 +11,59 @@ const dbRegistros = _db.query(`
`%${crm}%` `%${crm}%`
); );
const lista = _val.list(); const lista = _val.list();
for (const dbRegistro of dbRegistros) { for (const dbRegistro of dbRegistros) {
lista.add(
_val.map()
const medico = _val.map()
.set("nome", dbRegistro.getString("nome")) .set("nome", dbRegistro.getString("nome"))
.set("CRM", dbRegistro.getString("c_r_m"))
);
.set("CRM", dbRegistro.getString("c_r_m"));
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);
}
if (campos.includes("convenios")) {
const convenios = [];
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");
const convenio_uid = _db.form("convenio")
.where(_db.where("id").equal(convenio_id))
.first()
.getUID("uid");
convenios.push(convenio_uid);
}
medico.set("convenios", convenios)
}
lista.add(medico);
} }
_out.json(lista); _out.json(lista);

Loading…
Cancel
Save