diff --git a/src/libs/middlewares/reqQueryFields.js b/src/libs/middlewares/reqQueryFields.js index 6a194c845357c189b860f6b3fee4838f0f9ffdbe..577b23598add747c5ee812bf2e68021ae2fb9dee 100644 --- a/src/libs/middlewares/reqQueryFields.js +++ b/src/libs/middlewares/reqQueryFields.js @@ -185,6 +185,7 @@ class ReqQueryFields { if(typeof values[k] !== 'undefined') { // Clonamos para não alterar o original let value = _.clone(values[k]); + if(value.parseOnly) return; // Checa se não fizemos o join para este valor e se é necessário fazer if(!hasJoined[value.table] && typeof value.join !== 'undefined') { let foreignTable = ''; diff --git a/src/libs/routes/enrollment.js b/src/libs/routes/enrollment.js index d29baf0daad3d4323d2f0a45d0493f5183fc59d4..317c6b6f7e590ea80a4b078e3a9a1a2d39c1edb6 100644 --- a/src/libs/routes/enrollment.js +++ b/src/libs/routes/enrollment.js @@ -400,12 +400,30 @@ function schoolYearIdToStr(schoolYearId) { let simRqf = new ReqQueryFields(); simRqf.addField({ - name: 'filter' + name: 'filter', + field: false, + where: true }).addValue({ - name: 'simulation_time' -}) + name: 'simulation_time', + parseOnly: true +}).addValue({ + name: 'city', + table: 'municipio', + tableField: 'nome', + resultField: 'city_name', + where: { + relation: '=', + type: 'integer', + field: 'id' + }, + join: { + primary: 'id', + foreign: 'escola_municipio_id', + foreignTable: 'matricula' + } +}); -enrollmentApp.get('/offer_projection', simRqf.parse(), (req, res, next) => { +enrollmentApp.get('/offer_projection', simRqf.parse(), simRqf.build(), (req, res, next) => { const max_year = squel.select() .field('MAX(matricula.ano_censo)') .from('matricula')