You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

57 lines
1.6 KiB

const dbFuncionarios = _db.query(
`select
funcionario.id, funcionario.uid, funcionario.nome, funcionario.idade, funcionario.email, funcionario.telemovel, armazem.id "Armazem"
from funcionario
inner join armazem
on funcionario.armazem_id = armazem.id`
)
const func = _val.list();
for (const dbFuncionario of dbFuncionarios){
const dbEspecialidades = _db.query(
`select
especialidade.nome
from especialidade
inner join func_especialidade
on especialidade.id = func_especialidade.especialidade_id
where func_especialidade.funcionario_id = ?
`, dbFuncionario.getInt("id")
);
const esp = _val.list()
for (const dbEspecialidade of dbEspecialidades){
esp.add(dbEspecialidade.getString("nome"))
}
const dbArmazens = _db.query(
`select
armazem.nome
from armazem
inner join func_armazem
on armazem.id = func_armazem.armazem_id
where func_armazem.funcionario_id = ?
`, dbFuncionario.getInt("id")
)
const armz = _val.list()
for (const dbArmazem of dbArmazens){
armz.add(dbArmazem.getString("nome"))
}
func.add(
_val.map()
.set("uid", dbFuncionario.getString("uid"))
.set("name", dbFuncionario.getString("nome"))
.set("age", dbFuncionario.getString("idade"))
.set("email", dbFuncionario.getString("email"))
.set("phone", dbFuncionario.getString("telemovel"))
.set("esp", esp)
.set("armz", armz)
)
}
_out.json(
func
)