~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório Composição de Custos Mensal de Recursos Humanos ====== Esse caso de uso tem por finalidade exibir um relatório referente à composição de custos mensal de recursos humanos. Esse relatório é gerado utilizando uma consulta por período e é utilizado 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 → Composição de custos mensal de recursos humanos. Inicialmente seleciona-se o ano para o qual deve ser gerado o relatório: * **Ano:** Tipo NUMÉRICO, formato: AAAA. Então o sistema exibe um relatório tal qual o modelo abaixo: * Modelo de Relatório COMPOSIÇÃO DE CUSTOS MENSAL DE RECURSOS HUMANOS ^Mês ^Vencimentos e Vantagens Fixas ^Retribuições ^Gratificações ^Adicionais ^Indenizações ^Assistenciais e previdenciários ^ Demais despesas e variáveis ^ |**Servidores de carreira que não ocupam cargo de provimento em comissão**||||||| |JAN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |FEV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |ABR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAI|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |AGO|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |SET|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |OUT|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |NOV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |DEZ|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |TOTAL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |**Servidores com contratos temporários**||||||| |JAN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |FEV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |ABR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAI|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |AGO|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |SET|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |OUT|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |NOV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |DEZ|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |TOTAL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |**Servidores cedidos com ônus ou em licença**||||||| |JAN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |FEV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |ABR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAI|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |AGO|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |SET|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |OUT|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |NOV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |DEZ|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |TOTAL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |**Servidores ocupantes de cargos do grupo direção e assessoramento superior**||||||| |JAN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |FEV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |ABR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAI|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |AGO|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |SET|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |OUT|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |NOV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |DEZ|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |TOTAL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |**Servidores ocupantes de funções gratificadas**||||||| |JAN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |FEV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |ABR|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |MAI|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUN|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |JUL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |AGO|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |SET|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |OUT|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |NOV|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |DEZ|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| |TOTAL|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99|R$ 999,99| O gráfico deve seguir o seguinte modelo: {{:desenvolvimento:especificacoes:sigrh:publico:casos_de_uso:quantitativos:grafico_custosmensais.png|}} As rubricas de Retribuição por Titulaçao - RT e da Gratificação Específica do Magistério Superior - GEMAS não são diferentes para os professores Estatutários e Celetistas (Estrangeiros). Por conseguinte, os valores financeiros das rúbricas de ambos os professores são contabilizados nos Vencimentos e Vantagens Fixas dos Estatutários. O caso de uso é finalizado. ===== Principais Regras de Negócio ===== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.rh.dominio.Servidor | administrativo.rh.servidor | | br.ufrn.sigrh.financeiro.dominio.FichaFinanceira | administrativo.financeiro.ficha_financeira | | br.ufrn.sigrh.financeiro.dominio.Rubrica | administrativo.financeiro.rubrica | ===== Plano de Teste ===== Sistema: SIGRH Módulo: Portal Público Link(s): Portal Público -> Quantitativos -> Composição de custos mensal de recursos humanos ===== 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 as informações do relatório para o mês de janeiro de determinado ano: SELECT 'JAN' AS mes, 1 AS ordem, 'Servidores de carreira que não ocupam cargo de provimento em comissão' AS denominacao, 1 AS tipo, SUM(CASE WHEN ( fr.codigo IN ( '00001', '00330', '00490', '00549', '00577', '00578', '00816', '00818', '01011', '01019', '01113', '10288', '15277', '80001', '82106', '82113', '82120', '82273', '82374', '82447', '00003', '01301', '01293', '10289', '01033', '16171' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS vencimentos, NULL AS retribuicoes, SUM(CASE WHEN ( fr.codigo IN ( '00013', '00077', '00064', '00073', '00075', '00775', '00177', '00178', '00243', '00256', '00492', '00522', '00593', '00712', '00757', '82462', '82604', '82606', '82610', '82707', '00095', '00094' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS gratificacoes, SUM(CASE WHEN ( fr.codigo IN ( '00028', '00053', '00067', '00220', '00667' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS adicionais, SUM(CASE WHEN ( fr.codigo IN ( '00112', '00136', '00659', '00951' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS idenizacoes, SUM(CASE WHEN ( fr.codigo IN ( '00700', '82737', '00121', '00005', '00018', '00034', '00038', '00039', '00041', '00175', '00182', '00206', '00244', '00249', '00356', '00358', '00360', '00579', '00817', '00819', '00903', '00910', '00911', '01033', '01293', '10289', '16171', '82107', '82114', '82121', '82122', '82375', '82463', '82484', '82526', '82601', '82605', '82607', '82708', '82702', '00596', '00597', '00600', '00128', '01044', '15466', '15307' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS assistenciais, SUM(CASE WHEN ( fr.codigo IN ( '00024', '00080', '82692', '82728' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS despesasvariaveis FROM financeiro.ficha_financeira AS fff JOIN financeiro.rubrica AS fr ON fr.id_rubrica = fff.id_rubrica AND fff.multiplicador = 1 AND fff.ano = 2010 JOIN rh.servidor AS rs ON rs.id_servidor = fff.id_servidor AND ( rs.data_exclusao IS NULL OR rs.data_exclusao > '2010-01-31' ) UNION SELECT 'JAN' AS mes, 1 AS ordem, 'Servidores com contratos temporários' AS denominacao, 2 AS tipo, SUM(CASE WHEN ( fr.codigo IN ( '00742', '00772', '82329' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 12, 52, 53, 54 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS vencimentos, NULL AS retribuicoes, SUM(CASE WHEN ( fr.codigo IN ( '00746', '00747' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 12, 52, 53, 54 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS gratificacoes, SUM(CASE WHEN ( fr.codigo IN ( '00750', '82404', '82405', '82400' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 12, 52, 53, 54 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS adicionais, NULL AS idenizacoes, NULL AS assistenciais, NULL AS despesasvariaveis FROM financeiro.ficha_financeira AS fff JOIN financeiro.rubrica AS fr ON fr.id_rubrica = fff.id_rubrica AND fff.multiplicador = 1 AND fff.ano = 2010 JOIN rh.servidor AS rs ON rs.id_servidor = fff.id_servidor AND ( rs.data_exclusao IS NULL OR rs.data_exclusao > '2010-01-31' ) UNION SELECT 'JAN' AS mes, 1 AS ordem, 'Servidores cedidos com ônus ou em licença' AS denominacao, 3 AS tipo, SUM(CASE WHEN ( fr.codigo IN ( '00001', '00330', '00490', '00549', '00577', '00578', '00816', '00818', '01011', '01019', '01113', '10288', '15277', '80001', '82106', '82113', '82120', '82273', '82374', '82447', '00003', '01301', '01293', '10289', '01033', '16171' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao = 8 AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS vencimentos, NULL AS retribuicoes, SUM(CASE WHEN ( fr.codigo IN ( '00013', '00077', '00064', '00073', '00075', '00775', '00177', '00178', '00243', '00256', '00492', '00522', '00593', '00712', '00757', '82462', '82604', '82606', '82610', '82707', '00095', '00094' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao = 8 AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS gratificacoes, SUM(CASE WHEN ( fr.codigo IN ( '00028', '00053', '00067', '00220', '00667' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao = 8 AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS adicionais, SUM(CASE WHEN ( fr.codigo IN ( '00112', '00136', '00659', '00951' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao = 8 AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS idenizacoes, SUM(CASE WHEN ( fr.codigo IN ( '00700', '82737', '00121' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao = 8 AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro ELSE NULL END) AS assistenciais, SUM(CASE WHEN ( fr.codigo IN ( '00024', '00080', '82692', '82728' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao = 8 AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS despesasvariaveis FROM financeiro.ficha_financeira AS fff JOIN financeiro.rubrica AS fr ON fr.id_rubrica = fff.id_rubrica AND fff.multiplicador = 1 AND fff.ano = 2010 JOIN rh.servidor AS rs ON rs.id_servidor = fff.id_servidor AND ( rs.data_exclusao IS NULL OR rs.data_exclusao > '2010-01-31' ) UNION SELECT 'JAN' AS mes, 1 AS ordem, 'Servidores ocupantes de cargos do grupo direção e assessoramento superior' AS denominacao, 4 AS tipo, NULL AS vencimentos, NULL AS retribuicoes, SUM(CASE WHEN ( fr.codigo IN ( '00522', '00612' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 4, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS gratificacoes, NULL AS adicionais, NULL AS idenizacoes, NULL AS assistenciais, NULL AS despesasvariaveis FROM financeiro.ficha_financeira AS fff JOIN financeiro.rubrica AS fr ON fr.id_rubrica = fff.id_rubrica AND fff.multiplicador = 1 AND fff.ano = 2010 JOIN rh.servidor AS rs ON rs.id_servidor = fff.id_servidor AND ( rs.data_exclusao IS NULL OR rs.data_exclusao > '2010-01-31' ) UNION SELECT 'JAN' AS mes, 1 AS ordem, 'Servidores ocupantes de funções gratificadas' AS denominacao, 5 AS tipo, NULL AS vencimentos, NULL AS retribuicoes, SUM(CASE WHEN ( fr.codigo IN ( '00256', '00757', '00593' ) AND fff.id_servidor IN (SELECT DISTINCT hs.id_servidor FROM funcional.historico_servidor AS hs WHERE hs.id_situacao IN ( 1, 2, 3, 4, 8, 11, 15, 18, 19, 20, 41 ) AND hs.ano = 2010 AND hs.mes = 1) AND rs.admissao < '2010-01-31' ) THEN fff.janeiro END) AS gratificacoes, NULL AS adicionais, NULL AS idenizacoes, NULL AS assistenciais, NULL AS despesasvariaveis FROM financeiro.ficha_financeira AS fff JOIN financeiro.rubrica AS fr ON fr.id_rubrica = fff.id_rubrica AND fff.multiplicador = 1 AND fff.ano = 2010 JOIN rh.servidor AS rs ON rs.id_servidor = fff.id_servidor AND ( rs.data_exclusao IS NULL OR rs.data_exclusao > '2010-01-31' ) ORDER BY tipo, ordem OBS: Para alterar o mês de consulta, basta modificar o mês dos somatórios de fff.janeiro para o mês desejado, por exemplo: fff.fevereiro e modificar as datas de admissão e exclusão analisadas para o último dia do mês desejado.