Skip to content
Snippets Groups Projects
Commit 14ae3764 authored by Vytor Calixto's avatar Vytor Calixto :space_invader:
Browse files

Merge branch 'transport_indicator' into release_v1.4.0

Related: !135
parents e6591215 576c6023
No related branches found
No related tags found
1 merge request!133Release v1.4.0
Pipeline #16243 canceled
......@@ -5,7 +5,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## 1.4.0 - 2018-06-27
### Added
- Add school building filter/dimension to school count route
- Add transport indicator
### Changed
- Fixed CSV output when result objects have nested arrays and/or objects
- Limit year range to 2007-2015 in out of school indicator
......
......@@ -211,6 +211,26 @@ rqf.addField({
type: 'integer',
field: 'etapas_mod_ensino_segmento_id'
}
}).addValue({
name: 'service_type',
table: 'matricula',
tableField: 'tipo',
resultField: 'service_type_id',
where: {
relation: '=',
type: 'integer',
field: 'tipo'
}
}).addValue({
name: 'service_type',
table: 'matricula',
tableField: 'tipo',
resultField: 'service_type_id',
where: {
relation: '=',
type: 'integer',
field: 'tipo'
}
}).addValue({
name: 'min_year',
table: 'matricula',
......@@ -280,13 +300,23 @@ transportApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
allEnrollment.field('COUNT(*)', 'total')
.field("'Brasil'", 'name')
.field('matricula.ano_censo', 'year')
.from('matricula')
.group('matricula.ano_censo')
.order('matricula.ano_censo')
.where('matricula.tipo <= 3');
req.queryIndex.allEnrollment = req.querySet.push(allEnrollment) - 1;
let allEnrollmentTransport = req.sql.clone()
allEnrollmentTransport.field('COUNT(*)', 'total')
.field("'Brasil'", 'name')
.field('matricula.ano_censo', 'year')
.field('matricula.transporte_escolar_publico', 'use_transport_id')
.from('matricula')
.group('matricula.ano_censo')
.group('matricula.transporte_escolar_publico')
.order('matricula.ano_censo')
.where('matricula.tipo <= 3');
req.queryIndex.allEnrollment = req.querySet.push(allEnrollment) - 1;
req.queryIndex.allEnrollmentTransport = req.querySet.push(allEnrollmentTransport) - 1;
let allTransports = req.sql.clone()
......@@ -379,33 +409,58 @@ transportApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
next();
}, multiQuery, (req, res, next) => {
let transport_match = [];
let transport_match_0 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allTransports]));
let transport_match_1 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allTransports]));
let all_enrollment_match = [];
let all_enrollment_match_0 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allEnrollment]));
let all_enrollment_match_1 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allEnrollment]));
//modifica adicionando use_transport_id=false, com os mesmos valores
//do transport_id=true, usado para dar o match e fazer a divisão.
for (let i = 0; i < transport_match_0.length; i++) {
transport_match_0[i].use_transport_id = true;
transport_match.push(transport_match_0[i])
transport_match_1[i].use_transport_id = false;
transport_match.push(transport_match_1[i])
}
//modifica adicionando use_transport_id=false, com os mesmos valores
//do transport_id=true, usado para dar o match e fazer a divisão.
for (let i = 0; i < all_enrollment_match_0.length; i++) {
all_enrollment_match_0[i].use_transport_id = true;
all_enrollment_match.push(all_enrollment_match_0[i])
all_enrollment_match_1[i].use_transport_id = false;
all_enrollment_match.push(all_enrollment_match_1[i])
}
let public_transport = req.result[req.queryIndex.allEnrollment];
let van_and_kombi = req.result[req.queryIndex.goVansAndKombi];
let micro_bus = req.result[req.queryIndex.goMicroBus];
let Bus = req.result[req.queryIndex.goBus];
let bike = req.result[req.queryIndex.goBikes];
let animal_traction = req.result[req.queryIndex.goAnimalTraction];
let other_vehicle = req.result[req.queryIndex.goOtherVehicle];
let waterway_5_Students = req.result[req.queryIndex.goWaterway_5_Students];
let waterway_15_Students = req.result[req.queryIndex.goWaterway_15_Students];
let waterway_35_Students = req.result[req.queryIndex.goWaterway_35_Students];
let waterway_More_Than_35 = req.result[req.queryIndex.goWaterwayMoreThan_35];
let subway_and_train = req.result[req.queryIndex.goSubwayAndTrain];
let public_transport = matchQueries(all_enrollment_match, req.result[req.queryIndex.allEnrollmentTransport]);
let van_and_kombi = matchQueries(transport_match, req.result[req.queryIndex.goVansAndKombi]);
let micro_bus = matchQueries(transport_match, req.result[req.queryIndex.goMicroBus]);
let bus = matchQueries(transport_match, req.result[req.queryIndex.goBus]);
let bike = matchQueries(transport_match, req.result[req.queryIndex.goBikes]);
let animal_traction = matchQueries(transport_match, req.result[req.queryIndex.goAnimalTraction]);
let other_vehicle = matchQueries(transport_match, req.result[req.queryIndex.goOtherVehicle]);
let waterway_5_Students = matchQueries(transport_match, req.result[req.queryIndex.goWaterway_5_Students]);
let waterway_15_Students = matchQueries(transport_match, req.result[req.queryIndex.goWaterway_15_Students]);
let waterway_35_Students = matchQueries(transport_match, req.result[req.queryIndex.goWaterway_35_Students]);
let waterway_More_Than_35 = matchQueries(transport_match, req.result[req.queryIndex.goWaterwayMoreThan_35]);
let subway_and_train = matchQueries(transport_match, req.result[req.queryIndex.goSubwayAndTrain]);
req.result = [{
public_transport,
van_and_kombi,
micro_bus,
Bus,
bike,
animal_traction,
other_vehicle,
waterway_5_Students,
waterway_15_Students,
waterway_35_Students,
waterway_More_Than_35,
subway_and_train
public_transport,
van_and_kombi,
micro_bus,
bus,
bike,
animal_traction,
other_vehicle,
waterway_5_Students,
waterway_15_Students,
waterway_35_Students,
waterway_More_Than_35,
subway_and_train
}];
next();
}, id2str.multitransform(false), response('transports'));
......
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