Skip to content
Snippets Groups Projects
Commit f019d336 authored by Vytor Calixto's avatar Vytor Calixto :space_invader:
Browse files

Merge branch 'classroom_count' into development

parents eb7d49d8 9587fed3
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -286,13 +286,25 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { ...@@ -286,13 +286,25 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
j = 0; j = 0;
let educationLevelSet = new Set(); let educationLevelSet = new Set();
let enrollment = enrollments[j]; let enrollment = enrollments[j];
while(enrollmentMatch && j < enrollments.length) { while(enrollmentMatch && j < enrollments.length) {
enrollment = enrollments[j]; enrollment = enrollments[j];
// Remove se o período é nulo (não dá pra usar no cálculo)
if(enrollment.period_id == null) {
enrollments.splice(j, 1);
continue;
}
if(typeof enrollment === 'undefined') { if(typeof enrollment === 'undefined') {
++j; ++j;
continue; continue;
} }
if(enrollment.city_id != classroom.city_id) { // Se as cidades não são iguais, já passamos do range
if(classroom.city_name < enrollment.city_name) { // Se as cidades não são iguais, já passamos do range
enrollmentMatch = false;
continue;
} else if(classroom.city_name > enrollment.city_name) {
++j; ++j;
continue; continue;
} }
...@@ -302,11 +314,6 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { ...@@ -302,11 +314,6 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
continue; continue;
} }
// Remove se o período é nulo (não dá pra usar no cálculo)
if(enrollment.period_id == null) {
enrollments.splice(j, 1);
continue;
}
// Temos uma matrícula com cidade, ano e localidades certos // Temos uma matrícula com cidade, ano e localidades certos
// "Consome" a matrícula (remove do vetor de matrículas) // "Consome" a matrícula (remove do vetor de matrículas)
...@@ -371,7 +378,8 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { ...@@ -371,7 +378,8 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
educationLevel.enrollment.full_period_classes = Math.ceil((educationLevel.enrollment.total_enrollment_day * (enrollmentEducationLevel.offerGoal/100)) / enrollmentEducationLevel.numberStudentClass); educationLevel.enrollment.full_period_classes = Math.ceil((educationLevel.enrollment.total_enrollment_day * (enrollmentEducationLevel.offerGoal/100)) / enrollmentEducationLevel.numberStudentClass);
// Turmas diurnas // Turmas diurnas
educationLevel.enrollment.day_classes = Math.ceil((educationLevel.enrollment.total_enrollment_day / enrollmentEducationLevel.numberStudentClass) - educationLevel.enrollment.full_period_classes); // Matrículas diurnas - matrículas integrais
educationLevel.enrollment.day_classes = Math.ceil((educationLevel.enrollment.total_enrollment_day * (1 - enrollmentEducationLevel.offerGoal/100)) / enrollmentEducationLevel.numberStudentClass);
// Turmas noturnas // Turmas noturnas
educationLevel.enrollment.night_classes = Math.ceil((educationLevel.enrollment.total_enrollment_night / enrollmentEducationLevel.numberStudentClass)); educationLevel.enrollment.night_classes = Math.ceil((educationLevel.enrollment.total_enrollment_night / enrollmentEducationLevel.numberStudentClass));
...@@ -428,6 +436,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { ...@@ -428,6 +436,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
// Fazer "merge" do array locations da cidade com o da agregação // Fazer "merge" do array locations da cidade com o da agregação
if(currentObj.locations.length == 0) { if(currentObj.locations.length == 0) {
// Pode ser que a cidade atual tenha menos localidades que o total (só urbana ou só rural)
currentObj.locations = [...city.locations]; currentObj.locations = [...city.locations];
} else { } else {
let j = 0; let j = 0;
...@@ -444,10 +453,16 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { ...@@ -444,10 +453,16 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
} else if(cityLocation.location_id > currentLocation.location_id) { } else if(cityLocation.location_id > currentLocation.location_id) {
++k; ++k;
currentLocation = currentObj.locations[k]; currentLocation = currentObj.locations[k];
// Se a localidade da cidade é maior que a localidade do objeto atual E o vetor de localidades do objeto atual
// acaba, então esta localidade falta no objeto atual, pois as localidades estão ordenadas
if(typeof currentLocation == 'undefined' && typeof cityLocation !== 'undefined') {
currentObj.locations[k] = cityLocation;
currentLocation = currentObj.locations[k];
}
continue; continue;
} }
// Fazer merge do array education_level // Fazer "merge" do array education_level
if(currentLocation.education_level.length == 0) { if(currentLocation.education_level.length == 0) {
currentLocation.education_level = [...cityLocation.education_level]; currentLocation.education_level = [...cityLocation.education_level];
} else { } else {
...@@ -492,7 +507,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { ...@@ -492,7 +507,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
} }
} }
req.result = /*{result, enrollments} //*/ reduction || result; req.result = reduction || result;
next(); next();
}, response('classroom_count')); }, response('classroom_count'));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment