diff --git a/src/libs/routes/location.js b/src/libs/routes/location.js index a42892721a38812a51983d6d12850f55beac50f8..241fdcace15a47a1dd9e90c7ac53cb416a60a327 100644 --- a/src/libs/routes/location.js +++ b/src/libs/routes/location.js @@ -15,14 +15,21 @@ const response = require(`${libs}/middlewares/response`); const locationApp = express(); function locationIdToStr(locationId) { - let locationStr = 'Todas'; + let locationStr = 'Total'; switch(locationId) { case 1: - locationStr = 'Urbana'; - break; + locationStr = 'Urbana'; break; case 2: - locationStr = 'Rural'; - break; + locationStr = 'Rural'; break; + case 3: + locationStr = 'Ãrea de assentamento'; break; + case 4: + locationStr = 'Terra indÃgena'; break; + case 5: + locationStr = 'Ãrea remanescente de quilombos'; break; + case 6: + locationStr = 'Unidade de uso sustentável'; break; + } return locationStr; } @@ -33,7 +40,7 @@ locationApp.get('/sociodemographic', (req, res, next) => { .from('ibge_populacao'); const populationQry = squel.select() - .field('\'Brasil\'', 'location') + .field('\'Brasil\'', 'name') .field('SUM(populacao)', 'population') .field('ibge_populacao.ano_censo') .from('ibge_populacao') @@ -45,7 +52,7 @@ locationApp.get('/sociodemographic', (req, res, next) => { .from('ibge_pib'); const pibQry = squel.select() - .field('\'Brasil\'', 'location') + .field('\'Brasil\'', 'name') .field('AVG(ibge_pib.pib_per_capita)', 'gdp_per_capita') .field('ibge_pib.ano_censo') .from('ibge_pib') @@ -57,7 +64,7 @@ locationApp.get('/sociodemographic', (req, res, next) => { .from('adh_idh'); const idhQry = squel.select() - .field('\'Brasil\'', 'location') + .field('\'Brasil\'', 'name') .field('AVG(idhm)', 'idhm') .field('adh_idh.ano_censo') .from('adh_idh') @@ -69,7 +76,7 @@ locationApp.get('/sociodemographic', (req, res, next) => { .from('adh_analfabetismo'); const analfabQry = squel.select() - .field('\'Brasil\'', 'location') + .field('\'Brasil\'', 'name') .field('AVG(t_analf15m)', 'analfabetism') .field('adh_analfabetismo.ano_censo') .from('adh_analfabetismo') @@ -81,7 +88,7 @@ locationApp.get('/sociodemographic', (req, res, next) => { .from('adh_gini'); const giniQry = squel.select() - .field('\'Brasil\'', 'location') + .field('\'Brasil\'', 'name') .field('AVG(gini)', 'gini') .field('adh_gini.ano_censo') .from('adh_gini') @@ -114,7 +121,7 @@ locationApp.get('/sociodemographic/region/:id', (req, res, next) => { .from('ibge_populacao'); const populationQry = squel.select() - .field('regiao.nome', 'location') + .field('regiao.nome', 'name') .field('SUM(populacao)', 'population') .field('ano_censo', 'census_year') .from('ibge_populacao') @@ -135,7 +142,7 @@ locationApp.get('/sociodemographic/region/:id', (req, res, next) => { .from('ibge_pib'); const pibQry = squel.select() - .field('regiao.nome', 'location') + .field('regiao.nome', 'name') .field('AVG(ibge_pib.pib_per_capita)', 'gdp_per_capita') .field('ano_censo', 'census_year') .from('ibge_pib') @@ -156,7 +163,7 @@ locationApp.get('/sociodemographic/region/:id', (req, res, next) => { .from('adh_idh'); const idhQry = squel.select() - .field('regiao.nome', 'location') + .field('regiao.nome', 'name') .field('AVG(idhm)', 'idhm') .field('ano_censo', 'census_year') .from('adh_idh') @@ -177,7 +184,7 @@ locationApp.get('/sociodemographic/region/:id', (req, res, next) => { .from('adh_analfabetismo'); const analfabQry = squel.select() - .field('regiao.nome', 'location') + .field('regiao.nome', 'name') .field('AVG(t_analf15m)', 'analfabetism') .field('ano_censo', 'census_year') .from('adh_analfabetismo') @@ -198,7 +205,7 @@ locationApp.get('/sociodemographic/region/:id', (req, res, next) => { .from('adh_gini'); const giniQry = squel.select() - .field('regiao.nome', 'location') + .field('regiao.nome', 'name') .field('AVG(gini)', 'gini') .field('ano_censo', 'census_year') .from('adh_gini') @@ -240,7 +247,7 @@ locationApp.get('/sociodemographic/state/:id', (req, res, next) => { .from('ibge_populacao'); // load all cities by state and compute the sociodemographic and educational information const populationQry = squel.select() - .field('estado.nome', 'location') + .field('estado.nome', 'name') .field('SUM(populacao)', 'population') .field('ibge_populacao.ano_censo', 'census_year') .from('ibge_populacao') @@ -259,7 +266,7 @@ locationApp.get('/sociodemographic/state/:id', (req, res, next) => { .from('ibge_pib'); const pibQry = squel.select() - .field('estado.nome', 'location') + .field('estado.nome', 'name') .field('AVG(ibge_pib.pib_per_capita)', 'gdp_per_capita') .field('ibge_pib.ano_censo', 'census_year') .from('ibge_pib') @@ -278,7 +285,7 @@ locationApp.get('/sociodemographic/state/:id', (req, res, next) => { .from('adh_idh'); const idhQry = squel.select() - .field('estado.nome', 'location') + .field('estado.nome', 'name') .field('AVG(idhm)', 'idhm') .field('adh_idh.ano_censo', 'census_year') .from('adh_idh') @@ -297,7 +304,7 @@ locationApp.get('/sociodemographic/state/:id', (req, res, next) => { .from('adh_analfabetismo'); const analfabQry = squel.select() - .field('estado.nome', 'location') + .field('estado.nome', 'name') .field('AVG(t_analf15m)', 'analfabetism') .field('adh_analfabetismo.ano_censo', 'census_year') .from('adh_analfabetismo') @@ -316,7 +323,7 @@ locationApp.get('/sociodemographic/state/:id', (req, res, next) => { .from('adh_gini'); const giniQry = squel.select() - .field('estado.nome', 'location') + .field('estado.nome', 'name') .field('AVG(gini)', 'gini') .field('adh_gini.ano_censo', 'census_year') .from('adh_gini') @@ -356,7 +363,7 @@ locationApp.get('/sociodemographic/city/:id', (req, res, next) => { .from('ibge_populacao'); // load all cities by state and compute the sociodemographic and educational information const populationQry = squel.select() - .field('municipio.nome', 'location') + .field('municipio.nome', 'name') .field('SUM(populacao)', 'population') .field('ibge_populacao.ano_censo', 'census_year') .from('ibge_populacao') @@ -373,7 +380,7 @@ locationApp.get('/sociodemographic/city/:id', (req, res, next) => { .from('ibge_pib'); const pibQry = squel.select() - .field('municipio.nome', 'location') + .field('municipio.nome', 'name') .field('AVG(ibge_pib.pib_per_capita)', 'gdp_per_capita') .field('ibge_pib.ano_censo', 'census_year') .from('ibge_pib') @@ -390,7 +397,7 @@ locationApp.get('/sociodemographic/city/:id', (req, res, next) => { .from('adh_idh'); const idhQry = squel.select() - .field('municipio.nome', 'location') + .field('municipio.nome', 'name') .field('AVG(idhm)', 'idhm') .field('adh_idh.ano_censo', 'census_year') .from('adh_idh') @@ -407,7 +414,7 @@ locationApp.get('/sociodemographic/city/:id', (req, res, next) => { .from('adh_analfabetismo'); const analfabQry = squel.select() - .field('municipio.nome', 'location') + .field('municipio.nome', 'name') .field('AVG(t_analf15m)', 'analfabetism') .field('adh_analfabetismo.ano_censo', 'census_year') .from('adh_analfabetismo') @@ -424,7 +431,7 @@ locationApp.get('/sociodemographic/city/:id', (req, res, next) => { .from('adh_gini'); const giniQry = squel.select() - .field('municipio.nome', 'location') + .field('municipio.nome', 'name') .field('AVG(gini)', 'gini') .field('adh_gini.ano_censo', 'census_year') .from('adh_gini') @@ -461,17 +468,25 @@ locationApp.get('/educational', (req, res, next) => { .toString(); const totalSchoolsQry = squel.select() + .field('\'Brasil\'', 'name') .field('0', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') - .where(`escola.ano_censo IN (${censusYearQry})`); + .where(`escola.ano_censo IN (${censusYearQry})`) + .where('escola.id_tipo_turma = 0') + .group('escola.ano_censo'); const schoolsPerLocationQry = squel.select() - .field('escola.id_localizacao', 'location') + .field('\'Brasil\'', 'name') + .field('escola.tipo_localizacao', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') .where(`escola.ano_censo IN (${censusYearQry})`) - .group('escola.id_localizacao'); + .where('escola.id_tipo_turma = 0') + .group('escola.tipo_localizacao') + .group('escola.ano_censo'); const queries = [totalSchoolsQry, schoolsPerLocationQry].map((qry) => { return sqlQuery(qry.toString()); @@ -503,9 +518,10 @@ locationApp.get('/educational/region/:id', (req, res, next) => { .toString(); const totalSchoolsQry = squel.select() - .field('regiao.nome') + .field('regiao.nome', 'name') .field('0', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') .from('estado') .from('regiao') @@ -513,12 +529,15 @@ locationApp.get('/educational/region/:id', (req, res, next) => { .where('estado.fk_regiao_id = regiao.pk_regiao_id') .where(`regiao.pk_regiao_id = ${regionId}`) .where(`escola.ano_censo IN (${censusYearQry})`) - .group('regiao.nome'); + .where('escola.id_tipo_turma = 0') + .group('regiao.nome') + .group('escola.ano_censo'); const schoolsPerLocationQry = squel.select() - .field('regiao.nome') - .field('escola.id_localizacao', 'location') + .field('regiao.nome', 'name') + .field('escola.tipo_localizacao', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') .from('estado') .from('regiao') @@ -526,8 +545,10 @@ locationApp.get('/educational/region/:id', (req, res, next) => { .where('estado.fk_regiao_id = regiao.pk_regiao_id') .where(`regiao.pk_regiao_id = ${regionId}`) .where(`escola.ano_censo IN (${censusYearQry})`) + .where('escola.id_tipo_turma = 0') .group('regiao.nome') - .group('escola.id_localizacao'); + .group('escola.tipo_localizacao') + .group('escola.ano_censo'); const queries = [totalSchoolsQry, schoolsPerLocationQry].map((qry) => { return sqlQuery(qry.toString()); @@ -559,27 +580,33 @@ locationApp.get('/educational/state/:id', (req, res, next) => { .toString(); const totalSchoolsQry = squel.select() - .field('estado.nome') + .field('estado.nome', 'name') .field('0', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') .from('estado') .where('escola.fk_estado_id = estado.pk_estado_id') .where(`escola.fk_estado_id = ${stateId}`) .where(`escola.ano_censo IN (${censusYearQry})`) - .group('estado.nome'); + .where('escola.id_tipo_turma = 0') + .group('estado.nome') + .group('escola.ano_censo'); const schoolsPerLocationQry = squel.select() - .field('estado.nome') - .field('escola.id_localizacao', 'location') + .field('estado.nome', 'name') + .field('escola.tipo_localizacao', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') .from('estado') .where('escola.fk_estado_id = estado.pk_estado_id') .where(`escola.fk_estado_id = ${stateId}`) .where(`escola.ano_censo IN (${censusYearQry})`) + .where('escola.id_tipo_turma = 0') .group('estado.nome') - .group('escola.id_localizacao'); + .group('escola.tipo_localizacao') + .group('escola.ano_censo'); const queries = [totalSchoolsQry, schoolsPerLocationQry].map((qry) => { return sqlQuery(qry.toString()); @@ -611,27 +638,33 @@ locationApp.get('/educational/city/:id', (req, res, next) => { .toString(); const totalSchoolsQry = squel.select() - .field('municipio.nome') + .field('municipio.nome', 'name') .field('0', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') .from('municipio') .where('escola.fk_municipio_id = municipio.pk_cod_ibge') .where(`escola.fk_municipio_id = ${cityId}`) .where(`escola.ano_censo IN (${censusYearQry})`) - .group('municipio.nome'); + .where('escola.id_tipo_turma = 0') + .group('municipio.nome') + .group('escola.ano_censo'); const schoolsPerLocationQry = squel.select() - .field('municipio.nome') - .field('escola.id_localizacao', 'location') + .field('municipio.nome', 'name') + .field('escola.tipo_localizacao', 'location') .field('COUNT(DISTINCT(escola.cod_entidade))', 'total') + .field('escola.ano_censo', 'census_year') .from('escola') .from('municipio') .where('escola.fk_municipio_id = municipio.pk_cod_ibge') .where(`escola.fk_municipio_id = ${cityId}`) .where(`escola.ano_censo IN (${censusYearQry})`) + .where('escola.id_tipo_turma = 0') .group('municipio.nome') - .group('escola.id_localizacao'); + .group('escola.tipo_localizacao') + .group('escola.ano_censo'); const queries = [totalSchoolsQry, schoolsPerLocationQry].map((qry) => { return sqlQuery(qry.toString());