From e8eee33ca1b0753cb687b8022bc4e868228dc4f1 Mon Sep 17 00:00:00 2001 From: Fernando Erd <fce15@inf.ufpr.br> Date: Thu, 21 Jun 2018 11:26:05 -0300 Subject: [PATCH] Add school condition --- src/libs/routes/employees.js | 63 +++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/src/libs/routes/employees.js b/src/libs/routes/employees.js index 5106a0e2..e59cbde5 100644 --- a/src/libs/routes/employees.js +++ b/src/libs/routes/employees.js @@ -214,7 +214,7 @@ rqf.addField({ } }, 'filter').addValue({ name: 'location', - table: 'docente', + table: '@', tableField: 'cod_localizacao', resultField: 'location_id', where: { @@ -224,7 +224,7 @@ rqf.addField({ } }).addValue({ name: 'rural_location', - table: 'docente', + table: '@', tableField: 'localidade_area_rural', resultField: 'rural_location_id', where: { @@ -234,7 +234,7 @@ rqf.addField({ } }).addValue({ name: 'min_year', - table: 'docente', + table: '@', tableField: 'ano_censo', resultField: 'year', where: { @@ -244,7 +244,7 @@ rqf.addField({ } }).addValue({ name: 'max_year', - table: 'docente', + table: '@', tableField: 'ano_censo', resultField: 'year', where: { @@ -255,15 +255,54 @@ rqf.addField({ }); employeesApp.get('/', rqf.parse(), (req, res, next) => { - //let allEmployees = req.sql.clone() - req.sql.field('COUNT(escola.id)', 'total') + req.allEmployees = {} + req.allTeacher = {} + + if ("school" in req.filter) { + req.sql.field('SUM(escola.num_funcionarios)', 'total') + .field("'Brasil'", 'name') + .field('escola.ano_censo', 'year') + .from('escola') + .group('escola.ano_censo') + .order('escola.ano_censo') + .where('(escola.situacao_de_funcionamento = 1) AND (escola.ensino_regular = 1 OR escola.ensino_eja = 1 OR escola.educacao_profissional = 1) AND (dependencia_adm_id = 2 OR dependencia_adm_id = 3 OR dependencia_adm_id = 4) AND (escola.id=' + req.filter.school + ')'); + delete req.filter.school; + next(); + } else { + req.sql.field('SUM(escola.num_funcionarios)', 'total') + .field("'Brasil'", 'name') + .field('escola.ano_censo', 'year') + .from('escola') + .group('escola.ano_censo') + .order('escola.ano_censo') + .where('(escola.situacao_de_funcionamento = 1) AND (escola.ensino_regular = 1 OR escola.ensino_eja = 1 OR escola.educacao_profissional = 1) AND (dependencia_adm_id = 2 OR dependencia_adm_id = 3 OR dependencia_adm_id = 4)'); + next(); + } +}, rqf.build(), query, rqf.parse(), id2str.transform(), (req, res, next) => { + + req.allEmployees = req.result; + req.resetSql(); + + req.sql.field('COUNT(DISTINCT docente.id)', 'total') .field("'Brasil'", 'name') - .field('escola.ano_censo', 'year') - .from('escola') - .group('escola.ano_censo') - .order('escola.ano_censo') - .where('(escola.situacao_de_funcionamento = 1) AND (escola.ensino_regular = 1 OR escola.ensino_eja = 1 OR escola.educacao_profissional = 1) AND (dependencia_adm_id = 2 OR dependencia_adm_id = 3 OR dependencia_adm_id = 4)'); + .field('docente.ano_censo', 'year') + .from('docente') + .join('turma', null, 'docente.turma_id=turma.id AND docente.ano_censo=turma.ano_censo') + .group('docente.ano_censo') + .order('docente.ano_censo') + .where('(docente.tipo_docente <= 6) AND (turma.tipo_turma_id <= 3)'); + next(); + +}, rqf.build(), query, id2str.transform(), (req, res, next) => { + + req.allTeacher = req.result; + + req.result = [] + req.result.push(req.allEmployees) + req.result.push(req.allTeacher) + console.log(req.allEmployees) + console.log(req.allTeacher) next(); -}, rqf.build(), query, response('employees')); +}, response('employees')); module.exports = employeesApp; -- GitLab