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