~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório Docentes Ativos por Faixa Etária ====== Este é um relatório gerado mensalmente, e tem por objetivo exibir um quantitativo dos docentes ativos, separados por faixa etária e sexo. Está disponibilizado no portal público do SIGRH podendo ser acessador por qualquer pessoa. ===== Descrição do Caso de Uso ===== O Caso de Uso inicia-se quando o usuário acessa a opção: //SIGRH -> Portal Público -> Quantitativos -> Relatórios Mensais -> Docentes Ativos por Faixa Etária// Após acessar a referida opção, o usuário é encaminhado para uma tela onde será possível selecionar um mês e ano para filtragem do relatório. * **__Mês/Ano__**: tipo TEXTO com as opções dos meses do ano em um combobox, e outro combobox com os anos a partir de 2005. Ao acessar a opção Consultar, será gerado um relatório em formato PDF com os seguintes dados juntamente com sua disposição em tela: ^Faixa Etária ^Masculino ^Feminino ^Total | | 0 a 24 anos | 9999 | 9999 | 9999 | | 25 a 29 anos | 9999 | 9999 | 9999 | | 30 a 34 anos | 9999 | 9999 | 9999 | | 35 a 39 anos | 9999 | 9999 | 9999 | | 40 a 44 anos | 9999 | 9999 | 9999 | | 45 a 49 anos | 9999 | 9999 | 9999 | | 50 a 54 anos | 9999 | 9999 | 9999 | | 55 a 59 anos | 9999 | 9999 | 9999 | | 60 a 64 anos | 9999 | 9999 | 9999 | | 65 anos ou mais| 9999 | 9999 | 9999 | Abaixo da tabela é exibido um gráfico com os mesmos dados exibidos na tabela {{:desenvolvimento:especificacoes:sigrh:portal_publico:casos_de_uso:relatorios_estatisticos:relatorios_mensais:docentes_ativos_por_faixa_etaria.png|}} Então o caso de uso é finalizado. ===== Principais Regras de Negócio ===== Não se aplica. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Plano de Teste ===== Sistema: SIGRH Módulo: Portal Público Link(s): Quantitativos → Relatórios Mensais → Docentes Ativos por Faixa Etária Usuário: Não se aplica. Papel que usuário deve ter: Não se aplica. ===== Cenários de Teste ===== Utilizar a consulta abaixo para validar os dados do relatório, lembrando de substituir os parâmetros indicados na consulta pelos dados usados na filtragem do relatório. ex.: Mes = 09, Ano = 2011, Primeiro Dia do Mês = '01-09-2011', e a data de exclusão será gerada sempre como o último dia do Mês selecionado, '30-09-2011'. ===== Dados para o Teste ===== SELECT *, CAST (MASCULINO+FEMININO AS FLOAT ) AS TOTAL FROM ( SELECT A.DESCRICAO, ( SELECT CAST (COUNT(*) AS FLOAT ) FROM FUNCIONAL.HISTORICO_SERVIDOR H INNER JOIN RH.SERVIDOR S ON S.ID_SERVIDOR=H.ID_SERVIDOR INNER JOIN COMUM.PESSOA P ON P.ID_PESSOA=S.ID_PESSOA INNER JOIN RH.FORMACAO F ON F.ID_FORMACAO=P.ID_TIPO_FORMACAO WHERE H.ANO=:ano AND H.MES=:mes AND (((S.ID_CATEGORIA=1 AND S.ID_CARGO IN (60001,60011,702001)) AND S.ID_SITUACAO IN (1,8,12,20)) OR (S.ID_CARGO IN (60012,702003)) OR (S.ID_CARGO = 60002) ) AND (S.DATA_EXCLUSAO IS NULL OR S.DATA_EXCLUSAO>=:dataExclusao) AND P.SEXO='M' AND date_part('YEAR', age(:primeiroDiaDoMes, P.DATA_NASCIMENTO)) BETWEEN A.MINIMO AND A.MAXIMO ) AS MASCULINO, ( SELECT CAST (COUNT(*) AS FLOAT ) FROM FUNCIONAL.HISTORICO_SERVIDOR H INNER JOIN RH.SERVIDOR S ON S.ID_SERVIDOR=H.ID_SERVIDOR INNER JOIN COMUM.PESSOA P ON P.ID_PESSOA=S.ID_PESSOA INNER JOIN RH.FORMACAO F ON F.ID_FORMACAO=P.ID_TIPO_FORMACAO WHERE H.ANO=:ano AND H.MES=:mes AND (((S.ID_CATEGORIA=1 AND S.ID_CARGO IN (60001,60011,702001)) AND S.ID_SITUACAO IN (1,8,12,20)) OR (S.ID_CARGO IN (60012,702003)) OR (S.ID_CARGO = 60002) ) AND (S.DATA_EXCLUSAO IS NULL OR S.DATA_EXCLUSAO>=:dataExclusao) AND P.SEXO='F' AND date_part('YEAR', age(:primeiroDiaDoMes, P.DATA_NASCIMENTO)) BETWEEN A.MINIMO AND A.MAXIMO ) AS FEMININO,MINIMO FROM ( SELECT 'MENOR QUE 24 ANOS' AS DESCRICAO,0 AS MINIMO,24 AS MAXIMO UNION SELECT 'DE 25 A 29 ANOS',25,29 UNION SELECT 'DE 30 A 34 ANOS',30,34 UNION SELECT 'DE 35 A 39 ANOS',35,39 UNION SELECT 'DE 40 A 44 ANOS',40,44 UNION SELECT 'DE 45 A 49 ANOS',45,49 UNION SELECT 'DE 50 A 54 ANOS',50,54 UNION SELECT 'DE 55 A 59 ANOS',55,59 UNION SELECT 'DE 60 A 64 ANOS',60,64 UNION SELECT '65 ANOS OU MAIS',65,999 ) A ORDER BY A.MINIMO ) B