From 8d8d390e2d2a5277ea6efcbe4cc5a56c8c3923b8 Mon Sep 17 00:00:00 2001 From: Victor Picussa <vic_picussa2@hotmail.com> Date: Thu, 7 May 2020 17:45:04 -0300 Subject: [PATCH] Added CINE dimension --- src/libs/convert/cineDetailed.js | 199 +++++++++++++++++++++++++++++++ src/libs/convert/cineGeral.js | 48 ++++++++ src/libs/convert/cineSpecific.js | 99 +++++++++++++++ src/libs/middlewares/id2str.js | 15 ++- src/libs/routes/courseCount.js | 49 ++++++++ 5 files changed, 408 insertions(+), 2 deletions(-) create mode 100644 src/libs/convert/cineDetailed.js create mode 100644 src/libs/convert/cineGeral.js create mode 100644 src/libs/convert/cineSpecific.js diff --git a/src/libs/convert/cineDetailed.js b/src/libs/convert/cineDetailed.js new file mode 100644 index 00000000..e1211704 --- /dev/null +++ b/src/libs/convert/cineDetailed.js @@ -0,0 +1,199 @@ +/* +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 cineDetailed(id) { + switch (id) { + case 11: + return 'Programas básicos'; + case 111: + return 'Ciência da educação'; + case 112: + return 'Formação de professores de educação infantil'; + case 113: + return 'Formação de professores sem áreas especÃficas'; + case 114: + return 'Formação de professores em áreas especÃficas (exceto Letras)'; + case 115: + return 'Formação de professores de letras'; + case 188: + return 'Programas interdisciplinares abrangendo educação'; + case 211: + return 'Produção audiovisual, de mÃdia e cultural'; + case 212: + return 'Moda, design de interiores e desenho industrial'; + case 213: + return 'Belas artes'; + case 214: + return 'Artesanato'; + case 215: + return 'Música e artes cênicas'; + case 221: + return 'Religião e teologia'; + case 222: + return 'História e arqueologia'; + case 223: + return 'Filosofia e ética'; + case 231: + return 'Letras'; + case 288: + return 'Programas interdisciplinares abrangendo artes e humanidades'; + case 311: + return 'Economia'; + case 312: + return 'Ciências sociais e polÃticas'; + case 313: + return 'Psicologia'; + case 321: + return 'Jornalismo e reportagem'; + case 322: + return 'Biblioteconomia, informação e estudos arquivÃsticos'; + case 388: + return 'Programas interdisciplinares abrangendo ciências sociais, jornalismo e informação'; + case 411: + return 'Contabilidade e tributação'; + case 412: + return 'Finanças, bancos e seguros'; + case 413: + return 'Gestão e administração'; + case 414: + return 'Marketing e propaganda'; + case 415: + return 'Secretariado e trabalhos de escritório'; + case 416: + return 'Gestão comercial'; + case 421: + return 'Direito'; + case 488: + return 'Programas interdisciplinares abrangendo negócios, administração e direito'; + case 511: + return 'Biologia'; + case 512: + return 'BioquÃmica e biotecnologia'; + case 521: + return 'Ciências ambientais'; + case 531: + return 'QuÃmica'; + case 532: + return 'Ciências da terra'; + case 533: + return 'FÃsica'; + case 541: + return 'Matemática'; + case 542: + return 'EstatÃstica'; + case 588: + return 'Programas interdisciplinares abrangendo ciências naturais, matemática e estatÃstica'; + case 612: + return 'Infraestrutura e gestão de TIC'; + case 613: + return 'Produção de software'; + case 614: + return 'Ciência da computação'; + case 615: + return 'Gestão e desenvolvimento de sistemas de informação'; + case 616: + return 'Desenvolvimento de sistemas que integram software e hardware'; + case 688: + return 'Programas interdisciplinares abrangendo computação e Tecnologias da Informação e Comunicação (TIC)'; + case 710: + return 'Engenharia e profissões correlatas sem definição precisa'; + case 711: + return 'Engenharia quÃmica e de processos'; + case 712: + return 'Tecnologia de proteção ambiental'; + case 713: + return 'Eletricidade e energia'; + case 714: + return 'Eletrônica e automação'; + case 715: + return 'Engenharia mecânica e metalurgia'; + case 716: + return 'VeÃculos a motor, construção naval, aeronáutica, ferroviária e metroviária'; + case 721: + return 'Processamento de alimentos'; + case 722: + return 'Materiais'; + case 723: + return 'Têxteis (vestuário, calçados e couro)'; + case 724: + return 'Mineração e extração'; + case 725: + return 'Produção e processos de fabricação'; + case 731: + return 'Arquitetura e planejamento urbano'; + case 732: + return 'Engenharia civil e construção'; + case 788: + return 'Programas interdisciplinares abrangendo engenharia, produção e construção'; + case 811: + return 'Produção agrÃcola, agropecuária e zootecnia'; + case 812: + return 'Horticultura'; + case 821: + return 'Silvicultura'; + case 831: + return 'Pesca'; + case 841: + return 'Veterinária'; + case 888: + return 'Programas interdisciplinares abrangendo agricultura, silvicultura, pesca e veterinária'; + case 911: + return 'Odontologia'; + case 912: + return 'Medicina'; + case 913: + return 'Enfermagem'; + case 914: + return 'Tecnologia de diagnóstico e tratamento médico'; + case 915: + return 'Promoção, prevenção, terapia e reabilitação'; + case 916: + return 'Farmácia'; + case 917: + return 'Medicina e terapia tradicional e complementar'; + case 918: + return 'Saúde pública e saúde coletiva'; + case 921: + return 'Assistência a idosos e a deficientes'; + case 923: + return 'Serviço social'; + case 988: + return 'Programas interdisciplinares abrangendo saúde e bem-estar'; + case 1011: + return 'Serviços domésticos'; + case 1012: + return 'Serviços de beleza'; + case 1013: + return 'Serviços de alimentação'; + case 1014: + return 'Esportes e lazer'; + case 1015: + return 'Turismo e hotelaria'; + case 1022: + return 'Saúde e segurança no trabalho'; + case 1031: + return 'Setor militar e de defesa'; + case 1032: + return 'Proteção de pessoas e de propriedades'; + case 1041: + return 'Serviços de transporte'; + default: + return 'Não classificada'; + } +}; \ No newline at end of file diff --git a/src/libs/convert/cineGeral.js b/src/libs/convert/cineGeral.js new file mode 100644 index 00000000..4f38e88a --- /dev/null +++ b/src/libs/convert/cineGeral.js @@ -0,0 +1,48 @@ +/* +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 cineGeral(id) { + switch (id) { + case 0: + return 'Programas básicos'; + case 1: + return 'Educação'; + case 2: + return 'Artes e humanidades'; + case 3: + return 'Ciências sociais, jornalismo e informação'; + case 4: + return 'Negócios, administração e direito'; + case 5: + return 'Ciências naturais, matemática e estatÃstica'; + case 6: + return 'Computação e Tecnologias da Informação e Comunicação (TIC)'; + case 7: + return 'Engenharia, produção e construção'; + case 8: + return 'Agricultura, silvicultura, pesca e veterinária'; + case 9: + return 'Saúde e bem-estar'; + case 10: + return 'Serviços'; + default: + return 'Não classificada'; + } +}; diff --git a/src/libs/convert/cineSpecific.js b/src/libs/convert/cineSpecific.js new file mode 100644 index 00000000..8c900c35 --- /dev/null +++ b/src/libs/convert/cineSpecific.js @@ -0,0 +1,99 @@ +/* +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: +return '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 cineSpecific(id) { + switch (id) { + case 1: + return 'Programas básicos'; + case 11: + return 'Educação'; + case 18: + return 'Programas interdisciplinares abrangendo educação'; + case 21: + return 'Artes'; + case 22: + return 'Humanidades (exceto lÃnguas)'; + case 23: + return 'LÃnguas'; + case 28: + return 'Programas interdisciplinares abrangendo artes e humanidades'; + case 31: + return 'Ciências sociais e comportamentais'; + case 32: + return 'Jornalismo e informação'; + case 38: + return 'Programas interdisciplinares abrangendo ciências sociais, jornalismo e informação'; + case 41: + return 'Negócios e administração'; + case 42: + return 'Direito'; + case 48: + return 'Programas interdisciplinares abrangendo negócios, administração e direito'; + case 51: + return 'Ciências biológicas e correlatas'; + case 52: + return 'Meio ambiente'; + case 53: + return 'Ciências fÃsicas'; + case 54: + return 'Matemática e estatÃstica'; + case 58: + return 'Programas interdisciplinares abrangendo ciências naturais, matemática e estatÃstica'; + case 61: + return 'Computação e Tecnologias da Informação e Comunicação (TIC)'; + case 68: + return 'Programas interdisciplinares abrangendo computação e Tecnologias da Informação e Comunicação (TIC)'; + case 71: + return 'Engenharia e profissões correlatas'; + case 72: + return 'Produção e processamento'; + case 73: + return 'Arquitetura e construção'; + case 78: + return 'Programas interdisciplinares abrangendo engenharia, produção e construção'; + case 81: + return 'Agricultura'; + case 82: + return 'Silvicultura'; + case 83: + return 'Pesca'; + case 84: + return 'Veterinária'; + case 88: + return 'Programas interdisciplinares abrangendo agricultura, silvicultura, pesca e veterinária'; + case 91: + return 'Saúde'; + case 92: + return 'Bem-estar'; + case 98: + return 'Programas interdisciplinares abrangendo saúde e bem-estar'; + case 101: + return 'Serviços pessoais'; + case 102: + return 'Higiene e serviços de saúde ocupacional'; + case 103: + return 'Serviços de segurança'; + case 104: + return 'Serviços de transporte'; + default: + return 'Não classificada'; + } +}; diff --git a/src/libs/middlewares/id2str.js b/src/libs/middlewares/id2str.js index 327ce2a4..78fd170d 100644 --- a/src/libs/middlewares/id2str.js +++ b/src/libs/middlewares/id2str.js @@ -61,6 +61,9 @@ const academicOrganization = require(`${libs}/convert/academicOrganization`); const ocdeSpecific = require(`${libs}/convert/ocdeSpecific`); const ocdeGeral = require(`${libs}/convert/ocdeGeral`); const ocdeDetailed = require(`${libs}/convert/ocdeDetailed`); +const cineSpecific = require(`${libs}/convert/cineSpecific`); +const cineGeral = require(`${libs}/convert/cineGeral`); +const cineDetailed = require(`${libs}/convert/cineDetailed`); const academicLevel = require(`${libs}/convert/academicLevel`); const upperEducationMod = require(`${libs}/convert/upperEducationMod`); const studentDeficiency = require(`${libs}/convert/studentDeficiency`); @@ -80,6 +83,7 @@ const genderIES = require(`${libs}/convert/genderIES`); const deficiency = require(`${libs}/convert/studentDeficiency`); const govermentAgreement = require(`${libs}/convert/govermentAgreement`); const arrangement = require(`${libs}/convert/arrangement`); +const nightTime = require(`${libs}/convert/nightTime`); const ids = { gender_id: gender, @@ -129,13 +133,16 @@ const ids = { ocde_specific_id: ocdeSpecific, ocde_geral_id: ocdeGeral, ocde_detailed_id: ocdeDetailed, + cine_specific_id: cineSpecific, + cine_geral_id: cineGeral, + cine_detailed_id: cineDetailed, academic_level_id: academicLevel, upper_education_mod_id: upperEducationMod, student_deficiency_id: studentDeficiency, school_type_id: schoolType, upper_turn_id: upperTurn, is_free_id: booleanVariable, - night_time_id: booleanVariable, + night_time_id: nightTime, capital_id: booleanVariable, ethnic_group_ies_id: ethnicGroupIES, teacher_situation_id: teacherSituation, @@ -231,6 +238,9 @@ module.exports = { ocdeSpecific, ocdeGeral, ocdeDetailed, + cineSpecific, + cineGeral, + cineDetailed, academicLevel, upperEducationMod, studentDeficiency, @@ -251,5 +261,6 @@ module.exports = { deficiency, transport, govermentAgreement, - arrangement + arrangement, + nightTime }; diff --git a/src/libs/routes/courseCount.js b/src/libs/routes/courseCount.js index 15cb9a16..53b33ede 100644 --- a/src/libs/routes/courseCount.js +++ b/src/libs/routes/courseCount.js @@ -127,6 +127,55 @@ courseCountApp.get('/ocde_detailed', (req, res, next) => { next(); }, response('ocde_detailed')); +courseCountApp.get('/cine_geral', (req, res, next) => { + req.result = []; + for(let i = 0; i <= 10; ++i) { + req.result.push({ + id: i, + name: id2str.cineGeral(i) + }); + }; + next(); +}, response('cine_geral')); + +courseCountApp.get('/cine_specific', (req, res, next) => { + req.result = []; + const defaultCase = null; + for(let i = 1; i <= 104; ++i) { + let obj = { + id: i, + name: id2str.cineSpecific(i) + }; + if (obj.name !== id2str.cineSpecific(defaultCase)){ + req.result.push(obj); + } + }; + req.result.push({ + id: defaultCase, + name: id2str.cineSpecific(defaultCase) + }); + next(); +}, response('cine_specific')); + +courseCountApp.get('/cine_detailed', (req, res, next) => { + req.result = []; + const defaultCase = null; + for(let i = 11; i <= 1041; ++i) { + let obj = { + id: i, + name: id2str.cineDetailed(i) + }; + if (obj.name !== id2str.cineDetailed(defaultCase)){ + req.result.push(obj); + } + }; + req.result.push({ + id: defaultCase, + name: id2str.cineDetailed(defaultCase) + }); + next(); +}, response('cine_detailed')); + courseCountApp.get('/academic_level', (req, res, next) => { req.result = []; for(let i = 1; i <= 4; ++i) { -- GitLab