Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • simcaq/simcaq-node
  • SMPPIR/SMPPIR-Node
2 results
Show changes
Commits on Source (5)
...@@ -30,5 +30,6 @@ DockerfileAntigo ...@@ -30,5 +30,6 @@ DockerfileAntigo
src/libs/db/postgres.js src/libs/db/postgres.js
docker-compose.yml docker-compose.yml
entrypoint.sh entrypoint.sh
gulpfile*
gulpfile.template.js gulpfile.template.js
...@@ -21,23 +21,13 @@ along with simcaq-node. If not, see <https://www.gnu.org/licenses/>. ...@@ -21,23 +21,13 @@ along with simcaq-node. If not, see <https://www.gnu.org/licenses/>.
module.exports = function regionCode(id) { module.exports = function regionCode(id) {
switch (id) { switch (id) {
case 1: case 1:
return "Ano"; return 'Rede pública (anual)'
case 2: case 2:
return "Entidade"; return 'Rede pública (mensal)';
case 3: case 3:
return 'Despesas'; return 'Rede pública e conveniada (anual)';
case 4: case 4:
return 'Matrículas Públicas'; return 'Rede pública e conveniada (mensal)';
case 5:
return 'Matrículas Públicas Mais Conveniada';
case 6:
return 'Despesas Aluno Ano Pública'
case 7:
return 'Despesas Aluno Mês Pública';
case 8:
return 'Despesas Aluno Ano Pública Mais Conveniada';
case 9:
return 'Despesas Aluno Mês Pública Mais Conveniada';
} }
}; };
...@@ -21,22 +21,14 @@ along with simcaq-node. If not, see <https://www.gnu.org/licenses/>. ...@@ -21,22 +21,14 @@ along with simcaq-node. If not, see <https://www.gnu.org/licenses/>.
module.exports = function regionCode(id) { module.exports = function regionCode(id) {
switch (id) { switch (id) {
case 1: case 1:
return "Ano"; return 'Receitas';
case 2: case 2:
return "Nome Ente" return 'Rede pública (anual)'
case 3: case 3:
return 'Receitas'; return 'Rede pública (mensal)';
case 4: case 4:
return 'Matrículas Públicas'; return 'Rede pública e conveniada (anual)';
case 5: case 5:
return 'Matrículas Públicas Mais Conveniada'; return 'Rede pública e conveniada (mensal)';
case 6:
return 'Receita Aluno Ano Pública'
case 7:
return 'Receita Aluno Mês Pública';
case 8:
return 'Receita Aluno Ano Pública Mais Conveniada';
case 9:
return 'Receita Aluno Mês Pública Mais Conveniada';
} }
}; };
...@@ -42,7 +42,6 @@ const convert = { ...@@ -42,7 +42,6 @@ const convert = {
} }
function aggregateData(req, res, next) { function aggregateData(req, res, next) {
console.log("Teste if agg");
if (req.query.dims) { if (req.query.dims) {
const newResult = [] const newResult = []
const aggregateFields = [ const aggregateFields = [
...@@ -78,12 +77,9 @@ function aggregateData(req, res, next) { ...@@ -78,12 +77,9 @@ function aggregateData(req, res, next) {
let currentNonAggregateField; let currentNonAggregateField;
// Verifica se o filtro passado está presente nos filtros agregados // Verifica se o filtro passado está presente nos filtros agregados
console.log("fields:");
console.log(fields);
fields.forEach(field => {if (aggregateFields.includes(field)) currentAggregateField = field; else currentNonAggregateField = field}); fields.forEach(field => {if (aggregateFields.includes(field)) currentAggregateField = field; else currentNonAggregateField = field});
if (currentAggregateField) { if (currentAggregateField) {
req.result.forEach((r) => { req.result.forEach((r) => {
console.log("aggregate data aaa");
// Alguns filtros começam com o id = 0 outros id = 1 // Alguns filtros começam com o id = 0 outros id = 1
id = ['ethnic_group', 'integral_time_agg'].includes(currentAggregateField) ? 0 : 1; id = ['ethnic_group', 'integral_time_agg'].includes(currentAggregateField) ? 0 : 1;
for (const property in r) { for (const property in r) {
......
...@@ -199,7 +199,6 @@ activityApp.put('/:id', passport.authenticate('bearer', { session: false }), aut ...@@ -199,7 +199,6 @@ activityApp.put('/:id', passport.authenticate('bearer', { session: false }), aut
} }
}); });
} }
console.log("TEste");
act.type = req.body.tipo || act.type; act.type = req.body.tipo || act.type;
act.title = req.body.titulo || act.title; act.title = req.body.titulo || act.title;
act.subtitle = req.body.subtitulo || act.subtitle; act.subtitle = req.body.subtitulo || act.subtitle;
......
...@@ -51,6 +51,14 @@ studentCostApp.get('/years', (req, res, next) => { ...@@ -51,6 +51,14 @@ studentCostApp.get('/years', (req, res, next) => {
next(); next();
}, query, response('years')); }, query, response('years'));
studentCostApp.get('/type', (req, res, next) => {
req.result = []
req.result.push({ id: 1, name: "Rede Estadual" });
req.result.push({ id: 2, name: "Rede Municipal" });
next();
}, response('type'));
rqf.addField({ rqf.addField({
name: 'filter', name: 'filter',
field: false, field: false,
...@@ -98,8 +106,10 @@ rqf.addField({ ...@@ -98,8 +106,10 @@ rqf.addField({
studentCostApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { studentCostApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
if (req.query.dims && req.query.dims.includes('despesas')) { if (req.query.dims && req.query.dims.includes('despesas')) {
let obj = {};
let whereCondition = req.query.filter.includes("region") ? "" : "despesas.cod_ibge = 0"; let whereCondition = req.query.filter.includes("region") ? "" : "despesas.cod_ibge = 0";
let filterId; let filterId;
let typeFilter = false;
const filters = req.query.filter.split(","); const filters = req.query.filter.split(",");
filters.forEach((filter) => { filters.forEach((filter) => {
if (filter.includes("state") || filter.includes("city")) { if (filter.includes("state") || filter.includes("city")) {
...@@ -108,20 +118,29 @@ studentCostApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { ...@@ -108,20 +118,29 @@ studentCostApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
} }
}) })
req.sql.from('despesas') if (req.query.filter) {
.field('despesas.ano_censo', 'year') const jsonString = `{${req.query.filter.replace(/(\w+):/g, '"$1":')}}`;
.field('despesas.ano_censo', 'total_ano') obj = JSON.parse(jsonString);
.field('despesas.nome_ente', 'total_nome_ente') if (obj.type) {
.field('despesas.despesas', 'total_despesas') if (obj.type.includes("1") && !obj.type.includes("2"))
.field('matriculas_publica', 'total_matriculas_publica') whereCondition = "despesas.cod_ibge >= 11 and despesas.cod_ibge <= 53"
.field('matriculas_publicas_mais_conveniada', 'total_matriculas_publicas_mais_conveniada') else if (obj.type.includes("2") && !obj.type.includes("1"))
.field('gasto_aluno_ano_publica', 'total_gasto_aluno_ano_publica') whereCondition = "despesas.cod_ibge > 53"
.field('gasto_aluno_mes_publica', 'total_gasto_aluno_mes_publica')
.field('gasto_aluno_ano_publica_mais_conveniada', 'total_gasto_aluno_ano_publica_mais_conveniada') typeFilter = true;
.field('gasto_aluno_mes_publica_mais_conveniada', 'total_gasto_aluno_mes_publica_mais_conveniada') }
.where(`${whereCondition}`) }
.order('despesas.cod_ibge')
.order('despesas.ano_censo') if (!typeFilter || (typeFilter && (!obj.state && !obj.city && !obj.region))) {
req.sql.from('despesas')
.field('despesas.ano_censo', 'year')
.field('SUM(gasto_aluno_ano_publica)', 'total_gasto_aluno_ano_publica')
.field('SUM(gasto_aluno_mes_publica)', 'total_gasto_aluno_mes_publica')
.field('SUM(gasto_aluno_ano_publica_mais_conveniada)', 'total_gasto_aluno_ano_publica_mais_conveniada')
.field('SUM(gasto_aluno_mes_publica_mais_conveniada)', 'total_gasto_aluno_mes_publica_mais_conveniada')
.where(`${whereCondition}`)
.group('despesas.ano_censo')
}
} }
next(); next();
......
...@@ -36,9 +36,9 @@ const aggregateData = require(`${libs}/middlewares/aggregateData`); ...@@ -36,9 +36,9 @@ const aggregateData = require(`${libs}/middlewares/aggregateData`);
const id2str = require(`${libs}/middlewares/id2str`); const id2str = require(`${libs}/middlewares/id2str`);
const config = require(`${libs}/config`); const config = require(`${libs}/config`);
const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware; const cache = require('apicache').options({ debug: config.debug, statusCodes: { include: [200] } }).middleware;
let rqf = new ReqQueryFields(); let rqf = new ReqQueryFields();
...@@ -46,11 +46,19 @@ studentRevenueApp.use(cache('15 day')); ...@@ -46,11 +46,19 @@ studentRevenueApp.use(cache('15 day'));
studentRevenueApp.get('/years', (req, res, next) => { studentRevenueApp.get('/years', (req, res, next) => {
req.sql.from('receitas') req.sql.from('receitas')
.field('DISTINCT receitas.ano', 'year') .field('DISTINCT receitas.ano', 'year')
.where('receitas.ano is not null') .where('receitas.ano is not null')
next(); next();
}, query, response('years')); }, query, response('years'));
studentRevenueApp.get('/type', (req, res, next) => {
req.result = []
req.result.push({ id: 1, name: "Rede Estadual" });
req.result.push({ id: 2, name: "Rede Municipal" });
next();
}, response('type'));
rqf.addField({ rqf.addField({
name: 'filter', name: 'filter',
field: false, field: false,
...@@ -96,9 +104,13 @@ rqf.addField({ ...@@ -96,9 +104,13 @@ rqf.addField({
} }
}) })
studentRevenueApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { studentRevenueApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
if (req.query.dims && req.query.dims.includes('receitas')) { if (req.query.dims && req.query.dims.includes('receitas')) {
let obj = {};
console.log(req.query.filter)
let whereCondition = req.query.filter.includes("region") ? "" : "receitas.cod_ibge = 0"; let whereCondition = req.query.filter.includes("region") ? "" : "receitas.cod_ibge = 0";
let typeFilter = false;
let filterId; let filterId;
const filters = req.query.filter.split(","); const filters = req.query.filter.split(",");
filters.forEach((filter) => { filters.forEach((filter) => {
...@@ -108,20 +120,29 @@ studentRevenueApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { ...@@ -108,20 +120,29 @@ studentRevenueApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
} }
}) })
req.sql.from('receitas') if (req.query.filter) {
.field('receitas.ano', 'year') const jsonString = `{${req.query.filter.replace(/(\w+):/g, '"$1":')}}`;
.field('receitas.ano', 'total_ano') obj = JSON.parse(jsonString);
.field('receitas.nome_ente', 'total_nome_ente') if (obj.type) {
.field('receitas.receitas', 'total_receitas') if (obj.type.includes("1") && !obj.type.includes("2"))
.field('matriculas_publica', 'total_matriculas_publica') whereCondition = "receitas.cod_ibge >= 11 and receitas.cod_ibge <= 53"
.field('matriculas_publicas_mais_conveniada', 'total_matriculas_publicas_mais_conveniada') else if (obj.type.includes("2") && !obj.type.includes("1"))
.field('receuta_aluno_ano_publica', 'total_receita_aluno_ano_publica') whereCondition = "receitas.cod_ibge > 53"
.field('receita_aluno_mes_publica', 'total_receita_aluno_mes_publica')
.field('receita_aluno_ano_publica_mais_conveniada', 'total_receita_aluno_ano_publica_mais_conveniada') typeFilter = true;
.field('receita_aluno_mes_publica_mais_conveniada', 'total_receita_aluno_mes_publica_mais_conveniada') }
.where(`${whereCondition}`) }
.order('receitas.cod_ibge') if (!typeFilter || (typeFilter && (!obj.state && !obj.city && !obj.region))) {
.order('receitas.ano') req.sql.from('receitas')
.field('receitas.ano', 'year')
.field('SUM(receitas.receitas)', 'total_receitas')
.field('SUM(receuta_aluno_ano_publica)', '(total_receita_aluno_ano_publica)')
.field('SUM(receita_aluno_mes_publica)', 'total_receita_aluno_mes_publica')
.field('SUM(receita_aluno_ano_publica_mais_conveniada)', 'total_receita_aluno_ano_publica_mais_conveniada')
.field('SUM(receita_aluno_mes_publica_mais_conveniada)', 'total_receita_aluno_mes_publica_mais_conveniada')
.where(`${whereCondition}`)
.group('receitas.ano')
}
} }
next(); next();
......