diff --git a/src/libs/routes_v1/classroomCount.js b/src/libs/routes_v1/classroomCount.js index 0edb08630754a72df0d5f25a683ecffea5e6526c..a1dbc69cfedcf13265c49baa6020a01cde7e4ab9 100644 --- a/src/libs/routes_v1/classroomCount.js +++ b/src/libs/routes_v1/classroomCount.js @@ -255,6 +255,36 @@ rqf.addField({ } }); +function minimunClasses(education_level_short_id) { + switch(education_level_short_id) { + case 3: // Ensino Fundamental - anos iniciais + return 5; + case 4: // Ensino Fundamental - anos finais + return 4; + case 5: // Ensino Médio + return 3; + case 6: // EJA + return 2; + default: + return 0; + } +} + +function minimunEnrollment (ed_level) { + switch (ed_level) { + case 3: // Ensino Fundamental - anos iniciais + return 60; + case 4: // Ensino Fundamental - anos finais + return 52; + case 5: // Ensino Médio + return 39; + case 6: // EJA + return 24; + default: + return 0; + } +} + classroomCountApp.post('/', rqf.parse(), (req, res, next) => { let classSize = JSON.parse(req.body.class_size) || null; let integralTime = JSON.parse(req.body.integral_time) || null; @@ -784,6 +814,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { educationLevel.enrollment.full_period_classes = educationLevel.classes_school_year.reduce(reducer('full_period_classes'), 0); educationLevel.enrollment.day_classes = educationLevel.classes_school_year.reduce(reducer('day_classes'), 0); educationLevel.enrollment.total_classrooms_needed = educationLevel.classes_school_year.reduce(reducer('total_classrooms_needed'), 0); + } enrollment = enrollments[j]; @@ -1123,6 +1154,32 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => { } else { + + let ed_level = educationLevel.education_level_short_id; + let minimun_enrollment = minimunEnrollment(ed_level); + let minimun_classes = minimunClasses(ed_level); + let partial_day_enrollment = educationLevel.enrollment.total_enrollment_day - educationLevel.enrollment.integral_time; + + + // MatrÃculas diurnas + if (partial_day_enrollment >= minimun_enrollment) { + if (educationLevel.enrollment.day_classes < minimun_classes) { + educationLevel.enrollment.day_classes = minimun_classes; + } + } + // MatrÃculas integrais + if (educationLevel.enrollment.integral_time >= minimun_enrollment) { + if (educationLevel.enrollment.full_period_classes < minimun_classes) { + educationLevel.enrollment.full_period_classes = minimun_classes; + } + } + // MatrÃculas noturnas + if (educationLevel.enrollment.total_enrollment_night >= minimun_enrollment) { + if (educationLevel.enrollment.night_classes < minimun_classes) { + educationLevel.enrollment.night_classes = minimun_classes; + } + } + let teachingTimeFullPeriod = educationLevel.enrollment.full_period_classes * currentTeachingHours[2].value * req.schoolDays[educationLevelId-1].value; let teachingTimeNight = educationLevel.enrollment.night_classes * currentTeachingHours[1].value * req.schoolDays[educationLevelId-1].value; let teachingTimeDay = educationLevel.enrollment.day_classes * currentTeachingHours[0].value * req.schoolDays[educationLevelId-1].value; diff --git a/src/libs/routes_v2/school.js b/src/libs/routes_v2/school.js index 097006cd1f16cd526ad8cc4ee6cc914c86852b5f..8a44a234bb15fe8daa9612169e4f150a04708a93 100644 --- a/src/libs/routes_v2/school.js +++ b/src/libs/routes_v2/school.js @@ -294,6 +294,26 @@ rqf.addField({ type: 'integer', field: 'dependencia_adm_id' } +}).addValue({ + name: 'min_year', + table: 'escola_agregada', + tableField: 'ano_censo', + resultField: 'year', + where: { + relation: '>=', + type: 'integer', + field: 'ano_censo' + } +}).addValue({ + name: 'max_year', + table: 'escola_agregada', + tableField: 'ano_censo', + resultField: 'year', + where: { + relation: '<=', + type: 'integer', + field: 'ano_censo' + } }).addField({ name: 'search', field: true,