From 9d6c34c1d9e612d6c94e6210304ebf046cee8478 Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Tue, 3 Jul 2018 10:35:17 -0300 Subject: [PATCH] Begin school infra --- src/libs/routes/school_infrastructure.js | 153 ++++++++++++++++------- 1 file changed, 107 insertions(+), 46 deletions(-) diff --git a/src/libs/routes/school_infrastructure.js b/src/libs/routes/school_infrastructure.js index 290bf1a0..33d73165 100644 --- a/src/libs/routes/school_infrastructure.js +++ b/src/libs/routes/school_infrastructure.js @@ -280,140 +280,193 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { .field('escola.ano_censo', 'year') .group('escola.ano_censo') .where('escola.situacao_de_funcionamento = 1') + .where('escola.ensino_regular = 1 OR escola.ensino_eja = 1 OR escola.educacao_profissional = 1') + .where('escola.local_func_predio_escolar = 1') + .where('escola.dependencia_adm_id <= 3') .order('escola.ano_censo'); - req.queryIndex.allSchools = req.querySet.push(allSchools) - 1; - - let schoolPlace = allSchools.clone(); - schoolPlace.where('escola.func_predio_escolar = 1 AND escola.func_salas_empresa = 0 AND escola.func_templo_igreja = 0 AND escola.func_casa_professor = 0 AND escola.func_galpao = 0 AND escola.biblioteca = 1'); - req.queryIndex.schoolPlace = req.querySet.push(schoolPlace) - 1; // Bibliotecas let allLibraries = allSchools.clone(); - allLibraries.where('escola.func_predio_escolar = 1 AND escola.cod_localizacao = 1'); + allLibraries.where('escola.cod_localizacao = 1'); req.queryIndex.allLibraries = req.querySet.push(allLibraries) - 1; let haveLibraries = allLibraries.clone(); haveLibraries.where('escola.biblioteca = 1'); req.queryIndex.haveLibraries = req.querySet.push(haveLibraries) - 1; + let needLibraries = allLibraries.clone(); + needLibraries.where('escola.biblioteca = 0'); + req.queryIndex.needLibraries = req.querySet.push(needLibraries) - 1; + // Bibliotecas/Sala de leitura let allLibrariesReadingRoom = allSchools.clone(); - allLibrariesReadingRoom.where('escola.func_predio_escolar = 1 AND escola.cod_localizacao = 2'); + allLibrariesReadingRoom.where('escola.cod_localizacao = 2'); req.queryIndex.allLibrariesReadingRoom = req.querySet.push(allLibrariesReadingRoom) - 1; let haveLibrariesReadingRoom = allLibrariesReadingRoom.clone(); - haveLibrariesReadingRoom.where('escola.sala_leitura = 1'); + haveLibrariesReadingRoom.where('escola.biblioteca_sala_leitura = 1'); req.queryIndex.haveLibrariesReadingRoom = req.querySet.push(haveLibrariesReadingRoom) - 1; + let needLibrariesReadingRoom = allLibrariesReadingRoom.clone(); + needLibrariesReadingRoom.where('escola.biblioteca_sala_leitura = 0'); + req.queryIndex.needLibrariesReadingRoom = req.querySet.push(needLibrariesReadingRoom) - 1; + // Laboratório de informática let allInfLab = allSchools.clone(); - allInfLab.where('escola.func_predio_escolar = 1') - .where('escola.reg_fund_ai = 1 OR escola.reg_fund_af = 1 OR escola.reg_medio_medio = 1 OR escola.reg_medio_integrado = 1 OR escola.reg_medio_normal = 1 OR escola.ensino_eja_fund = 1 OR escola.ensino_eja_medio = 1 OR escola.ensino_eja_prof = 1'); + allInfLab.where('escola.reg_infantil_preescola = 1 OR escola.reg_fund_ai = 1 OR escola.reg_fund_af = 1 OR escola.reg_medio_medio = 1 OR escola.reg_medio_integrado = 1 OR escola.reg_medio_normal = 1 OR escola.ensino_eja_fund = 1 OR escola.ensino_eja_medio = 1 OR escola.ensino_eja_prof = 1'); req.queryIndex.allInfLab = req.querySet.push(allInfLab) - 1; let haveInfLab = allInfLab.clone(); haveInfLab.where('escola.lab_informatica = 1'); req.queryIndex.haveInfLab = req.querySet.push(haveInfLab) - 1; + let needInfLab = allInfLab.clone(); + needInfLab.where('escola.lab_informatica = 0'); + req.queryIndex.needInfLab = req.querySet.push(needInfLab) - 1; + // Laboratório de ciências - let allScienceLab = allInfLab.clone(); + let allScienceLab = allSchools.clone(); + allScienceLab.where('escola.reg_fund_af = 1 OR escola.reg_medio_medio = 1 OR escola.reg_medio_integrado = 1 OR escola.reg_medio_normal = 1 OR escola.ensino_eja_fund = 1 OR escola.ensino_eja_medio = 1 OR escola.ensino_eja_prof = 1'); req.queryIndex.allScienceLab = req.querySet.push(allScienceLab) - 1; let haveScienceLab = allScienceLab.clone(); haveScienceLab.where('escola.lab_ciencias = 1'); req.queryIndex.haveScienceLab = req.querySet.push(haveScienceLab) - 1; + let needScienceLab = allScienceLab.clone(); + needScienceLab.where('escola.lab_ciencias = 0'); + req.queryIndex.needScienceLab = req.querySet.push(needScienceLab) - 1; + // Parque infantil let allKidsPark = allSchools.clone(); - allKidsPark.where('escola.func_predio_escolar = 1') - .where('escola.reg_infantil_creche = 1 OR escola.reg_infantil_preescola = 1 OR escola.reg_fund_ai = 1 OR escola.esp_infantil_creche = 1 OR escola.esp_exclusiva_creche = 1 OR escola.reg_esp_exclusiva_fund_ai = 1'); + allKidsPark.where('escola.reg_infantil_creche = 1 OR escola.reg_infantil_preescola = 1 OR escola.reg_fund_ai = 1'); req.queryIndex.allKidsPark = req.querySet.push(allKidsPark) - 1; let haveKidsPark = allKidsPark.clone(); haveKidsPark.where('escola.parque_infantil = 1'); req.queryIndex.haveKidsPark = req.querySet.push(haveKidsPark) - 1; + let needKidsPark = allKidsPark.clone(); + needKidsPark.where('escola.parque_infantil = 0'); + req.queryIndex.needKidsPark = req.querySet.push(needKidsPark) - 1; + // Berçário let allCribs = allSchools.clone(); - allCribs.where('escola.func_predio_escolar = 1') - .where('escola.reg_infantil_creche = 1 OR escola.esp_infantil_creche = 1'); + allCribs.where('escola.reg_infantil_creche = 1'); req.queryIndex.allCribs = req.querySet.push(allCribs) - 1; let haveCribs = allCribs.clone(); haveCribs.where('escola.bercario = 1'); req.queryIndex.haveCribs = req.querySet.push(haveCribs) - 1; - // Quadra - let allSportsCourt = allScienceLab.clone(); - allSportsCourt.where('escola.cod_localizacao = 1'); + let needCribs = allCribs.clone(); + needCribs.where('escola.bercario = 0'); + req.queryIndex.needCribs = req.querySet.push(needCribs) - 1; + + // Quadra Coberta + let allSportsCourt = allSchools.clone(); + allSportsCourt.where('escola.reg_fund_ai = 1 OR escola.reg_fund_af = 1 OR escola.reg_medio_medio = 1 OR escola.reg_medio_integrado OR escola.reg_medio_normal = 1 OR escola.ensino_eja_fund = 1 OR escola.ensino_eja_medio = 1 OR escola.ensino_eja_prof = 1'); req.queryIndex.allSportsCourt = req.querySet.push(allSportsCourt) - 1; let haveSportsCourt = allSportsCourt.clone(); haveSportsCourt.where('escola.quadra_esportes = 1'); req.queryIndex.haveSportsCourt = req.querySet.push(haveSportsCourt) - 1; - // Quadra coberta - req.queryIndex.allCoveredSportsCourt = req.queryIndex.allSportsCourt; + let needSportsCourt = allSportsCourt.clone(); + needSportsCourt.where('escola.quadra_esportes = 0'); + 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 haveSportsCourtCoverage = allSportsCourt.clone(); + haveSportsCourtCoverage.where('escola.quadra_esportes_descoberta = 1'); + req.queryIndex.haveSportsCourtCoverage = req.querySet.push(haveSportsCourtCoverage) - 1; + + let needSportsCourtCoverage = allSportsCourt.clone(); + needSportsCourtCoverage.where('escola.quadra_esportes_descoberta = 0'); - let haveCoveredSportsCourt = allSportsCourt.clone(); - haveCoveredSportsCourt.where('escola.quadra_esportes_coberta = 1'); - req.queryIndex.haveCoveredSportsCourt = req.querySet.push(haveCoveredSportsCourt) - 1; + // Pátio + req.queryIndex.allCourtyard = req.queryIndex.allSchools; - // Quadra Descoberta - let allUncoveredSportsCourt = allSportsCourt.clone(); - allUncoveredSportsCourt.where('escola.quadra_esportes_coberta = 0'); - req.queryIndex.allUncoveredSportsCourt = req.querySet.push(allUncoveredSportsCourt) - 1; + let haveCourtyard = allSchools.clone(); + haveCourtyard.where('escola.patio_coberto = 1'); + req.queryIndex.haveCourtyard = req.querySet.push(haveCourtyard) - 1; - let haveUncoveredSportsCourt = allUncoveredSportsCourt.clone(); - haveUncoveredSportsCourt.where('escola.quadra_esportes_descoberta = 1'); - req.queryIndex.haveUncoveredSportsCourt = req.querySet.push(haveUncoveredSportsCourt) - 1; + let needCourtyard = allSchools.clone(); + needCourtyard.where('escola.patio_descoberto = 0'); + req.queryIndex.needCourtyard = req.querySet.push(needCourtyard) - 1; + + // Cobertura do Pátio + // TODO: // Sala de direção - let allDirectorRoom = allSchools.clone(); - allDirectorRoom.where('escola.func_predio_escolar = 1 AND escola.cod_localizacao = 1'); - req.queryIndex.allDirectorRoom = req.querySet.push(allDirectorRoom) - 1; + req.queryIndex.allDirectorRoom = req.queryIndex.allLibraries; - let haveDirectorRoom = allDirectorRoom.clone(); + let haveDirectorRoom = allLibraries.clone(); haveDirectorRoom.where('escola.sala_diretoria = 1'); req.queryIndex.haveDirectorRoom = req.querySet.push(haveDirectorRoom) - 1; + let needDirectorRoom = allLibraries.clone(); + needDirectorRoom.where('escola.sala_diretoria = 0'); + req.queryIndex.needDirectorRoom = req.querySet.push(needDirectorRoom) - 1; + // Secretaria - let allSecretary = allSchools.clone(); - allSecretary.where('escola.func_predio_escolar = 1'); - req.queryIndex.allSecretary = req.querySet.push(allSecretary) - 1; + req.queryIndex.allSecretary = req.queryIndex.allSchools; - let haveSecretary = allSecretary.clone(); + let haveSecretary = allSchools.clone(); haveSecretary.where('escola.secretaria = 1'); req.queryIndex.haveSecretary = req.querySet.push(haveSecretary) - 1; + let needSecretary = allSchools.clone(); + needSecretary.where('escola.secretaria = 0'); + req.queryIndex.needSecretary = req.querySet.push(needSecretary) - 1; + // Sala de professores - req.queryIndex.allTeacherRoom = req.queryIndex.allSecretary; + req.queryIndex.allTeacherRoom = req.queryIndex.allSchools; - let haveTeacherRoom = allSecretary.clone(); + let haveTeacherRoom = allSchools.clone(); haveTeacherRoom.where('escola.sala_professor = 1'); req.queryIndex.haveTeacherRoom = req.querySet.push(haveTeacherRoom) - 1; + let needTeacherRoom = allSchools.clone(); + needTeacherRoom.where('escola.sala_professor = 0'); + req.queryIndex.needTeacherRoom = req.querySet.push(needTeacherRoom) - 1; + // Cozinha - req.queryIndex.allKitchen = req.queryIndex.allSecretary; + req.queryIndex.allKitchen = req.queryIndex.allSchools; - let haveKitchen = allSecretary.clone(); + let haveKitchen = allSchools.clone(); haveKitchen.where('escola.cozinha = 1'); req.queryIndex.haveKitchen = req.querySet.push(haveKitchen) - 1; + let needKitchen = allSchools.clone(); + needKitchen.where('escola.cozinha = 0'); + req.queryIndex.needKitchen = req.querySet.push(needKitchen) - 1; + // Despensa - req.queryIndex.allStoreroom = req.queryIndex.allSecretary; + req.queryIndex.allStoreroom = req.queryIndex.allSchools; - let haveStoreroom = allSecretary.clone(); + let haveStoreroom = allSchools.clone(); haveStoreroom.where('escola.despensa = 1'); req.queryIndex.haveStoreroom = req.querySet.push(haveStoreroom) - 1; + let needStoreroom = allSchools.clone(); + needStoreroom.where('escola.despensa = 0'); + req.queryIndex.needStoreroom = req.querySet.push(needStoreroom) - 1; + // Almoxarifado - req.queryIndex.allWarehouse = req.queryIndex.allSecretary; + req.queryIndex.allWarehouse = req.queryIndex.allSchools; - let haveWarehouse = allSecretary.clone(); + let haveWarehouse = allSchools.clone(); haveWarehouse.where('escola.almoxarifado = 1'); req.queryIndex.haveWarehouse = req.querySet.push(haveWarehouse) - 1; + let needWarehouse = allSchools.clone(); + needWarehouse.where('escola.almoxarifado = 1'); + req.queryIndex.needWarehouse = req.querySet.push(needWarehouse) - 1; + // Internet req.queryIndex.allInternet = req.queryIndex.allLibrariesReadingRoom; @@ -421,6 +474,10 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { haveInternet.where('escola.internet = 1'); req.queryIndex.haveInternet = req.querySet.push(haveInternet) - 1; + let needInternet = allLibrariesReadingRoom.clone(); + needInternet.where('escola.internet = 0'); + req.queryIndex.needInternet = req.querySet.push(needInternet) - 1; + // Internet banda larga req.queryIndex.allBroadbandInternet = req.queryIndex.allLibraries; @@ -428,6 +485,10 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { haveBroadbandInternet.where('escola.internet_banda_larga = 1'); req.queryIndex.haveBroadbandInternet = req.querySet.push(haveBroadbandInternet) - 1; + let needBroadbandInternet = allLibraries.clone(); + needBroadbandInternet.where('escola.internet_banda_larga = 0'); + req.queryIndex.needBroadbandInternet = req.querySet.push(needBroadbandInternet) - 1; + // Banheiro dentro do prédio req.queryIndex.allInsideBathroom = req.queryIndex.allSecretary; -- GitLab