Skip to content
Snippets Groups Projects
Commit 06b9f3d3 authored by lgtg20's avatar lgtg20
Browse files

praying

parent 7dc4874f
No related branches found
No related tags found
3 merge requests!417[ADD] Indicator "Taxa de Atendimento Educacional" updated on production!,!416[ADD] Route almost ready, some tests needed. Comments added and filters that...,!410Aggregate enrollment
const id2str = require(`./id2str`);
function aggregateData(req, res, next) {
const newResult = []
const aggregateFields = ['gender']
let id;
const fields = req.query.dims.split(',');
let currentAggregateField;
let currentNonAggregateField;
fields.forEach(field => {if (aggregateFields.includes(field)) currentAggregateField = field; else currentNonAggregateField = field});
if (currentAggregateField) {
console.log(currentAggregateField);
req.result.forEach((r) => {
id = 1;
for (const property in r) {
if (property.includes("total_")) {
const data = {
total: r[property],
year: r.year,
[`${currentAggregateField}_id`]: id,
[`${currentAggregateField}_name`]: id2str[currentAggregateField](id)
}
if (currentNonAggregateField) {
data[`${currentNonAggregateField}_id`] = r[`${currentNonAggregateField}_id`];
console.log(currentNonAggregateField)
data[`${currentNonAggregateField}_name`] = id2str[`${currentNonAggregateField}_id`](id);
}
newResult.push(data)
++id;
}
}
})
req.result = newResult;
}
console.log(req.result);
next();
}
module.exports = aggregateData;
\ No newline at end of file
......@@ -35,6 +35,8 @@ const response = require(`${libs}/middlewares/response`);
const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`);
const aggregateData = require(`${libs}/middlewares/aggregateData`);
const id2str = require(`${libs}/middlewares/id2str`);
const config = require(`${libs}/config`);
......@@ -294,22 +296,23 @@ enrollmentAggregateApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
console.log(req.query);
if (req.query.dims.includes('gender'))
if (req.query.dims && req.query.dims.includes('gender'))
{
req.sql.from('escola')
.field('SUM(escola.qt_mat_bas_mas)', 'total_mas')
.field('SUM(escola.qt_mat_bas_masc)', 'total_mas')
.field('SUM(escola.qt_mat_bas_fem)', 'total_fem')
.field('escola.ano_censo', 'year')
.group('escola.ano_censo')
.order('escola.ano_censo');
}
req.sql.from('escola')
.field('SUM(escola.qt_mat_bas)', 'total')
.field('escola.ano_censo', 'year')
.group('escola.ano_censo')
.order('escola.ano_censo');
else {
req.sql.from('escola')
.field('SUM(escola.qt_mat_bas)', 'total')
.field('escola.ano_censo', 'year')
.group('escola.ano_censo')
.order('escola.ano_censo');
}
next();
}, query, response('enrollment_aggregate'));
}, query, aggregateData, response('enrollment_aggregate'));
module.exports = enrollmentAggregateApp;
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