From ea3ce29ed1092d5a5f89be2ebbcbc9ca314d9bb6 Mon Sep 17 00:00:00 2001 From: Joao Kieras <jpko19@inf.ufpr.br> Date: Wed, 10 Aug 2022 11:09:26 -0300 Subject: [PATCH] Update pee_por_categoria --- src/libs/routes/enrollment.js | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/libs/routes/enrollment.js b/src/libs/routes/enrollment.js index e8ce942e..1a2eaf39 100644 --- a/src/libs/routes/enrollment.js +++ b/src/libs/routes/enrollment.js @@ -770,12 +770,34 @@ rqf.addField({ }); enrollmentApp.get('/', rqf.parse(), (req, res, next) => { - req.sql.field('COUNT(*)', 'total') - .field('matricula.ano_censo', 'year') - .from('matricula') - .group('matricula.ano_censo') - .order('matricula.ano_censo') - .where('((matricula.tipo<=3 OR matricula.tipo IS NULL) AND (matricula.tipo_atendimento_turma IS NULL OR matricula.tipo_atendimento_turma <= 2))'); + if('pee_por_categotria' in req.field){ + req.sql.field('SUM(SUM(CASE WHEN cegueira = true THEN 1 ELSE 0)', 'total_cegueira') + .field('SUM(CASE WHEN baixa_visao = true THEN 1 ELSE 0)', 'total_baixa_visao') + .field('SUM(CASE WHEN surdez = true THEN 1 ELSE 0)', 'total_surdez') + .field('SUM(CASE WHEN deficiencia_auditiva = true THEN 1 ELSE 0)', 'total_deficiencia_auditiva') + .field('SUM(CASE WHEN surdo_cegueira = true THEN 1 ELSE 0)', 'total_surdo_cegueira') + .field('SUM(CASE WHEN deficiencia_fisica = true THEN 1 ELSE 0)', 'total_deficiencia_fisica') + .field('SUM(CASE WHEN deficiencia_intelectual = true THEN 1 ELSE 0)', 'total_deficiencia_intelectual') + .field('SUM(CASE WHEN deficiencia_multiplas = true THEN 1 ELSE 0)', 'total_deficiencia_multiplas') + .field('SUM(CASE WHEN autismo = true THEN 1 ELSE 0)', 'total_autismo') + .field('SUM(CASE WHEN sindrome_asperger = true THEN 1 ELSE 0)', 'total_sindrome_asperger') + .field('SUM(CASE WHEN sindrome_rett = true THEN 1 ELSE 0)', 'total_sindrome_rett') + .field('SUM(CASE WHEN transtorno_desintegrativo_da_infancia = true THEN 1 ELSE 0)', 'total_transtorno_desintegrativo_da_infancia') + .field('SUM(CASE WHEN superdotado = true THEN 1 ELSE 0)', 'total_superdotado') + .field('matricula.ano_censo', 'year') + .from('matricula') + .group('matricula.ano_censo') + .order('matricula.ano_censo') + .where('((matricula.tipo<=3 OR matricula.tipo IS NULL) AND (matricula.tipo_atendimento_turma IS NULL OR matricula.tipo_atendimento_turma <= 2))'); + } + else{ + req.sql.field('COUNT(*)', 'total') + .field('matricula.ano_censo', 'year') + .from('matricula') + .group('matricula.ano_censo') + .order('matricula.ano_censo') + .where('((matricula.tipo<=3 OR matricula.tipo IS NULL) AND (matricula.tipo_atendimento_turma IS NULL OR matricula.tipo_atendimento_turma <= 2))'); + } next(); }, rqf.build(), query, id2str.transform(false), response('enrollment')); -- GitLab