From 7ffb645eb386517c28380d21bbcb8e7f580e2fb1 Mon Sep 17 00:00:00 2001
From: tgcl21 <tgcl21@inf.ufpr.br>
Date: Fri, 16 May 2025 10:02:13 -0300
Subject: [PATCH] Updated calculus

---
 src/libs/routes_v1/enrollmentRate.js | 77 ++++++++++++++++++----------
 1 file changed, 49 insertions(+), 28 deletions(-)

diff --git a/src/libs/routes_v1/enrollmentRate.js b/src/libs/routes_v1/enrollmentRate.js
index aaf2df29..d58abe81 100644
--- a/src/libs/routes_v1/enrollmentRate.js
+++ b/src/libs/routes_v1/enrollmentRate.js
@@ -255,6 +255,7 @@ rqf.addField({
 })
 
 
+
 function matchQueries(queryPartial, queryTotal) {
     let match = [];
     
@@ -278,13 +279,7 @@ function matchQueries(queryPartial, queryTotal) {
         if (escolaData && modalityMap[ageRange]) {
             const modality = modalityMap[ageRange];
             const partialValue = escolaData[modality.field] || 0;
-        
-            console.log('Partial Value:', partialValue);
-            console.log('Total Value:', pnad.total);
-            console.log('Year:', pnad.year);
-            console.log('Age Range:', ageRange);
-            console.log('Modality:', modality.name);
-            console.log('Modality ID:', modality.id);
+
             
             match.push({
                 year: pnad.year,
@@ -293,6 +288,14 @@ function matchQueries(queryPartial, queryTotal) {
                 attended_modality_id: modality.id,
                 attended_modality_name: modality.name,
                 total: ((partialValue / pnad.total) * 100).toFixed(2),
+                location_id: pnad.location_id,
+                location_name: id2str.location(pnad.location_id),
+                cod_cap_id: pnad.capital_id,
+                cod_cap_name: id2str.capitalCode(pnad.capital_id),
+                region_id: pnad.region_id,
+                region_name: id2str.regionCode(pnad.region_id),
+                state_id: pnad.state_id,
+                state_name: id2str.stateName(pnad.state_id),
             });
         } else {
             match.push({
@@ -313,20 +316,31 @@ EnrollmentRateApp.get('/', rqf.parse(), rqf.build(),  (req, res, next) => {
     req.querySet = [];
     
     
-    let whereCondition = "";
-    let filterId;
-    const filters = req.query.filter.split(",");
-    filters.forEach((filter) => {
-        if (filter.includes("min_year")) {
-            filterId = filter.split(":")[1];
-            whereCondition += `pnad_novo.ano_ref >= ${filterId}`;
-        }
-        if (filter.includes("max_year")) {
-            filterId = filter.split(":")[1];
-            whereCondition += `pnad_novo.ano_ref <= ${filterId}`;
-        }
-
-    })
+    // let whereCondition = "";
+    // let filterId;
+    // const filters = req.query.filter.split(",");
+    // filters.forEach((filter) => {
+    //     if (filter.includes("min_year")) {
+    //         filterId = filter.split(":")[1];
+    //         whereCondition += `pnad_novo.ano_ref >= ${filterId}`;
+    //     }
+    //     if (filter.includes("max_year")) {
+    //         filterId = filter.split(":")[1];
+    //         whereCondition += `pnad_novo.ano_ref <= ${filterId}`;
+    //     }
+    //     if (filter.includes("location")) {
+    //         filterId = filter.split(":")[1];
+    //         whereCondition += `pnad_novo.situacao_domicilio = ${filterId}`;
+    //     }
+    //     if (filter.includes("cod_cap")) {
+    //         filterId = filter.split(":")[1];
+    //         whereCondition += `pnad_novo.cod_cap = ${filterId}`;
+    //     }
+    //     if (filter.includes("state")) {
+    //         filterId = filter.split(":")[1];
+    //         whereCondition += `pnad_novo.region = ${filterId}`;
+    //     }
+    // })
 
 
     // let query_escola = req.sql.clone();
@@ -350,10 +364,14 @@ EnrollmentRateApp.get('/', rqf.parse(), rqf.build(),  (req, res, next) => {
     .field('sum(escola.qt_mat_fund_ai)', 'total_fund_ai')
     .field('sum(escola.qt_mat_fund_af)', 'total_fund_af')
     .field('sum(escola.qt_mat_med)', 'total_med')
+    .field('escola.localizacao_id', 'location_id')
+    .field('escola.regiao_id', 'region_id')
     .where('escola.situacao_funcionamento_pareada = 1')
     .where('(escola.ensino_regular = 1 or escola.ensino_eja = 1 or escola.educacao_profissional = 1)')
     .where('escola.ano_censo IN (2019, 2022, 2023)')
-    .group('escola.ano_censo');
+    .group('escola.localizacao_id')
+    .group('escola.ano_censo')
+    .group('escola.regiao_id');
     req.querySet.push(query_escola);
     
     let query_pnad = req.sql.clone();
@@ -361,12 +379,20 @@ EnrollmentRateApp.get('/', rqf.parse(), rqf.build(),  (req, res, next) => {
     .field('round(sum(pnad_novo.peso_domicilio_pessoas_com_cal), 0)', 'total')
     .field('pnad_novo.faixa_etaria', 'age_range')
     .field('pnad_novo.ano_ref', 'year')
+    .field('pnad_novo.situacao_domicilio', 'location_id')
+    .field('pnad_novo.cod_cap', 'capital_id')
+    .field('pnad_novo.cod_regiao', 'region_id')
+    .field('pnad_novo.cod_uf', 'state_id')
     .where('pnad_novo.ano_ref IN (2019, 2022, 2023) AND pnad_novo.faixa_etaria IN (1, 2, 3, 4, 5)')
-    .where(whereCondition)
     .group('pnad_novo.ano_ref')
     .group('pnad_novo.faixa_etaria')
+    .group('pnad_novo.situacao_domicilio')
+    .group('pnad_novo.cod_cap')
+    .group('pnad_novo.cod_regiao')
+    .group('pnad_novo.cod_uf')
     .order('pnad_novo.ano_ref')
     .order('pnad_novo.faixa_etaria');
+
     req.querySet.push(query_pnad);
 
     // let query_pnad = squel.select()
@@ -381,11 +407,6 @@ EnrollmentRateApp.get('/', rqf.parse(), rqf.build(),  (req, res, next) => {
     // .order('pnad_novo.ano_ref')
     // .order('pnad_novo.faixa_etaria');
 
-    console.log(query_escola.toString())
-    console.log(query_pnad.toString())
-
-    // req.querySet.push(query_escola);
-    // req.querySet.push(query_pnad);
     next();
 
 }, multiQuery, (req, res, next) => {
-- 
GitLab