From 7645c0bcc9ebd05877ce11158fcf980fa773d544 Mon Sep 17 00:00:00 2001
From: Fernando Erd <fce15@inf.ufpr.br>
Date: Fri, 9 Mar 2018 11:49:16 -0300
Subject: [PATCH] Fix dims in rate school

---
 src/libs/routes/rateSchool.js | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/libs/routes/rateSchool.js b/src/libs/routes/rateSchool.js
index dd618b27..a31a56e1 100644
--- a/src/libs/routes/rateSchool.js
+++ b/src/libs/routes/rateSchool.js
@@ -241,6 +241,8 @@ function matchQueries(queryTotal, queryPartial) {
         keys.forEach((key) => {
             newObj[key] = result[key];
         });
+        console.log('NEW OBJ');
+        console.log(newObj);
         let index = keys.indexOf('total');
         if(index > -1) keys.splice(index, 1);
         let objMatch = null;
@@ -262,6 +264,7 @@ function matchQueries(queryTotal, queryPartial) {
         }
 
         if(objMatch) {
+            console.log(objMatch);
             newObj.denominator = result.total;
             newObj.partial = objMatch.total;
             newObj.total = (objMatch.total / result.total) * 100;
@@ -277,13 +280,14 @@ rateSchoolApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex = {};
 
     log.debug(req.sql.toParam());
-    if ("age_range" in req.filter) {
+    if ("age_range" in req.filter || "age_range" in req.dims) {
         let freq_total = req.sql.clone();
         freq_total.field('sum(pnad.peso)', 'total')
         .field('pnad.ano_censo','year')
         .from('pnad')
         .group('pnad.ano_censo')
         .order('pnad.ano_censo')
+        .where('pnad.faixa_etaria_31_03 < 7')
         req.queryIndex.freq_total = req.querySet.push(freq_total) - 1;
 
         let freq_nursery = req.sql.clone();
@@ -293,16 +297,24 @@ rateSchoolApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
         .group('pnad.ano_censo')
         .order('pnad.ano_censo')
         .where('pnad.frequenta_escola_creche = 2')
+        .where('pnad.faixa_etaria_31_03 < 7')
         req.queryIndex.freq_nursery = req.querySet.push(freq_nursery) - 1;
     }
      next();
 }, multiQuery, (req, res, next) => {
-    if ("age_range" in req.filter) {
+    if ("age_range" in req.filter || "age_range" in req.dims) {
+        log.debug(req.result[req.queryIndex.freq_total]);
+        log.debug(req.result[req.queryIndex.freq_nursery])
         let school_attendance_rate = matchQueries(req.result[req.queryIndex.freq_total], req.result[req.queryIndex.freq_nursery]);
         req.result = school_attendance_rate;
     } else {
-        req.result = [];
+        res.status(400);
+        next({
+            status: 400,
+            message: 'Wrong/No filter specified'
+        });
     }
+    log.debug(req.result)
     next();
 }, id2str.transform(false), response('rateSchool'));
 
-- 
GitLab