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

Merge branch 'fix-issue-968' into 'development'

feat: update region codes and add type endpoint; enhance student revenue and cost queries

See merge request !456
parents ffe379f9 90979225
Branches
No related tags found
4 merge requests!501[hotfix] capital filter working for superior education conclusion tax...,!499[hotfix] capital filter working for superior education conclusion tax...,!457Development,!456feat: update region codes and add type endpoint; enhance student revenue and cost queries
......@@ -21,23 +21,13 @@ along with simcaq-node. If not, see <https://www.gnu.org/licenses/>.
module.exports = function regionCode(id) {
switch (id) {
case 1:
return "Ano";
return 'Rede pública (anual)'
case 2:
return "Entidade";
return 'Rede pública (mensal)';
case 3:
return 'Despesas';
return 'Rede pública e conveniada (anual)';
case 4:
return 'Matrículas Públicas';
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';
return 'Rede pública e conveniada (mensal)';
}
};
......@@ -51,6 +51,14 @@ studentCostApp.get('/years', (req, res, next) => {
next();
}, 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({
name: 'filter',
field: false,
......@@ -98,8 +106,10 @@ rqf.addField({
studentCostApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
if (req.query.dims && req.query.dims.includes('despesas')) {
let obj = {};
let whereCondition = req.query.filter.includes("region") ? "" : "despesas.cod_ibge = 0";
let filterId;
let typeFilter = false;
const filters = req.query.filter.split(",");
filters.forEach((filter) => {
if (filter.includes("state") || filter.includes("city")) {
......@@ -108,20 +118,29 @@ studentCostApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
}
})
if (req.query.filter) {
const jsonString = `{${req.query.filter.replace(/(\w+):/g, '"$1":')}}`;
obj = JSON.parse(jsonString);
if (obj.type) {
if (obj.type.includes("1") && !obj.type.includes("2"))
whereCondition = "despesas.cod_ibge >= 11 and despesas.cod_ibge <= 53"
else if (obj.type.includes("2") && !obj.type.includes("1"))
whereCondition = "despesas.cod_ibge > 53"
typeFilter = true;
}
}
if (!typeFilter || (typeFilter && (!obj.state && !obj.city && !obj.region))) {
req.sql.from('despesas')
.field('despesas.ano_censo', 'year')
.field('despesas.ano_censo', 'total_ano')
.field('despesas.nome_ente', 'total_nome_ente')
.field('despesas.despesas', 'total_despesas')
.field('matriculas_publica', 'total_matriculas_publica')
.field('matriculas_publicas_mais_conveniada', 'total_matriculas_publicas_mais_conveniada')
.field('gasto_aluno_ano_publica', 'total_gasto_aluno_ano_publica')
.field('gasto_aluno_mes_publica', 'total_gasto_aluno_mes_publica')
.field('gasto_aluno_ano_publica_mais_conveniada', 'total_gasto_aluno_ano_publica_mais_conveniada')
.field('gasto_aluno_mes_publica_mais_conveniada', 'total_gasto_aluno_mes_publica_mais_conveniada')
.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}`)
.order('despesas.cod_ibge')
.order('despesas.ano_censo')
.group('despesas.ano_censo')
}
}
next();
......
......@@ -132,10 +132,9 @@ studentRevenueApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
typeFilter = true;
}
}
if (typeFilter && (!obj.state && !obj.city && !obj.region)) {
if (!typeFilter || (typeFilter && (!obj.state && !obj.city && !obj.region))) {
req.sql.from('receitas')
.field('receitas.ano', 'year')
// .field('receitas.ano', 'total_ano')
.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')
......@@ -143,17 +142,6 @@ studentRevenueApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
.field('SUM(receita_aluno_mes_publica_mais_conveniada)', 'total_receita_aluno_mes_publica_mais_conveniada')
.where(`${whereCondition}`)
.group('receitas.ano')
} else if (!typeFilter) {
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')
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment