From 446d05e0f30ef5942daf5859b252a885cf117e5f Mon Sep 17 00:00:00 2001
From: es23 <es23@inf.ufpr.br>
Date: Tue, 29 Apr 2025 11:39:18 -0300
Subject: [PATCH 1/5] fix - nao e capital

---
 src/libs/routes_v1/api.js                     |  2 +-
 .../superiorEducationConclusionTax.js         | 43 +++++++++++++------
 2 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/src/libs/routes_v1/api.js b/src/libs/routes_v1/api.js
index 72fc3ddc..b5bcfda8 100644
--- a/src/libs/routes_v1/api.js
+++ b/src/libs/routes_v1/api.js
@@ -163,7 +163,7 @@ const aggregateClass = require(`${libs}/routes_v1/aggregateClass`);
 
 const instructionLevel = require(`${libs}/routes_v1/instructionLevel`);
 
-const uniLocalOfferAggregate = require(`${libs}/routes_v1/uniLocalOfferAggregate`)
+//const uniLocalOfferAggregate = require(`${libs}/routes_v1/uniLocalOfferAggregate`)
 
 const basicEducationConclusion = require(`${libs}/routes_v1/basicEducationConclusion`);
 
diff --git a/src/libs/routes_v1/superiorEducationConclusionTax.js b/src/libs/routes_v1/superiorEducationConclusionTax.js
index 1f84f7b0..a8198668 100644
--- a/src/libs/routes_v1/superiorEducationConclusionTax.js
+++ b/src/libs/routes_v1/superiorEducationConclusionTax.js
@@ -111,7 +111,7 @@ superiorEducationConclusionTaxApp.get('/region', (req, res, next) => {
     next();
 }, response('region'));
 
-superiorEducationConclusionTaxApp.get('/cap_code', (req, res, next) => {
+superiorEducationConclusionTaxApp.get('/cap_code_pnad', (req, res, next) => {
     req.result = []
     for (let i = 11; i < 54; i++) {
         if (id2str.capitalCode(i) !== 'Não informado') {
@@ -120,10 +120,8 @@ superiorEducationConclusionTaxApp.get('/cap_code', (req, res, next) => {
         });
         }
     }
-    req.result.push({id: 99, name: id2str.capitalCode(99)});
-
     next();
-}, response('cap_code'));
+}, response('cap_code_pnad'));
 
 superiorEducationConclusionTaxApp.get('/metro_code', (req, res, next) => {
     req.result = []
@@ -134,7 +132,6 @@ superiorEducationConclusionTaxApp.get('/metro_code', (req, res, next) => {
         });
         }
     }
-    req.result.push({id: 99, name: id2str.metroCode(99)});
 
     next();
 }, response('metro_code'));
@@ -444,10 +441,10 @@ rqf.addField({
         field: 'sexo'
     }
 }).addValue({
-    name: 'cap_code',
+    name: 'cap_code_pnad',
     table: 'pnad_novo',
     tableField: 'cod_cap',
-    resultField: 'cap_code_id',
+    resultField: 'cap_code_pnad_id',
     where: {
         relation: '=',
         type: 'integer',
@@ -575,9 +572,30 @@ function matchQueries(queryPartial, queryTotal) {
     return match;
 }
 
+function whereCondition(req) {
+    let where = "";
+    let filterId;
+    //const filters = req.query.filter.split(",");
+    const dims = req.query.dims;
+	if (dims && dims.includes("cap_code_pnad")){
+		where += `pnad_novo.cod_cap <> 99`;
+	}
+
+	console.log(where);
+    //dims.forEach((dim) => {
+        //if (dim.includes("cod_cap")) {
+            //filterId = dim.split(":")[1];
+            //where += `pnad_novo.cod_cap != 99`;
+        //}
+    //}); 
+    
+    return where;
+}
+
 superiorEducationConclusionTaxApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.querySet = [];
-    
+	let where = whereCondition(req);
+
     // Subquery para total_pop_maior_25 com filtros dinâmicos
     let totalPopMaior25ComSuperiorCompleto = req.sql.clone();
         totalPopMaior25ComSuperiorCompleto.from("pnad_novo")
@@ -586,9 +604,10 @@ superiorEducationConclusionTaxApp.get('/', rqf.parse(), rqf.build(), (req, res,
         .where("idade_morador_31_03 >= 25")
         .where("nivel_de_instruc_mais_elevad_para_o_fundam_com_duracao_9_anos = 7")
         .where("ano_ref >= 2019")
+		.where(`${where}`)
         .group("ano_ref")
         .order("ano_ref");
-    
+	
 
     // Subquery para total_pop_maior_25 com filtros dinâmicos
     let totalPopMaior25 = req.sql.clone();
@@ -597,14 +616,10 @@ superiorEducationConclusionTaxApp.get('/', rqf.parse(), rqf.build(), (req, res,
         .field("SUM(peso_domicilio_pessoas_com_cal)", "total")
         .where("idade_morador_31_03 >= 25")
         .where("ano_ref >= 2019")
+		.where(`${where}`)
         .group("ano_ref")
         .order("ano_ref");
 
-    // if (req.query.dims && req.query.dims.includes("income_range")) {
-    //     totalPopMaior19.where("faixa_rendimento_aux_tx is not null");
-    //     totalPopEdBasMaior19.where("faixa_rendimento_aux_tx is not null");
-    // }
-
     req.querySet.push(totalPopMaior25ComSuperiorCompleto);
     req.querySet.push(totalPopMaior25);
 
-- 
GitLab


From 40bbf1f7cc8477e093e941f7af9db6eec867e0fb Mon Sep 17 00:00:00 2001
From: es23 <es23@inf.ufpr.br>
Date: Wed, 30 Apr 2025 10:05:15 -0300
Subject: [PATCH 2/5] fix faixa de renda familiar per capta

---
 src/libs/routes_v1/superiorEducationConclusionTax.js | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/libs/routes_v1/superiorEducationConclusionTax.js b/src/libs/routes_v1/superiorEducationConclusionTax.js
index a8198668..0d682f12 100644
--- a/src/libs/routes_v1/superiorEducationConclusionTax.js
+++ b/src/libs/routes_v1/superiorEducationConclusionTax.js
@@ -157,6 +157,7 @@ superiorEducationConclusionTaxApp.get('/income_range', (req, res, next) => {
         });
     }
     req.result.push({id: 10, name: id2str.incomeRange(10)});
+
     next();
 }, response('income_range'));
 
@@ -580,14 +581,9 @@ function whereCondition(req) {
 	if (dims && dims.includes("cap_code_pnad")){
 		where += `pnad_novo.cod_cap <> 99`;
 	}
-
-	console.log(where);
-    //dims.forEach((dim) => {
-        //if (dim.includes("cod_cap")) {
-            //filterId = dim.split(":")[1];
-            //where += `pnad_novo.cod_cap != 99`;
-        //}
-    //}); 
+	if (dims && dims.includes("income_range")){
+		where += `pnad_novo.faixa_rendimento_aux_tx is not null`;
+	}
     
     return where;
 }
-- 
GitLab


From 5327072deb1eddc1975ca4ac52034218134db9b8 Mon Sep 17 00:00:00 2001
From: es23 <es23@inf.ufpr.br>
Date: Wed, 30 Apr 2025 10:37:51 -0300
Subject: [PATCH 3/5] fix faixa etaria

---
 src/libs/routes_v1/superiorEducationConclusionTax.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/libs/routes_v1/superiorEducationConclusionTax.js b/src/libs/routes_v1/superiorEducationConclusionTax.js
index 0d682f12..740d9a03 100644
--- a/src/libs/routes_v1/superiorEducationConclusionTax.js
+++ b/src/libs/routes_v1/superiorEducationConclusionTax.js
@@ -240,16 +240,17 @@ superiorEducationConclusionTaxApp.get('/state', (req, res, next) => {
     next();
 }, response('state'));
 
-superiorEducationConclusionTaxApp.get('/age_range', (req, res, next) => {
+superiorEducationConclusionTaxApp.get('/age_range_all', (req, res, next) => {
     req.result = []
     for (let i = 1; i < 12; i++) {
         req.result.push({
             id: i, name: id2str.ageRangeAll(i)
         });
     }
+	console.log(req.result);
 
     next();
-}, response('age_range'));
+}, response('age_range_all'));
 
 superiorEducationConclusionTaxApp.get('/location', (req, res, next) => {
     req.result = []
-- 
GitLab


From e8dce3bb2a250686ddd01a32c65267ef22c6180c Mon Sep 17 00:00:00 2001
From: es23 <es23@inf.ufpr.br>
Date: Wed, 30 Apr 2025 10:52:04 -0300
Subject: [PATCH 4/5] fix name ageRangeAll

---
 src/libs/convert/ageRangeAll.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libs/convert/ageRangeAll.js b/src/libs/convert/ageRangeAll.js
index 1ad1c54e..ebc2336a 100644
--- a/src/libs/convert/ageRangeAll.js
+++ b/src/libs/convert/ageRangeAll.js
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
 */
 
-module.exports = function ageRange(id) {
+module.exports = function ageRangeAll(id) {
     switch (id) {
         case 1:
         return '0 a 3 anos';
-- 
GitLab


From 730cd9147a44ca34af694680e8dbf3f7c876de38 Mon Sep 17 00:00:00 2001
From: es23 <es23@inf.ufpr.br>
Date: Wed, 30 Apr 2025 11:07:26 -0300
Subject: [PATCH 5/5] fix filtro faixa etaria

---
 src/libs/routes_v1/superiorEducationConclusionTax.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/libs/routes_v1/superiorEducationConclusionTax.js b/src/libs/routes_v1/superiorEducationConclusionTax.js
index 740d9a03..d345b230 100644
--- a/src/libs/routes_v1/superiorEducationConclusionTax.js
+++ b/src/libs/routes_v1/superiorEducationConclusionTax.js
@@ -242,7 +242,7 @@ superiorEducationConclusionTaxApp.get('/state', (req, res, next) => {
 
 superiorEducationConclusionTaxApp.get('/age_range_all', (req, res, next) => {
     req.result = []
-    for (let i = 1; i < 12; i++) {
+    for (let i = 7; i < 12; i++) {
         req.result.push({
             id: i, name: id2str.ageRangeAll(i)
         });
@@ -585,6 +585,9 @@ function whereCondition(req) {
 	if (dims && dims.includes("income_range")){
 		where += `pnad_novo.faixa_rendimento_aux_tx is not null`;
 	}
+	if (dims && dims.includes("age_range_superior")){
+		where += `pnad_novo.faixa_etaria > 6`;
+	}
     
     return where;
 }
-- 
GitLab