~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório Total dos Docentes e Técnico Administrativos por Campus ====== Este caso de uso permite gerar um relatório dos docentes e técnico-administrativos por campus. O relatório fornece detalhes adicionais como categorias dos docentes (efetivos, Substitutos/Visitantes) e as localidades dos campus. Esse relatório pode ser gerado por qualquer usuário do sistema. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: //SIGRH -> Portal Público -> Quantitativos -> Total dos docentes e técnico-administrativos por campus//. Para realizar uma consulta, deve-se entrar com os seguintes dados: * Ano: Tipo NUMÉRICO, formato: AAAA. Então o sistema exibe um relatório tal qual o modelo abaixo: * Modelo de Relatório QUANTITATIVO GERAL DOS DOCENTES E TÉCNICO-ADMINISTRATIVOS POR CAMPUS | | | **MESES** |||||||||||| ^ Campus/Núcleo ^ Servidores ^ Jan ^ Fev ^ Mar ^ Abr ^ Mai ^ Jun ^ Jul ^ Ago ^ Set ^ Out ^ Nov ^ Dez ^ | | Docentes da Carreira do Magistério Superior Efetivos | 1511 | 1614 | 1612 | 1608 | 1607 | 1598 | 1605 | 1697 | 1692 | 1694 | 1693 | 1688 | | | Docentes da Carreira do Magistério Superior Substitutos/Visitantes | 146 | 149 | 176 | 195 | 202 | 201 | 209 | 145 | 144 | 142 | 144 | 121 | | Natal | Docentes do Ensino Básico, Técnico e Tecnológico Efetivos | 109 | 110 | 110 | 110 | 110 | 109 | 109 | 120 | 123 | 123 | 123 | 123 | | | Docentes do Ensino Básico, Técnico e Tecnológico/Substitutos | 20 | 21 | 20 | 20 | 25 | 26 | 27 | 18 | 18 | 19 | 19 | 19 | | | Técnico-Administrativos | 2882 | 2997 | 2991 | 2983 | 2975 | 2963 | 2954 | 2939 | 2924 | 2912 | 2911 | 2917 | | | **Sub-Total** | **4668** | **4891** | **4909** | **4916** | **4919** | **4897** | **4904** | **4919** | **4901** | **4890** | **4890** | **4868** | | | | |||||||||||| | | Docentes da Carreira do Magistério Superior Efetivos | 1511 | 1614 | 1612 | 1608 | 1607 | 1598 | 1605 | 1697 | 1692 | 1694 | 1693 | 1688 | | Santa Cruz | Docentes da Carreira do Magistério Superior Substitutos/Visitantes | 146 | 149 | 176 | 195 | 202 | 201 | 209 | 145 | 144 | 142 | 144 | 121 | | | Técnico-Administrativos | 2882 | 2997 | 2991 | 2983 | 2975 | 2963 | 2954 | 2939 | 2924 | 2912 | 2911 | 2917 | | | **Sub-Total** | **4668** | **4891** | **4909** | **4916** | **4919** | **4897** | **4904** | **4919** | **4901** | **4890** | **4890** | **4868** | | | | |||||||||||| | | Docentes da Carreira do Magistério Superior Efetivos | 1511 | 1614 | 1612 | 1608 | 1607 | 1598 | 1605 | 1697 | 1692 | 1694 | 1693 | 1688 | | Caicó | Docentes da Carreira do Magistério Superior Substitutos/Visitantes | 146 | 149 | 176 | 195 | 202 | 201 | 209 | 145 | 144 | 142 | 144 | 121 | | | Técnico-Administrativos | 2882 | 2997 | 2991 | 2983 | 2975 | 2963 | 2954 | 2939 | 2924 | 2912 | 2911 | 2917 | | | **Sub-Total** | **4668** | **4891** | **4909** | **4916** | **4919** | **4897** | **4904** | **4919** | **4901** | **4890** | **4890** | **4868** | | | | |||||||||||| | | Docentes da Carreira do Magistério Superior Efetivos | 1511 | 1614 | 1612 | 1608 | 1607 | 1598 | 1605 | 1697 | 1692 | 1694 | 1693 | 1688 | | Currais Novos | Docentes da Carreira do Magistério Superior Substitutos/Visitantes | 146 | 149 | 176 | 195 | 202 | 201 | 209 | 145 | 144 | 142 | 144 | 121 | | | Técnico-Administrativos | 2882 | 2997 | 2991 | 2983 | 2975 | 2963 | 2954 | 2939 | 2924 | 2912 | 2911 | 2917 | | | **Sub-Total** | **4668** | **4891** | **4909** | **4916** | **4919** | **4897** | **4904** | **4919** | **4901** | **4890** | **4890** | **4868** | | **TOTAL GERAL** || **5115** | **5365** | **5394** | **5411** | **5422** | **5422** | **5428** | **5457** | **5435** | **5406** | **5408** | **5374** | 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. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela ^ | br.ufrn.rh.dominio.Servidor | administrativo.rh.servidor | | br.ufrn.sigrh.dominio.Unidade | administrativo.comum.unidade | ===== Plano de Teste ===== Sistema: SIGRH Módulo: Portal Público Link(s): Quantitativos -> Total dos docentes e técnico-administrativos por campus ===== Cenários de Teste ===== Realizar as consultas no banco de dados e comparar com os resultados mostrados no relatório. ===== Dados para o Teste ===== Script para consultar o quantitativo geral dos servidores de acordo com o campus e o período determinado: SELECT 'Docentes da Carreira do Magistério Superior Efetivos' AS DENOMINACAO, 1 AS ORDEM, cu.id_municipio AS MUNICIPIO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-01-31') THEN 1 ELSE NULL END) AS JAN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-02-28') THEN 1 ELSE NULL END) AS FEV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-03-31') THEN 1 ELSE NULL END) AS MAR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-04-30') THEN 1 ELSE NULL END) AS ABR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-05-31') THEN 1 ELSE NULL END) AS MAI, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-06-30') THEN 1 ELSE NULL END) AS JUN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-07-31') THEN 1 ELSE NULL END) AS JUL, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-08-31') THEN 1 ELSE NULL END) AS AGO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-09-30') THEN 1 ELSE NULL END) AS SETE, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-10-31') THEN 1 ELSE NULL END) AS OUTU, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-11-30') THEN 1 ELSE NULL END) AS NOV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-12-31') THEN 1 ELSE NULL END) AS DEZ FROM RH.servidor AS rs INNER JOIN COMUM.unidade AS cu ON cu.id_unidade = rs.id_unidade WHERE rs.id_situacao IN (1,8,12,20) AND rs.id_cargo IN (60001) AND cu.id_municipio IN (1171, 1204, 1106, 1117) GROUP BY cu.id_municipio UNION SELECT 'Docentes da Carreira do Magistério Superior Substitutos' AS DENOMINACAO, 2 AS ORDEM, cu.id_municipio AS MUNICIPIO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-01-31') THEN 1 ELSE NULL END) AS JAN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-02-28') THEN 1 ELSE NULL END) AS FEV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-03-31') THEN 1 ELSE NULL END) AS MAR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-04-30') THEN 1 ELSE NULL END) AS ABR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-05-31') THEN 1 ELSE NULL END) AS MAI, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-06-30') THEN 1 ELSE NULL END) AS JUN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-07-31') THEN 1 ELSE NULL END) AS JUL, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-08-31') THEN 1 ELSE NULL END) AS AGO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-09-30') THEN 1 ELSE NULL END) AS SETE, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-10-31') THEN 1 ELSE NULL END) AS OUTU, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-11-30') THEN 1 ELSE NULL END) AS NOV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-12-31') THEN 1 ELSE NULL END) AS DEZ FROM RH.servidor AS rs INNER JOIN COMUM.unidade AS cu ON cu.id_unidade = rs.id_unidade WHERE rs.id_situacao IN (12) AND rs.id_cargo IN (60002,60003) AND cu.id_municipio IN (1171, 1204, 1106, 1117) GROUP BY cu.id_municipio UNION SELECT 'Docentes Ensino Básico, Técnico e Tecnológico Efetivos' AS DENOMINACAO, 3 AS ORDEM, cu.id_municipio AS MUNICIPIO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-01-31') THEN 1 ELSE NULL END) AS JAN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-02-28') THEN 1 ELSE NULL END) AS FEV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-03-31') THEN 1 ELSE NULL END) AS MAR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-04-30') THEN 1 ELSE NULL END) AS ABR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-05-31') THEN 1 ELSE NULL END) AS MAI, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-06-30') THEN 1 ELSE NULL END) AS JUN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-07-31') THEN 1 ELSE NULL END) AS JUL, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-08-31') THEN 1 ELSE NULL END) AS AGO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-09-30') THEN 1 ELSE NULL END) AS SETE, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-10-31') THEN 1 ELSE NULL END) AS OUTU, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-11-30') THEN 1 ELSE NULL END) AS NOV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-12-31') THEN 1 ELSE NULL END) AS DEZ FROM RH.servidor AS rs INNER JOIN COMUM.unidade AS cu ON cu.id_unidade = rs.id_unidade WHERE rs.id_situacao IN (1,8,12,20) AND rs.id_cargo IN (60011,702001) AND cu.id_municipio IN (1171, 1204, 1106, 1117) GROUP BY cu.id_municipio UNION SELECT 'Docentes Ensino Básico, Técnico e Tecnológico Substitutos' AS DENOMINACAO, 4 AS ORDEM, cu.id_municipio AS MUNICIPIO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-01-31') THEN 1 ELSE NULL END) AS JAN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-02-28') THEN 1 ELSE NULL END) AS FEV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-03-31') THEN 1 ELSE NULL END) AS MAR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-04-30') THEN 1 ELSE NULL END) AS ABR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-05-31') THEN 1 ELSE NULL END) AS MAI, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-06-30') THEN 1 ELSE NULL END) AS JUN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-07-31') THEN 1 ELSE NULL END) AS JUL, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-08-31') THEN 1 ELSE NULL END) AS AGO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-09-30') THEN 1 ELSE NULL END) AS SETE, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-10-31') THEN 1 ELSE NULL END) AS OUTU, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-11-30') THEN 1 ELSE NULL END) AS NOV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-12-31') THEN 1 ELSE NULL END) AS DEZ FROM RH.servidor AS rs INNER JOIN COMUM.unidade AS cu ON cu.id_unidade = rs.id_unidade WHERE rs.id_situacao IN (12) AND rs.id_cargo IN (60012, 60013,702003) AND cu.id_municipio IN (1171, 1204, 1106, 1117) GROUP BY cu.id_municipio UNION SELECT 'Técnico-Administrativos' AS DENOMINACAO, 5 AS ORDEM, cu.id_municipio AS MUNICIPIO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-01-31') THEN 1 ELSE NULL END) AS JAN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-02-28') THEN 1 ELSE NULL END) AS FEV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-03-31') THEN 1 ELSE NULL END) AS MAR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-04-30') THEN 1 ELSE NULL END) AS ABR, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-05-31') THEN 1 ELSE NULL END) AS MAI, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-06-30') THEN 1 ELSE NULL END) AS JUN, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-07-31') THEN 1 ELSE NULL END) AS JUL, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-08-31') THEN 1 ELSE NULL END) AS AGO, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-09-30') THEN 1 ELSE NULL END) AS SETE, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-10-31') THEN 1 ELSE NULL END) AS OUTU, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-11-30') THEN 1 ELSE NULL END) AS NOV, COUNT(CASE WHEN (rs.data_desligamento IS NULL OR rs.data_desligamento >= '2010-12-31') THEN 1 ELSE NULL END) AS DEZ FROM RH.servidor AS rs INNER JOIN COMUM.unidade AS cu ON cu.id_unidade = rs.id_unidade WHERE rs.id_situacao IN (1,8,12,20) AND rs.id_categoria = 2 AND cu.id_municipio IN (1171, 1204, 1106, 1117) GROUP BY cu.id_municipio ORDER BY MUNICIPIO, ORDEM