diff --git a/src/libs/convert/expenses.js b/src/libs/convert/expenses.js index 5cd28c4e6b7f17a89f35efcdd36d6b04c7af4322..2d8ff384530c041b8471abd7397233046e72a05e 100644 --- a/src/libs/convert/expenses.js +++ b/src/libs/convert/expenses.js @@ -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)'; } }; diff --git a/src/libs/routes_v1/studentCost.js b/src/libs/routes_v1/studentCost.js index fdcf7270790bfcf1c50d26386a76f3196ccc7aa9..74aa91a237fee93b5db8dd6b819b711ab96018f2 100644 --- a/src/libs/routes_v1/studentCost.js +++ b/src/libs/routes_v1/studentCost.js @@ -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) => { } }) - 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') - .where(`${whereCondition}`) - .order('despesas.cod_ibge') - .order('despesas.ano_censo') + 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('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(); diff --git a/src/libs/routes_v1/studentRevenue.js b/src/libs/routes_v1/studentRevenue.js index 17da5f271f9c17577cbcfb4a28445cc8b3ef4858..2b62671def3d111972c395e464bdb4c5b3389dfc 100644 --- a/src/libs/routes_v1/studentRevenue.js +++ b/src/libs/routes_v1/studentRevenue.js @@ -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') - } }