From 733278420a3fbf9b4eaa786a68c176d2ddc4d39f Mon Sep 17 00:00:00 2001
From: ppc19 <ppc19@inf.ufpr.br>
Date: Wed, 15 Sep 2021 11:57:09 -0300
Subject: [PATCH] add adm_dependency filter

---
 src/libs/routes/enrollmentProjection.js | 46 +++++++++++++++----------
 1 file changed, 28 insertions(+), 18 deletions(-)

diff --git a/src/libs/routes/enrollmentProjection.js b/src/libs/routes/enrollmentProjection.js
index 5018440b..4dd92e5d 100644
--- a/src/libs/routes/enrollmentProjection.js
+++ b/src/libs/routes/enrollmentProjection.js
@@ -59,7 +59,7 @@ rqf.addField({
     join: {
         primary: 'id',
         foreign: 'estado_id',
-        foreignTable: 'projecao_matricula'
+        foreignTable: 'projecao_matricula_por_dependencia'
     }
 }, 'dims').addValueToField({
     name: 'state',
@@ -74,7 +74,7 @@ rqf.addField({
     join: {
         primary: 'id',
         foreign: 'estado_id',
-        foreignTable: 'projecao_matricula'
+        foreignTable: 'projecao_matricula_por_dependencia'
     }
 }, 'filter').addValueToField({
     name: 'city',
@@ -89,7 +89,7 @@ rqf.addField({
     join: {
         primary: 'id',
         foreign: 'municipio_id',
-        foreignTable: 'projecao_matricula'
+        foreignTable: 'projecao_matricula_por_dependencia'
     }
 }, 'dims').addValueToField({
     name: 'city',
@@ -104,11 +104,11 @@ rqf.addField({
     join: {
         primary: 'id',
         foreign: 'municipio_id',
-        foreignTable: 'projecao_matricula'
+        foreignTable: 'projecao_matricula_por_dependencia'
     }
 }, 'filter').addValue({
     name: 'min_year',
-    table: 'projecao_matricula',
+    table: 'projecao_matricula_por_dependencia',
     tableField: 'ano_censo',
     resultField: 'year',
     where: {
@@ -118,7 +118,7 @@ rqf.addField({
     }
 }).addValue({
     name: 'max_year',
-    table: 'projecao_matricula',
+    table: 'projecao_matricula_por_dependencia',
     tableField: 'ano_censo',
     resultField: 'year',
     where: {
@@ -126,22 +126,32 @@ rqf.addField({
         type: 'integer',
         field: 'ano_censo'
     }
+}).addValue({
+    name: 'adm_dependency',
+    table: 'projecao_matricula_por_dependencia',
+    tableField: 'dependencia_adm_id',
+    resultField: 'adm_dependency_id',
+    where: {
+        relation: '=',
+        type: 'integer',
+        field: 'dependencia_adm_id'
+    }
 });
 
 enrollmentProjectionApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.sql.field("'Brasil'", 'name')
-        .field('SUM(projecao_matricula.urbano_dia_total)', 'urban_day_total')
-        .field('SUM(projecao_matricula.urbano_noite_total)', 'urban_night_total')
-        .field('SUM(projecao_matricula.rural_dia_total)', 'rural_day_total')
-        .field('SUM(projecao_matricula.rural_noite_total)', 'rural_night_total')
-        .field('projecao_matricula.etapa_ensino_escola_ano_id', 'education_level_school_year_id')
-        .field('projecao_matricula.ano_censo', 'year')
-        .from('projecao_matricula')
-        .where('projecao_matricula.etapa_ensino_escola_ano_id <> 7 AND projecao_matricula.etapa_ensino_escola_ano_id < 71')
-        .group('projecao_matricula.etapa_ensino_escola_ano_id')
-        .group('projecao_matricula.ano_censo')
-        .order('projecao_matricula.ano_censo')
-        .order('projecao_matricula.etapa_ensino_escola_ano_id');
+        .field('SUM(projecao_matricula_por_dependencia.urbano_dia_total)', 'urban_day_total')
+        .field('SUM(projecao_matricula_por_dependencia.urbano_noite_total)', 'urban_night_total')
+        .field('SUM(projecao_matricula_por_dependencia.rural_dia_total)', 'rural_day_total')
+        .field('SUM(projecao_matricula_por_dependencia.rural_noite_total)', 'rural_night_total')
+        .field('projecao_matricula_por_dependencia.etapa_ensino_escola_ano_id', 'education_level_school_year_id')
+        .field('projecao_matricula_por_dependencia.ano_censo', 'year')
+        .from('projecao_matricula_por_dependencia')
+        .where('projecao_matricula_por_dependencia.etapa_ensino_escola_ano_id <> 7 AND projecao_matricula_por_dependencia.etapa_ensino_escola_ano_id < 71')
+        .group('projecao_matricula_por_dependencia.etapa_ensino_escola_ano_id')
+        .group('projecao_matricula_por_dependencia.ano_censo')
+        .order('projecao_matricula_por_dependencia.ano_censo')
+        .order('projecao_matricula_por_dependencia.etapa_ensino_escola_ano_id');
 
     next();
 }, query, id2str.transform(), (req, res, next) => {
-- 
GitLab