diff --git a/.gitignore b/.gitignore
index 2fa21185e28b55b01382a70bdf4fbd61f652e8f0..780dbd8f392d59577f6ce787e98c7e32d9c4babb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,5 +30,6 @@ DockerfileAntigo
 src/libs/db/postgres.js
 docker-compose.yml
 entrypoint.sh
+gulpfile*
 gulpfile.template.js
 
diff --git a/src/libs/convert/revenue.js b/src/libs/convert/revenue.js
index 18cfeb8c0e2cf05ba10a15e4e4801f0327562ddc..006e26629f15b302f57dd8df7855205d4cfb6a42 100644
--- a/src/libs/convert/revenue.js
+++ b/src/libs/convert/revenue.js
@@ -21,22 +21,14 @@ along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
 module.exports = function regionCode(id) {
     switch (id) {
         case 1:
-        return "Ano";
+        return 'Receitas';
         case 2:
-        return "Nome Ente"
+        return 'Rede pública (anual)'
         case 3:
-        return 'Receitas';
+        return 'Rede pública (mensal)';
         case 4:
-        return 'Matrículas Públicas';
+        return 'Rede pública e conveniada (anual)';
         case 5:
-        return 'Matrículas Públicas Mais Conveniada';
-        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';
+        return 'Rede pública e conveniada (mensal)';
     }
 };
diff --git a/src/libs/middlewares/aggregateData.js b/src/libs/middlewares/aggregateData.js
index fccb74536de9554df44ffad51d6d931dd70ccbb1..e004f653d6410bfe8fa1b95677b363e6cf31bcf9 100644
--- a/src/libs/middlewares/aggregateData.js
+++ b/src/libs/middlewares/aggregateData.js
@@ -42,7 +42,6 @@ const convert = {
 }
 
 function aggregateData(req, res, next) {
-    console.log("Teste if agg");
     if (req.query.dims) {
         const newResult = []
         const aggregateFields = [
@@ -78,12 +77,9 @@ function aggregateData(req, res, next) {
         let currentNonAggregateField;
     
         // 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});
         if (currentAggregateField) {
             req.result.forEach((r) => {
-                console.log("aggregate data aaa");
                 // Alguns filtros começam com o id = 0 outros id = 1
                 id = ['ethnic_group', 'integral_time_agg'].includes(currentAggregateField) ? 0 : 1;
                 for (const property in r) {
diff --git a/src/libs/routes_v1/activity.js b/src/libs/routes_v1/activity.js
index cb35c2de1e741d37ec860ecb142f8d499f1ab7c5..1cc63016c61d99caa6e262eefc1f9aa8423e365d 100644
--- a/src/libs/routes_v1/activity.js
+++ b/src/libs/routes_v1/activity.js
@@ -199,7 +199,6 @@ activityApp.put('/:id', passport.authenticate('bearer', { session: false }), aut
       }
     });
   }
-  console.log("TEste");
   act.type = req.body.tipo || act.type;
   act.title = req.body.titulo || act.title;
   act.subtitle = req.body.subtitulo || act.subtitle;
diff --git a/src/libs/routes_v1/studentRevenue.js b/src/libs/routes_v1/studentRevenue.js
index b595fb0086846cef7c7b058abbc34ab23006ceca..17da5f271f9c17577cbcfb4a28445cc8b3ef4858 100644
--- a/src/libs/routes_v1/studentRevenue.js
+++ b/src/libs/routes_v1/studentRevenue.js
@@ -36,9 +36,9 @@ const aggregateData = require(`${libs}/middlewares/aggregateData`);
 
 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();
 
@@ -46,11 +46,19 @@ studentRevenueApp.use(cache('15 day'));
 
 studentRevenueApp.get('/years', (req, res, next) => {
     req.sql.from('receitas')
-    .field('DISTINCT receitas.ano', 'year')
-    .where('receitas.ano is not null')
+        .field('DISTINCT receitas.ano', 'year')
+        .where('receitas.ano is not null')
     next();
 }, 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({
     name: 'filter',
     field: false,
@@ -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')) {
+        let obj = {};
+        console.log(req.query.filter)
         let whereCondition = req.query.filter.includes("region") ? "" : "receitas.cod_ibge = 0";
+
+        let typeFilter = false;
         let filterId;
         const filters = req.query.filter.split(",");
         filters.forEach((filter) => {
@@ -108,20 +120,41 @@ studentRevenueApp.get('/', rqf.parse(), rqf.build(),  (req, res, next) => {
             }
         })
 
-        req.sql.from('receitas')
-        .field('receitas.ano', 'year')
-        .field('receitas.ano', 'total_ano')
-        .field('receitas.nome_ente', 'total_nome_ente')
-        .field('receitas.receitas', 'total_receitas')
-        .field('matriculas_publica', 'total_matriculas_publica')
-        .field('matriculas_publicas_mais_conveniada', 'total_matriculas_publicas_mais_conveniada')
-        .field('receuta_aluno_ano_publica', 'total_receita_aluno_ano_publica')
-        .field('receita_aluno_mes_publica', 'total_receita_aluno_mes_publica')
-        .field('receita_aluno_ano_publica_mais_conveniada', 'total_receita_aluno_ano_publica_mais_conveniada')
-        .field('receita_aluno_mes_publica_mais_conveniada', 'total_receita_aluno_mes_publica_mais_conveniada')
-        .where(`${whereCondition}`)
-        .order('receitas.cod_ibge')
-        .order('receitas.ano')
+        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 = "receitas.cod_ibge >= 11 and receitas.cod_ibge <= 53"
+                else if (obj.type.includes("2") && !obj.type.includes("1"))
+                    whereCondition = "receitas.cod_ibge > 53"
+
+                typeFilter = true;
+            }
+        }
+        if (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')
+                .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')
+        } 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')
+
+        }
     }
 
     next();