Skip to content
Snippets Groups Projects
Commit 30eaaaa4 authored by Glenda Train's avatar Glenda Train
Browse files

Add unfinished transport route

parent 3e04cddc
No related branches found
No related tags found
1 merge request!128Transport Indicator
Pipeline #
......@@ -61,8 +61,11 @@ const distributionFactor = require(`${libs}/routes/distributionFactor`);
const siope = require(`${libs}/routes/siope`);
const outOfSchool = require(`${libs}/routes/outOfSchool`);
const classroomCount = require(`${libs}/routes/classroomCount`);
const transport = require(`./transport`);
api.get('/', (req, res) => {
res.json({ msg: 'SimCAQ API is running' });
});
......@@ -97,5 +100,6 @@ api.use('/distribution_factor', distributionFactor);
api.use('/siope', siope);
api.use('/out_of_school', outOfSchool);
api.use('/classroom_count', classroomCount);
api.use('/transport', transport);
module.exports = api;
const express = require('express');
const transportApp = express.Router();
const libs = `${process.cwd()}/libs`;
const log = require(`${libs}/log`)(module);
const squel = require('squel');
const query = require(`${libs}/middlewares/query`).query;
const multiQuery = require(`${libs}/middlewares/multiQuery`);
const response = require(`${libs}/middlewares/response`);
const id2str = require(`${libs}/middlewares/id2str`);
const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`);
const config = require(`${libs}/config`);
const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware;
let rqf = new ReqQueryFields();
transportApp.use(cache('15 day'));
transportApp.get('/year_range', (req, res, next) => {
req.sql.from('matricula')
.field('MIN(matricula.ano_censo)', 'start_year')
.field('MAX(matricula.ano_censo)', 'end_year');
next();
}, query, response('range'));
transportApp.get('/years', (req, res, next) => {
req.sql.from('matricula')
.field('DISTINCT matricula.ano_censo', 'year');
next();
}, query, response('years'));
transportApp.get('/adm_dependency', (req, res, next) => {
req.result = [];
for(let i = 1; i <= 4; ++i) {
req.result.push({
id: i,
name: id2str.admDependency(i)
});
};
next();
}, response('adm_dependency'));
transportApp.get('/adm_dependency_detailed', (req, res, next) => {
req.result = [];
for(let i = 1; i <= 6; ++i) {
req.result.push({
id: i,
name: id2str.admDependencyPriv(i)
});
};
next();
}, response('adm_dependency_detailed'));
transportApp.get('/location', (req, res, next) => {
req.result = [
{id: 1, name: 'Urbana'},
{id: 2, name: 'Rural'}
];
next();
}, response('location'));
transportApp.get('/rural_location', (req, res, next) => {
req.result = [
{id: 1, name: "Urbana"},
{id: 2, name: "Rural"},
{id: 3, name: "Rural - Área de assentamento"},
{id: 4, name: "Rural - Terra indígena"},
{id: 5, name: "Rural - Área remanescente de quilombos"},
{id: 6, name: "Rural - Unidade de uso sustentável"}
];
next();
}, response('rural_location'));
transportApp.get('/education_level_mod', (req, res, next) => {
req.result = [];
for(let i = 1; i <= 10; ++i) {
req.result.push({
id: i,
name: id2str.educationLevelMod(i)
});
}
req.result.push({
id: 99,
name: id2str.educationLevelMod(99)
});
next();
}, response('education_level_mod'));
transportApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
req.querySet = [];
req.queryIndex = {};
let allTransports = req.sql.clone()
.field('COUNT(matricula.id)', 'total')
.field("'Brasil'", 'name')
.field('matricula.ano_censo', 'year')
.from('matricula')
.join('turma', null, 'matricula.turma_id = turma.id AND matricula.ano_censo = turma.ano_censo')
.group('matricula.ano_censo')
.order('matricula.ano_censo')
.where('turma.tipo_turma_id <= 3');
req.queryIndex.allTransports = req.querySet.push(allTransports) - 1;
// Vans e Kombi
let allVansAndKombi = allTransports.clone();
allVansAndKombi.where('matricula.transporte_vans_kombi = 1');
req.queryIndex.allVansAndKombi = req.querySet.push(allTransports) - 1;
// // Micro-ônibus
// let allMicroBus = allTransports.clone();
// allMicroBus.where('matricula.transporte_micro_onibus = 1');
// req.queryIndex.allMicroBus = req.querySet.push(allTransports) - 1;
//
// // Ônibus
// let allBus = allTransports.clone();
// allBus.where('matricula.transporte_onibus = 1');
// req.queryIndex.allBus = req.querySet.push(allTransports) - 1;
//
// // Bicicleta
// let allBikes = allTransports.clone();
// allBikes.where('matricula.transporte_bicicleta = 1');
// req.queryIndex.allBikes = req.querySet.push(allTransports) - 1;
//
// // Tração Animal
// let allAnimalTraction = allTransports.clone();
// allAnimalTraction.where('matricula.transporte_animal = 1');
// req.queryIndex.allAnimalTraction = req.querySet.push(allTransports) - 1;
//
// // Outro Veículo
// let allOtherVehicle = allTransports.clone();
// allOtherVehicle.where('matricula.transporte_outro = 1');
// req.queryIndex.allOtherVehicle = req.querySet.push(allTransports) - 1;
//
// // Aquaviário/ Embarcação (capacidade até 5 alunos)
// let allWaterway_5_Students = allTransports.clone();
// allWaterway_5_Students.where('matricula.transporte_embar_0_5 = 1');
// req.queryIndex.allWaterway_5_Students = req.querySet.push(allTransports) - 1;
//
// // Aquaviário/ Embarcação (capacidade de 5 até 15 alunos)
// let allWaterway_15_Students = allTransports.clone();
// allWaterway_15_Students.where('matricula.transporte_embar_5_15 = 1');
// req.queryIndex.allWaterway_15_Students = req.querySet.push(allTransports) - 1;
//
// // Aquaviário/ Embarcação (capacidade de 15 até 35 alunos)
// let allWaterway_35_Students = allTransports.clone();
// allWaterway_35_Students.where('matricula.transporte_embar_15_35 = 1');
// req.queryIndex.allWaterway_35_Students = req.querySet.push(allTransports) - 1;
//
// // Aquaviário/ Embarcação (capacidade mais 35 alunos)
// let allWaterwayMoreThan_35 = allTransports.clone();
// allWaterwayMoreThan_35.where('matricula.transporte_embar_35 = 1');
// req.queryIndex.allWaterwayMoreThan_35 = req.querySet.push(allTransports) - 1;
//
// // Trêm / Metrô
// let allSubwayAndTrain = allTransports.clone();
// allSubwayAndTrain.where('matricula.transporte_trem_metro = 1');
// req.queryIndex.allSubwayAndTrain = req.querySet.push(allTransports) - 1;
next();
}, multiQuery, (req, res, next) => {
// console.log(req.result[req.queryIndex.allVansAndKombi]);
req.result = [];
next();
}, response('transports'));
module.exports = transportApp;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment