From 53b2bf84812387e9565214cd724f2422941c0d81 Mon Sep 17 00:00:00 2001 From: Fernando Erd <fce15@inf.ufpr.br> Date: Thu, 10 May 2018 10:48:44 -0300 Subject: [PATCH] Fix gloss enrrolment indicator --- src/libs/routes/glossEnrollmentRatio.js | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/libs/routes/glossEnrollmentRatio.js b/src/libs/routes/glossEnrollmentRatio.js index 0a929ca7..041a93ad 100644 --- a/src/libs/routes/glossEnrollmentRatio.js +++ b/src/libs/routes/glossEnrollmentRatio.js @@ -298,7 +298,13 @@ glossEnrollmentRatioApp.get('/', rqf.parse(),(req, res, next) => { .field('matricula.ano_censo', 'year') .group('matricula.ano_censo') .order('matricula.ano_censo') + .where('matricula.tipo <= 3') + if ( "education_level_basic" in req.dims ) { + req.sql.field('matricula.etapas_mod_ensino_segmento_id', 'age_range') + req.sql.where('matricula.etapas_mod_ensino_segmento_id = 1 OR matricula.etapas_mod_ensino_segmento_id = 2 OR matricula.etapas_mod_ensino_segmento_id = 4 OR matricula.etapas_mod_ensino_segmento_id = 5 OR matricula.etapas_mod_ensino_segmento_id = 6') + req.sql.group('matricula.etapas_mod_ensino_segmento_id', 'age_range'); + } next(); }, rqf.build(), query, id2str.transform(), (req, res, next) => { req.numerator = req.result; @@ -332,9 +338,13 @@ glossEnrollmentRatioApp.get('/', rqf.parse(),(req, res, next) => { } string_query = string_query + convert(req.filter.education_level_basic[req.filter.education_level_basic.length - 1]); req.sql.where(string_query); - } else { - req.sql.where(convert(req.filter.education_level_basic)); + req.sql.field('pnad.faixa_etaria_31_03','age_range') + req.sql.group('pnad.faixa_etaria_31_03', 'age_range') } + } else if ( "education_level_basic" in req.dims ) { + req.sql.field('pnad.faixa_etaria_31_03','age_range') + req.sql.where('pnad.faixa_etaria_31_03 = 1 OR pnad.faixa_etaria_31_03 = 2 OR pnad.faixa_etaria_31_03 = 3 OR pnad.faixa_etaria_31_03 = 4 OR pnad.faixa_etaria_31_03 = 5') + req.sql.group('pnad.faixa_etaria_31_03', 'age_range'); } else { res.status(400); next({ @@ -354,7 +364,16 @@ glossEnrollmentRatioApp.get('/', rqf.parse(),(req, res, next) => { next(); }, rqf.build(), query, id2str.transform(), (req, res, next) => { req.denominator = req.result; - + //change age range in denominator to match with numerator result + for(let i = 0; i < req.denominator.length; i++) { + if (req.denominator[i].age_range > 2) { + req.denominator[i].age_range = req.denominator[i].age_range + 1; + } + } + // log.debug("Numerador"); + // log.debug(req.numerator); + // log.debug("Denominador"); + // log.debug(req.denominator); req.result = [] let glossEnrollment = matchQueries(req.denominator, req.numerator); req.result = glossEnrollment; -- GitLab