~~ODT~~

Última atualização: 2017/04/03 18:19 (edição externa)

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:

Então o sistema exibe um relatório tal qual o modelo abaixo:

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
JANR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
FEVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MARR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
ABRR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MAIR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JUNR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JULR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
AGOR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
SETR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
OUTR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
NOVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
DEZR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
TOTALR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
Servidores com contratos temporários
JANR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
FEVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MARR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
ABRR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MAIR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JUNR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JULR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
AGOR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
SETR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
OUTR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
NOVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
DEZR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
TOTALR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
Servidores cedidos com ônus ou em licença
JANR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
FEVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MARR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
ABRR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MAIR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JUNR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JULR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
AGOR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
SETR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
OUTR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
NOVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
DEZR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
TOTALR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
Servidores ocupantes de cargos do grupo direção e assessoramento superior
JANR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
FEVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MARR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
ABRR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MAIR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JUNR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JULR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
AGOR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
SETR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
OUTR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
NOVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
DEZR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
TOTALR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
Servidores ocupantes de funções gratificadas
JANR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
FEVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MARR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
ABRR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
MAIR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JUNR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
JULR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
AGOR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
SETR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
OUTR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
NOVR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
DEZR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99
TOTALR$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99R$ 999,99

O gráfico deve seguir o seguinte modelo:

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.