Skip to content
Snippets Groups Projects
Commit 0575682f authored by Guiusepe's avatar Guiusepe
Browse files

updated the courseStudents route

parent fa01e30f
No related branches found
No related tags found
3 merge requests!309Merge new updates into master,!279Homologa,!276Course students update
Pipeline #27849 failed
...@@ -32,91 +32,59 @@ rqf.addField({ ...@@ -32,91 +32,59 @@ rqf.addField({
field: false, field: false,
where: true where: true
}).addField({ }).addField({
name: 'dims', name: 'dim',
field: true, field: true,
where: false where: false
}).addValueToField({ })
.addValueToField({
name: 'state', name: 'state',
table: 'localoferta_ens_superior2', table: 'ies_ens_superior',
tableField: 'cod_uf', tableField: 'cod_uf_ies',
resultField: 'state_id', resultField: 'state_id',
where: { where: {
relation: '=', relation: '=',
type: 'integer', type: 'integer',
field: 'cod_uf', field: 'cod_uf_ies',
table: 'localoferta_ens_superior2' table: 'ies_ens_superior'
} }
}, 'filter').addValue({ }, 'filter')
name: 'mesoregion', .addValueToField({
table: 'municipio',
tableField: ['nome_mesorregiao', 'mesorregiao_id'],
resultField: ['mesoregion_name', 'mesoregion_id'],
where: {
relation: '=',
type: 'integer',
field: 'mesorregiao_id',
table: 'municipio'
},
join: {
primary: 'id',
foreign: 'cod_municipio',
foreignTable: 'localoferta_ens_superior2'
}
}).addValue({
name: 'microregion',
table: 'municipio',
tableField: ['nome_microrregiao', 'microrregiao_id'],
resultField: ['microregion_name', 'microregion_id'],
where: {
relation: '=',
type: 'integer',
field: 'microrregiao_id',
table: 'municipio'
},
join: {
primary: 'id',
foreign: 'cod_municipio',
foreignTable: 'localoferta_ens_superior2'
}
}).addValue({
name: 'city',
table: 'municipio',
tableField: ['id', 'nome'],
resultField: ['city_id', 'city_name'],
where: {
relation: '=',
type: 'integer',
field: 'id',
table: 'municipio'
},
join: {
primary: 'id',
foreign: 'cod_municipio',
foreignTable: 'localoferta_ens_superior2'
}
}).addValue({
name: 'min_year', name: 'min_year',
table: 'localoferta_ens_superior2', table: 'curso_ens_superior',
tableField: 'ano_censo', tableField: 'ano_censo',
resultField: 'year', resultField: 'year',
where: { where: {
relation: '>=', relation: '>=',
type: 'integer', type: 'integer',
table: 'localoferta_ens_superior2', field: 'ano_censo',
field: 'ano_censo' table: 'curso_ens_superior'
} }
}).addValue({ }, 'filter')
.addValueToField({
name: 'max_year', name: 'max_year',
table: 'localoferta_ens_superior2', table: 'curso_ens_superior',
tableField: 'ano_censo', tableField: 'ano_censo',
resultField: 'year', resultField: 'year',
where: { where: {
relation: '<=', relation: '<=',
type: 'integer', type: 'integer',
table: 'localoferta_ens_superior2', field: 'ano_censo',
field: 'ano_censo' table: 'ies_ens_superior'
}
}, 'filter')
.addValue({
name: 'upper_adm_dependency',
table: 'curso_ens_superior',
tableField: 'par_categoria_administrativa',
resultField: 'upper_adm_dependency_id',
where: {
relation: '=',
type: 'integer',
field: 'par_categoria_administrativa', //cod_categoria_administrativa
table: 'curso_ens_superior'
} }
}).addValue({ })
.addValue({
name: 'course', name: 'course',
table: 'curso_ens_superior', table: 'curso_ens_superior',
tableField: 'nome_curso', tableField: 'nome_curso',
...@@ -124,9 +92,11 @@ rqf.addField({ ...@@ -124,9 +92,11 @@ rqf.addField({
where: { where: {
relation: '=', relation: '=',
type: 'string', type: 'string',
field: 'nome_curso' field: 'nome_curso',
table: 'curso_ens_superior'
} }
}).addValue({ })
.addValue({
name: 'upper_education_mod', name: 'upper_education_mod',
table: 'curso_ens_superior', table: 'curso_ens_superior',
tableField: 'cod_modalidade_ensino', tableField: 'cod_modalidade_ensino',
...@@ -134,19 +104,11 @@ rqf.addField({ ...@@ -134,19 +104,11 @@ rqf.addField({
where: { where: {
relation: '=', relation: '=',
type: 'integer', type: 'integer',
field: 'cod_modalidade_ensino' field: 'cod_modalidade_ensino',
table: 'curso_ens_superior'
} }
}).addValue({ })
name:'upper_adm_dependency', .addValue({
table: 'curso_ens_superior',
tableField: 'par_categoria_administrativa',
resultField: 'upper_adm_dependency_id',
where: {
relation: '=',
type: 'integer',
field: 'par_categoria_administrativa'
}
}).addValue({
name: 'academic_organization', name: 'academic_organization',
table: 'curso_ens_superior', table: 'curso_ens_superior',
tableField: 'cod_organizacao_academica', tableField: 'cod_organizacao_academica',
...@@ -154,47 +116,26 @@ rqf.addField({ ...@@ -154,47 +116,26 @@ rqf.addField({
where: { where: {
relation: '=', relation: '=',
type: 'integer', type: 'integer',
field: 'cod_organizacao_academica' field: 'cod_organizacao_academica',
} table: 'curso_ens_superior'
}).addValueToField({
name: 'campi',
table: 'localoferta_ens_superior',
tableField: ['cod_local_oferta', 'nome'],
resultField: ['campi_id', 'campi_name'],
where: {
relation: '=',
type: 'integer',
field: 'cod_local_oferta',
table: 'localoferta_ens_superior'
} }
}, 'filter') })
courseStudentsApp.get('/', rqf.parse(), (req, res, next) => { courseStudentsApp.get('/', rqf.parse(), (req, res, next) => {
var b = squel.select().from( req.sql.field("curso_ens_superior.ano_censo")
squel.select().from('localoferta_ens_superior')
.field("localoferta_ens_superior.cod_curso", "cod_curso")
.field("localoferta_ens_superior.ano_censo", "ano_censo")
.field("ies_ens_superior.cod_municipio_ies", "cod_municipio")
.field("ies_ens_superior.cod_uf_ies", "cod_uf")
.join("ies_ens_superior on ies_ens_superior.cod_ies = localoferta_ens_superior.cod_ies AND ies_ens_superior.ano_censo=localoferta_ens_superior.ano_censo")
.group("localoferta_ens_superior.cod_curso" )
.group("localoferta_ens_superior.ano_censo" )
.group("ies_ens_superior.cod_uf_ies")
.group("ies_ens_superior.cod_municipio_ies")
, "localoferta_ens_superior2")
.field("localoferta_ens_superior2.ano_censo", "year")
.field("SUM(curso_ens_superior.quantidade_inscritos_total)", "inscritos_total") .field("SUM(curso_ens_superior.quantidade_inscritos_total)", "inscritos_total")
.field("SUM(curso_ens_superior.quantidade_vagas_totais)", "vagas_totais") .field("SUM(curso_ens_superior.quantidade_vagas_totais)", "vagas_totais")
.field("SUM(curso_ens_superior.quantidade_ingresso_curso)", "ingresso_curso") .field("SUM(curso_ens_superior.quantidade_ingresso_curso)", "ingresso_curso")
.join("curso_ens_superior ON (localoferta_ens_superior2.cod_curso = curso_ens_superior.cod_curso) AND (localoferta_ens_superior2.ano_censo = curso_ens_superior.ano_censo)") .from("curso_ens_superior")
.join("ies_ens_superior ON curso_ens_superior.ano_censo = ies_ens_superior.ano_censo AND curso_ens_superior.cod_ies = ies_ens_superior.cod_ies")
.where("curso_ens_superior.cod_nivel_academico = 1") .where("curso_ens_superior.cod_nivel_academico = 1")
.where("(curso_ens_superior.tipo_atributo_ingresso <> 1 OR curso_ens_superior.tipo_atributo_ingresso is NULL)") .where("curso_ens_superior.cod_grau_academico = 2 OR curso_ens_superior.cod_grau_academico = 4")
.where("(curso_ens_superior.cod_grau_academico = 2 OR curso_ens_superior.cod_grau_academico = 4) ") .group("curso_ens_superior.ano_censo")
.group("localoferta_ens_superior2.ano_censo") .order("curso_ens_superior.ano_censo")
.order("localoferta_ens_superior2.ano_censo")
req.sql = b;
next(); next();
}, rqf.build(), (req, res, next) => { }, rqf.build(), (req, res, next) => {
console.log(req.sql.toString()); console.log(req.sql.toString());
next(); next();
......
const express = require('express');
const courseStudentsApp = express.Router();
const libs = `${process.cwd()}/libs`;
const squel = require('squel');
const query = require(`${libs}/middlewares/query`).query;
const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`);
const response = require(`${libs}/middlewares/response`);
const id2str = require(`${libs}/middlewares/id2str`);
let rqf = new ReqQueryFields();
courseStudentsApp.get('/enrolled_vacancies_freshmen', (req, res, next) => {
req.result = [];
for(let i = 1; i <= 3; ++i) {
req.result.push({
id: i,
name: id2str.enrolledVacanciesFreshmen(i)
});
};
next();
}, response('enrolled_vacancies_freshmen'));
rqf.addField({
name: 'filter',
field: false,
where: true
}).addField({
name: 'dim',
field: true,
where: false
})
.addValueToField({
name: 'state',
table: 'ies_ens_superior',
tableField: 'cod_uf_ies',
resultField: 'state_id',
where: {
relation: '=',
type: 'integer',
field: 'cod_uf_ies',
table: 'ies_ens_superior'
}
}, 'filter')
.addValueToField({
name: 'min_year',
table: 'curso_ens_superior',
tableField: 'ano_censo',
resultField: 'year',
where: {
relation: '>=',
type: 'integer',
field: 'ano_censo',
table: 'curso_ens_superior'
}
}, 'filter')
.addValueToField({
name: 'max_year',
table: 'curso_ens_superior',
tableField: 'ano_censo',
resultField: 'year',
where: {
relation: '<=',
type: 'integer',
field: 'ano_censo',
table: 'ies_ens_superior'
}
}, 'filter')
.addValue({
name: 'upper_adm_dependency',
table: 'curso_ens_superior',
tableField: 'par_categoria_administrativa',
resultField: 'upper_adm_dependency_id',
where: {
relation: '=',
type: 'integer',
field: 'par_categoria_administrativa', //cod_categoria_administrativa
table: 'curso_ens_superior'
}
})
.addValue({
name: 'course',
table: 'curso_ens_superior',
tableField: 'nome_curso',
resultField: 'course_name',
where: {
relation: '=',
type: 'string',
field: 'nome_curso',
table: 'curso_ens_superior'
}
})
.addValue({
name: 'upper_education_mod',
table: 'curso_ens_superior',
tableField: 'cod_modalidade_ensino',
resultField: 'upper_education_mod_id',
where: {
relation: '=',
type: 'integer',
field: 'cod_modalidade_ensino',
table: 'curso_ens_superior'
}
})
.addValue({
name: 'academic_organization',
table: 'curso_ens_superior',
tableField: 'cod_organizacao_academica',
resultField: 'academic_organization_id',
where: {
relation: '=',
type: 'integer',
field: 'cod_organizacao_academica',
table: 'curso_ens_superior'
}
})
courseStudentsApp.get('/', rqf.parse(), (req, res, next) => {
req.sql.field("curso_ens_superior.ano_censo")
.field("SUM(curso_ens_superior.quantidade_inscritos_total)", "inscritos_total")
.field("SUM(curso_ens_superior.quantidade_vagas_totais)", "vagas_totais")
.field("SUM(curso_ens_superior.quantidade_ingresso_curso)", "ingresso_curso")
.from("curso_ens_superior")
.join("ies_ens_superior ON curso_ens_superior.ano_censo = ies_ens_superior.ano_censo AND curso_ens_superior.cod_ies = ies_ens_superior.cod_ies")
.where("curso_ens_superior.cod_nivel_academico = 1")
.where("curso_ens_superior.cod_grau_academico = 2 OR curso_ens_superior.cod_grau_academico = 4")
.group("curso_ens_superior.ano_censo")
.order("curso_ens_superior.ano_censo")
next();
}, rqf.build(), (req, res, next) => {
console.log(req.sql.toString());
next();
}, query, (req, res, next) => {
for (var res of req.result){
res.inscritos_total = Number(res.inscritos_total);
res.vagas_totais = Number(res.vagas_totais);
res.ingresso_curso = Number(res.ingresso_curso);
res.total = null;
}
next();
}, id2str.transform(), response('course_students'))
module.exports = courseStudentsApp;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment