Commit f42974fe authored by Vytor Calixto's avatar Vytor Calixto 👾

Merge branch 'hotfix_v1.2.3'

parents cdf491ef a5d47c7e
Pipeline #16007 failed with stage
in 60 minutes and 4 seconds
......@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## 1.2.3 - 2018-06-14
### Changed
- Fixed roundig error in classroom count route
- Route performance improved
## 1.2.2 - 2018-05-22
### Changed
- Fixed bug with missing education levels in classroom count
......
......@@ -286,13 +286,25 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
j = 0;
let educationLevelSet = new Set();
let enrollment = enrollments[j];
while(enrollmentMatch && j < enrollments.length) {
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') {
++j;
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;
continue;
}
......@@ -302,11 +314,6 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
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
// "Consome" a matrícula (remove do vetor de matrículas)
......@@ -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);
// 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
educationLevel.enrollment.night_classes = Math.ceil((educationLevel.enrollment.total_enrollment_night / enrollmentEducationLevel.numberStudentClass));
......@@ -428,6 +436,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
// Fazer "merge" do array locations da cidade com o da agregação
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];
} else {
let j = 0;
......@@ -444,10 +453,16 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
} else if(cityLocation.location_id > currentLocation.location_id) {
++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;
}
// Fazer merge do array education_level
// Fazer "merge" do array education_level
if(currentLocation.education_level.length == 0) {
currentLocation.education_level = [...cityLocation.education_level];
} else {
......@@ -492,7 +507,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
}
}
req.result = /*{result, enrollments} //*/ reduction || result;
req.result = reduction || result;
next();
}, response('classroom_count'));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment