diff --git a/src/libs/convert/pfe.js b/src/libs/convert/pfe.js new file mode 100644 index 0000000000000000000000000000000000000000..a1a8a6fc6da297ab59997f7c3910c6e859a39c20 --- /dev/null +++ b/src/libs/convert/pfe.js @@ -0,0 +1,17 @@ +module.exports = function pfeName(id) { + switch(id) { + case 1: return 'População fora da escola menor de 1 ano'; + case 2: return 'População fora da escola 1 ano'; + case 3: return 'População fora da escola 2 anos'; + case 4: return 'População fora da escola 3 anos'; + case 5: return 'População fora da escola 4 anos'; + case 6: return 'População fora da escola 5 anos'; + case 7: return 'População fora da escola 6 e 10 anos sem instrução com EF incompleto'; + case 8: return 'População fora da escola 11 a 14 anos sem instrução'; + case 9: return 'População fora da escola 11 a 14 anos com EF incomplet'; + case 10: return 'População fora da escola 15 a 24 anos com EF completo EM incompleto'; + case 11: return 'População fora da escola 15 anos mais sem instrução'; + case 12: return 'População fora da escola 15 anos mais EF incompleto'; + case 13: return 'População fora da escola 25 anos mais EF completo EM incompleto'; + } +}; \ No newline at end of file diff --git a/src/libs/middlewares/id2str.js b/src/libs/middlewares/id2str.js index 30bf81229a8933029900ada49c50df2ab6e5c7a6..cb4c8cc1553ae711719878eb84d30ec29d3e993c 100644 --- a/src/libs/middlewares/id2str.js +++ b/src/libs/middlewares/id2str.js @@ -32,6 +32,7 @@ const transportationManager = require(`${libs}/convert/transportationManager`); const specialClass = require(`${libs}/convert/booleanVariable`); const integralTime = require(`${libs}/convert/integralTime`); const educationLevelSchoolYear = require(`${libs}/convert/educationLevelSchoolYear`); +const pfe = require(`${libs}/convert/pfe`); const ids = { gender_id: gender, @@ -75,6 +76,7 @@ const ids = { transportation_manager_id: transportationManager, special_class_id: specialClass, education_level_school_year_id: educationLevelSchoolYear, + pfe_id: pfe, }; function transform(removeId=false) { diff --git a/src/libs/routes/outOfSchool.js b/src/libs/routes/outOfSchool.js index d7e3915a624bac28541ecbe2460f8ae54d8e0e0c..c877d2ff775e1674f5e90a42eac4e2e588e8478f 100644 --- a/src/libs/routes/outOfSchool.js +++ b/src/libs/routes/outOfSchool.js @@ -240,4 +240,70 @@ outOfSchoolApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { next(); }, query, addMissing(rqf), id2str.transform(), response('out_of_school')); +// Versão para o SimCAQ +let simcaqRqf = new ReqQueryFields(); + +simcaqRqf.addField({ + name: 'filter', + field: false, + where: true +}).addField({ + name: 'dims', + field: true, + where: false +}).addValue({ + name: 'state', + table: 'populacao_fora_da_escola', + tableField: 'unidade_federativa', + resultField: 'state_id', + where: { + relation: '=', + type: 'integer', + field: 'unidade_federativa' + } +}).addValue({ + name: 'pfe', + table: 'populacao_fora_da_escola', + tableField: 'codigo_pfe', + resultField: 'pfe_id', + where: { + relation: '=', + type: 'integer', + field: 'codigo_pfe' + } +}).addValue({ + name: 'min_year', + table: 'populacao_fora_da_escola', + tableField: 'ano_censo', + resultField: 'year', + where: { + relation: '>=', + type: 'integer', + table: 'populacao_fora_da_escola', + field: 'ano_censo' + } +}).addValue({ + name: 'max_year', + table: 'populacao_fora_da_escola', + tableField: 'ano_censo', + resultField: 'year', + where: { + relation: '<=', + type: 'integer', + table: 'populacao_fora_da_escola', + field: 'ano_censo' + } +}); + +outOfSchoolApp.get('/simcaq', simcaqRqf.parse(), simcaqRqf.build(), (req, res, next) => { + req.sql.from('populacao_fora_da_escola') + .field('SUM(populacao_fora_da_escola.pop_fora_escola)', 'total') + .field("'Brasil'", 'name') + .field('populacao_fora_da_escola.ano_censo') + .group('populacao_fora_da_escola.ano_censo') + .order('populacao_fora_da_escola.ano_censo'); + + next(); +}, query, addMissing(simcaqRqf), id2str.transform(), response('out_of_school')); + module.exports = outOfSchoolApp;