const nome = _req.getString("nome") ?? "";
|
|
const crm = _req.getString("crm") ?? "";
|
|
const campos = _req.getString("campos").split(",") ?? "";
|
|
|
|
const dbRegistros = _db.query(`
|
|
SELECT nome, c_r_m, id
|
|
FROM medico
|
|
WHERE nome LIKE ? AND c_r_m LIKE ?
|
|
`,
|
|
`%${nome}%`,
|
|
`%${crm}%`
|
|
);
|
|
|
|
|
|
const lista = _val.list();
|
|
|
|
for (const dbRegistro of dbRegistros) {
|
|
const medico = _val.map()
|
|
.set("nome", dbRegistro.getString("nome"))
|
|
.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);
|