diff --git a/src/libs/routes/schoolInfrastructure.js b/src/libs/routes/schoolInfrastructure.js index 5244b465c5ecbf52c1698e84b5bada3631a3098d..969fa987da552bc820c655cf90ab32c13017d9a8 100644 --- a/src/libs/routes/schoolInfrastructure.js +++ b/src/libs/routes/schoolInfrastructure.js @@ -230,7 +230,7 @@ rqf.addField({ } }); -function matchQueries(queryTotal, queryPartial, queryNeeded) { +function matchQueries(queryTotal, queryPartial, queryNeeded, zeroPercentage=false) { let match = []; queryTotal.forEach((result) => { let newObj = {}; @@ -277,6 +277,7 @@ function matchQueries(queryTotal, queryPartial, queryNeeded) { if(partialMatch && needMatch) { newObj.percentage = (partialMatch.total / result.total) * 100; + if(zeroPercentage) newObj.percentage = 0; newObj.partial = partialMatch.total; newObj.total = result.total; newObj.need_adaptation = needMatch.total; @@ -396,16 +397,13 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { req.queryIndex.needSportsCourt = req.querySet.push(needSportsCourt) - 1; // Cobertura de quadra esportiva - // FIXME: possÃvel fixme no where - req.queryIndex.allSportsCourtCoverage = req.queryIndex.allSportsCourt; + let allSportsCourtCoverage = allSportsCourt.clone(); + allSportsCourtCoverage.where('escola.quadra_esportes_descoberta = 1'); + req.queryIndex.allSportsCourtCoverage = req.querySet.push(allSportsCourtCoverage); - let haveSportsCourtCoverage = allSportsCourt.clone(); - haveSportsCourtCoverage.where('escola.quadra_esportes_descoberta = 1'); - req.queryIndex.haveSportsCourtCoverage = req.querySet.push(haveSportsCourtCoverage) - 1; + req.queryIndex.haveSportsCourtCoverage = req.queryIndex.allSportsCourtCoverage; - let needSportsCourtCoverage = allSportsCourt.clone(); - needSportsCourtCoverage.where('escola.quadra_esportes_descoberta = 0'); - req.queryIndex.needSportsCourtCoverage = req.querySet.push(needSportsCourtCoverage) - 1; + req.queryIndex.needSportsCourtCoverage = req.queryIndex.allSportsCourtCoverage; // Pátio req.queryIndex.allCourtyard = req.queryIndex.allSchools; @@ -419,16 +417,13 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { req.queryIndex.needCourtyard = req.querySet.push(needCourtyard) - 1; // Cobertura do Pátio - // FIXME: possÃvel fixme no where - req.queryIndex.allCourtyardCoverage = req.queryIndex.allSchools; + let allCourtyardCoverage = allSchools.clone(); + allCourtyardCoverage.where('escola.patio_coberto=0 AND escola.patio_descoberto = 1'); + req.queryIndex.allCourtyardCoverage = req.querySet.push(allCourtyardCoverage) - 1; - let haveCourtyardCoverage = allSchools.clone(); - haveCourtyardCoverage.where('escola.patio_coberto=0 AND escola.patio_descoberto = 1'); - req.queryIndex.haveCourtyardCoverage = req.querySet.push(haveCourtyardCoverage) - 1; + req.queryIndex.haveCourtyardCoverage = req.queryIndex.allCourtyardCoverage; - let needCourtyardCoverage = allSchools.clone(); - needCourtyardCoverage.where('escola.patio_coberto=0 AND escola.patio_descoberto=0'); - req.queryIndex.needCourtyardCoverage = req.querySet.push(needCourtyardCoverage) - 1; + req.queryIndex.needCourtyardCoverage = req.queryIndex.allCourtyardCoverage; // Sala de direção req.queryIndex.allDirectorRoom = req.queryIndex.allLibraries; @@ -595,9 +590,9 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { let kids_park = matchQueries(req.result[req.queryIndex.allKidsPark], req.result[req.queryIndex.haveKidsPark], req.result[req.queryIndex.needKidsPark]); let nursery = matchQueries(req.result[req.queryIndex.allCribs], req.result[req.queryIndex.haveCribs], req.result[req.queryIndex.needCribs]); let sports_court = matchQueries(req.result[req.queryIndex.allSportsCourt], req.result[req.queryIndex.haveSportsCourt], req.result[req.queryIndex.needSportsCourt]); - let sports_court_coverage = matchQueries(req.result[req.queryIndex.allSportsCourtCoverage], req.result[req.queryIndex.haveSportsCourtCoverage], req.result[req.queryIndex.needSportsCourtCoverage]); + let sports_court_coverage = matchQueries(req.result[req.queryIndex.allSportsCourtCoverage], req.result[req.queryIndex.haveSportsCourtCoverage], req.result[req.queryIndex.needSportsCourtCoverage], true); let courtyard = matchQueries(req.result[req.queryIndex.allCourtyard], req.result[req.queryIndex.haveCourtyard], req.result[req.queryIndex.needCourtyard]); - let courtyard_coverage = matchQueries(req.result[req.queryIndex.allCourtyardCoverage], req.result[req.queryIndex.haveCourtyardCoverage], req.result[req.queryIndex.needCourtyardCoverage]); + let courtyard_coverage = matchQueries(req.result[req.queryIndex.allCourtyardCoverage], req.result[req.queryIndex.haveCourtyardCoverage], req.result[req.queryIndex.needCourtyardCoverage], true); let director_room = matchQueries(req.result[req.queryIndex.allDirectorRoom], req.result[req.queryIndex.haveDirectorRoom], req.result[req.queryIndex.needDirectorRoom]); let secretary = matchQueries(req.result[req.queryIndex.allSecretary], req.result[req.queryIndex.haveSecretary], req.result[req.queryIndex.needSecretary]); let teacher_room = matchQueries(req.result[req.queryIndex.allTeacherRoom], req.result[req.queryIndex.haveTeacherRoom], req.result[req.queryIndex.needTeacherRoom]);