Skip to content
Snippets Groups Projects
Commit 15400c60 authored by es23's avatar es23 :coffee:
Browse files

age_range_cescu

parent ffe11074
Branches
No related tags found
2 merge requests!502Development,!492Indicador Número de Matrículas do Ensino Superior (novo)
/*
Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
This file is part of simcaq-node.
simcaq-node is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
simcaq-node is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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) {
switch (id) {
case 1:
return 'Até 17 anos de idade';
case 2:
return 'De 18 a 24 anos de idade';
case 3:
return 'De 25 a 29 anos de idade';
case 4:
return 'De 30 a 34 anos de idade';
case 5:
return 'De 35 a 39 anos de idade';
case 6:
return 'De 40 a 49 anos de idade';
case 7:
return 'De 50 a 59 anos de idade';
case 8:
return 'De 60 ou mais anos de idade';
default:
return 'Não declarada';
}
};
......@@ -35,7 +35,9 @@ const convert = {
contract_type_entity: 'contractType',
total_doc: "totalDoc",
education_degree_entity: "educationDegreeEntity",
government_agreement: "governmentAgreement"
government_agreement: "governmentAgreement",
school_type: "schoolType",
age_range_cescu: "ageRangeCescu"
}
function aggregateData(req, res, next) {
......@@ -62,7 +64,8 @@ function aggregateData(req, res, next) {
'age_range_entity',
'post_graduation_entity',
'contract_type_entity',
'education_degree_entity'
'education_degree_entity',
'age_range_cescu'
]
let id;
const fields = req.query.dims.split(',');
......
......@@ -43,6 +43,7 @@ const contractType = require(`${libs}/convert/contractType`);
const ethnicGroupPnad = require(`${libs}/convert/ethnicGroupPnad`);
const ageRange = require(`${libs}/convert/ageRange`);
const ageRangeAll = require(`${libs}/convert/ageRangeAll`);
const ageRangeCescu = require(`${libs}/convert/ageRangeCescu`);
const ageStudentCode = require(`${libs}/convert/ageStudentCode`);
const fullAgeRange = require(`${libs}/convert/fullAgeRange`);
const genderPnad = require(`${libs}/convert/genderPnad`);
......@@ -164,6 +165,7 @@ const ids = {
age_range_all_id: ageRangeAll,
age_range_aggregate_id: ageRangeAggregate,
full_age_range_id: fullAgeRange,
age_range_cescu_id: ageRangeCescu,
gender_pnad_id: genderPnad,
fifth_household_income_id: fifthHouseholdIncome,
extremes_household_income_id: extremesHouseholdIncome,
......@@ -312,6 +314,7 @@ module.exports = {
ageRange,
ageRangeAggregate,
ageRangeAll,
ageRangeCescu,
ageStudentCode,
fullAgeRange,
genderPnad,
......
......@@ -171,7 +171,6 @@ const adjustedLiquidFrequency = require(`${libs}/routes_v1/adjustedLiquidFrequen
const iliteracyRate = require(`${libs}/routes_v1/iliteracyRate`);
// comentei para ver se o api.get abaixo ia dar certo (nao deu)
const superiorEnrollmentAggregate = require(`${libs}/routes_v1/superiorEnrollmentAggregate`);
api.get('/', (req, res) => {
......
......@@ -246,282 +246,142 @@ rqf.addField({
name: 'dims',
field: true,
where: false
}).addValue({
name: 'adm_dependency',
table: 'escola',
tableField: 'dependencia_adm_id',
resultField: 'adm_dependency_id',
where: {
relation: '=',
type: 'integer',
field: 'dependencia_adm_id'
}
}).addValue({
name: 'adm_dependency_detailed',
table: 'escola',
tableField: 'dependencia_adm_priv',
resultField: 'adm_dependency_detailed_id',
where: {
relation: '=',
type: 'integer',
field: 'dependencia_adm_priv'
}
}).addValue({
name: 'education_level_mod',
table: 'escola',
tableField: 'etapas_mod_ensino_segmento_id',
resultField: 'education_level_mod_id',
where: {
relation: '=',
type: 'integer',
field: 'etapas_mod_ensino_segmento_id'
}
}).addValue({
name:'integral_time',
table: 'escola',
tableField: 'tempo_integral',
resultField: 'integral_time_id',
where: {
relation: '=',
type: 'integer',
field: 'tempo_integral'
}
}).addValue({
name: 'education_level_short',
table: 'escola',
tableField: 'etapa_resumida',
resultField: 'education_level_short_id',
where: {
relation: '=',
type: 'integer',
field: 'etapa_resumida'
}
}).addValue({
name: 'region',
table: 'regiao',
tableField: ['nome', 'id'],
resultField: ['region_name', 'region_id'],
where: {
relation: '=',
type: 'integer',
field: 'id'
},
join: {
primary: 'id',
foreign: 'regiao_id',
foreignTable: 'escola'
}
}).addValue({
name: 'mesoregion',
table: 'municipio',
tableField: ['nome_mesorregiao', 'mesorregiao_id'],
resultField: ['mesoregion_name', 'mesoregion_id'],
where: {
relation: '=',
type: 'integer',
field: 'mesorregiao_id',
table: 'municipio'
},
join: {
primary: 'id',
foreign: 'municipio_id',
foreignTable: 'escola'
}
}).addValue({
name: 'microregion',
table: 'municipio',
tableField: ['nome_microrregiao', 'microrregiao_id'],
resultField: ['microregion_name', 'microregion_id'],
where: {
relation: '=',
type: 'integer',
field: 'microrregiao_id',
table: 'municipio'
},
join: {
primary: 'id',
foreign: 'municipio_id',
foreignTable: 'escola'
}
}).addValue({
name: 'min_year',
table: 'escola',
table: 'curso_superior_agregado',
tableField: 'ano_censo',
resultField: 'year',
where: {
relation: '>=',
type: 'integer',
field: 'ano_censo',
},
field: 'ano_censo'
}
}).addValue({
name: 'max_year',
table: 'escola',
tableField: 'ano_censo',
table: 'curso_superior_agregado',
tableField: '',
resultField: 'year',
where: {
relation: '<=',
type: 'integer',
field: 'ano_censo',
},
}).addValueToField({
name: 'state',
table: 'estado',
tableField: ['nome', 'id'],
resultField: ['state_name', 'state_id'],
where: {
relation: '=',
type: 'integer',
field: 'id'
},
join: {
primary: 'id',
foreign: 'estado_id',
foreignTable: 'escola'
}
}, 'dims').addValueToField({
name: 'state',
table: 'estado',
tableField: 'nome',
resultField: 'state_name',
where: {
relation: '=',
type: 'integer',
field: 'id'
},
join: {
primary: 'id',
foreign: 'estado_id',
foreignTable: 'escola'
}
}, 'filter').addValueToField({
name: 'city',
table: 'municipio',
tableField: ['nome', 'id'],
resultField: ['city_name', 'city_id'],
where: {
relation: '=',
type: 'integer',
field: 'id'
},
join: {
primary: 'id',
foreign: 'municipio_id',
foreignTable: 'escola'
field: 'ano_censo'
}
}, 'dims').addValueToField({
name: 'city',
table: 'municipio',
tableField: 'nome',
resultField: 'city_name',
where: {
relation: '=',
type: 'integer',
field: 'id'
},
join: {
primary: 'id',
foreign: 'municipio_id',
foreignTable: 'escola'
}
}, 'filter').addValueToField({
name: 'school',
table: 'escola',
tableField: ['nome_escola', 'id'],
resultField: ['school_name', 'school_id'],
where: {
relation: '=',
type: 'integer',
field: 'id'
},
join: {
primary: ['id', 'ano_censo'],
foreign: ['escola_id', 'ano_censo'],
foreignTable: 'escola'
}
}, 'dims').addValueToField({
name: 'locale_id',
table: 'escola',
tableField: 'localizacao_id',
resultField: 'locale_id',
}).addValue({
name: 'tp_categ_adm',
table: 'curso_superior_agregado',
tableField: 'tp_categ_adm',
resultField: 'tp_categ_adm',
where: {
relation: '=',
type: 'integer',
field: 'localizacao_id'
field: 'tp_categ_adm'
}
}, 'dims').addValueToField({
name: 'school_id',
table: 'escola',
tableField: 'id',
resultField: 'school_id',
}).addValue({
name: 'cine_global',
table: 'curso_superior_agregado',
tableField: ['nome_cine_area_geral', 'cod_cine_area_geral'],
resultField: ['name_cine_global', 'cod_cine_global'],
where: {
relation: '=',
type: 'integer',
field: 'id'
field: 'cod_cine_area_geral',
},
join: {
primary: ['id', 'ano_censo'],
foreign: ['escola_id', 'ano_censo'],
foreignTable: 'escola'
}
}, 'dims').addValueToField({
name: 'school',
table: 'escola',
tableField: 'nome_escola',
resultField: 'school_name',
}).addValue({
name: 'cine_sp',
table: 'curso_superior_agregado',
tableField: ['nome_cine_area_esp', 'cod_cine_area_esp'],
resultField: ['name_cine_sp', 'cod_cine_sp'],
where: {
relation: '=',
type: 'integer',
field: 'id'
},
join: {
primary: ['id', 'ano_censo'],
foreign: ['escola_id', 'ano_censo'],
foreignTable: 'escola'
field: 'cod_cine_area_esp'
}
}, 'filter').addValue({
name: 'location',
table: 'escola',
tableField: 'localizacao_id',
resultField: 'location_id',
}).addValue({
name: 'cine_deatiled',
table: 'curso_superior_agregado',
tableField: ['nome_cine_area_detalhada', 'cod_cine_area_detalhada'],
resultField: ['name_cine_detailed', 'cod_cine_detailed'],
where: {
relation: '=',
type: 'integer',
field: 'localizacao_id'
field: 'cod_cine_area_detalhada'
}
}).addValue({
name: 'diff_location',
table: 'escola',
tableField: 'localizacao_diferenciada_par',
resultField: 'diff_location_id',
name: 'graduates',
table: 'curso_superior_agregado',
tableField: 'qtd_concluintes',
resultField: 'graduates',
where: {
relation: '=',
type: 'integer',
field: 'localizacao_diferenciada_par',
field: 'qtd_concluintes'
}
}).addValue({
name: 'government_agreement',
table: 'escola',
tableField: 'dependencia_convenio_publico',
resultField: 'government_agreement_id',
name: 'disabled_students',
table: 'curso_superior_agregado',
tableField: 'qtd_aluno_deficiente',
resultField: 'disabled_students',
where: {
relation: '=',
type: 'integer',
field: 'dependencia_convenio_publico'
field: 'qtd_aluno_deficiente'
}
}).addValue({
});
superiorEnrollmentAggregateApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
if (req.query.dims && req.query.dims.includes("ethnic_group")){
req.sql.field('ano_censo', 'year')
.field('sum(qtd_mat_branca)', 'total_branca')
.field('sum(qtd_mat_preta)', 'total_preta')
.field('sum(qtd_mat_parda)', 'total_parda')
.field('sum(qtd_mat_amarela)', 'total_amarela')
.field('sum(qtd_mat_indigena)', 'total_indigena')
.field('sum(qtd_mat_cor_nao_declarada)', 'total_nd')
.from('curso_superior_agregado')
.where('tp_nivel_acad = 1')
.group('ano_censo')
.order('ano_censo');
}
else if (req.query.dims && req.query.dims.includes("school_type")){
req.sql.field('ano_censo', 'year')
.field('sum(qtd_mat_proces_publica)', 'total_publica')
.field('sum(qtd_mat_proces_privada)', 'total_privada')
.field('sum(qtd_mat_proces_nao_informada)', 'total_nao_informada')
.from('curso_superior_agregado')
.where('tp_nivel_acad = 1')
.group('ano_censo')
.order('ano_censo');
}
else if (req.query.dims && req.query.dims.includes("age_range_cescu")){
req.sql.field('ano_censo', 'year')
.field('sum(qtd_mat_0_17)', 'total_0_17')
.field('sum(qtd_mat_18_24)', 'total_18_24')
.field('sum(qtd_mat_25_29)', 'total_25_29')
.field('sum(qtd_mat_30_34)', 'total_30_34')
.field('sum(qtd_mat_35_39)', 'total_35_39')
.field('sum(qtd_mat_40_49)', 'total_40_49')
.field('sum(qtd_mat_50_59)', 'total_50_59')
.field('sum(qtd_mat_60_mais)', 'total_60_mais')
.from('curso_superior_agregado')
.where('tp_nivel_acad = 1')
.group('ano_censo')
.order('ano_censo');
}
else {
req.sql.field('ano_censo', 'Ano')
.field('sum(qtd_matriculas)', 'Número de Matrículas')
.field('SUM(qtd_matriculas)', 'Número de Matrículas')
.from('curso_superior_agregado')
.where('tp_nivel_acad = 1')
.where('qtd_cursos = 1')
.group('ano_censo')
.order('ano_censo');
}
console.log(req.sql.toString());
console.log(req.query.dims);
next();
}, query, id2str.transform(false), response('superior_enrollment_aggregate'));
}, query, aggregateData, id2str.transform(false), response('superior_enrollment_aggregate'));
module.exports = superiorEnrollmentAggregateApp;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment