diff --git a/src/libs/routes/enrollment.js b/src/libs/routes/enrollment.js index e8ce942edb6965c17628cd64a1722075c926b3fe..1a2eaf39964d169be887f02176d9784c8d846d1b 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'));