const nome = _req.getString("nome");
|
|
const crm = _req.getString("crm");
|
|
const especialidades = _req.getList("especialidades");
|
|
const convenios = _req.getList("convenios");
|
|
|
|
const dbMedico = _db.form("medico")
|
|
.where(_db.where("c_r_m").equal(crm))
|
|
.first();
|
|
|
|
if (dbMedico) {
|
|
_header.status(409);
|
|
_out.json({ insertedData: 0, error: "esse CRM já está cadastrado no sistema" });
|
|
_exec.stop();
|
|
}
|
|
|
|
for (const especialidade_uid of especialidades) {
|
|
const dbEspecialidade = _db.form("especialidade")
|
|
.where(_db.where("uid").equal(especialidade_uid))
|
|
.first();
|
|
|
|
if (!dbEspecialidade) {
|
|
_header.status(404);
|
|
_out.json({result: false, error: true, reason: "especialidade-não-encontrada"});
|
|
_exec.stop();
|
|
}
|
|
}
|
|
|
|
for (const convenio_uid of convenios) {
|
|
const dbConvenio = _db.form("convenio")
|
|
.where(_db.where("uid").equal(convenio_uid))
|
|
.first();
|
|
|
|
if (!dbConvenio) {
|
|
_header.status(404);
|
|
_out.json({result: false, error: true, reason: "convenio-não-encontrado"});
|
|
_exec.stop();
|
|
}
|
|
}
|
|
|
|
const insertedData = _db.insertIfNotExists(
|
|
"medico",
|
|
_val.map()
|
|
.set("nome", nome)
|
|
.set("c_r_m", crm)
|
|
);
|
|
|
|
const medico_id = _db.form("medico")
|
|
.where(_db.where("c_r_m").equal(crm))
|
|
.first()
|
|
.get("id");
|
|
|
|
for (const especialidade_uid of especialidades) {
|
|
const especialidade_id = _db.form("especialidade")
|
|
.where(_db.where("uid").equal(especialidade_uid))
|
|
.first()
|
|
.get("id");
|
|
|
|
_db.insertIfNotExists(
|
|
"medico_especialidade",
|
|
{ medico_id, especialidade_id }
|
|
);
|
|
}
|
|
|
|
for (const convenio_uid of convenios) {
|
|
const convenio_id = _db.form("convenio")
|
|
.where(_db.where("uid").equal(convenio_uid))
|
|
.first()
|
|
.get("id");
|
|
|
|
_db.insertIfNotExists(
|
|
"medico_convenio",
|
|
{ medico_id, convenio_id }
|
|
);
|
|
}
|
|
|
|
_out.json({insertedData});
|