~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório Analítico ====== Esse caso de uso está especificado em [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:financeiro:operacoes_para_o_gfip_sefip:relatorio_analitico|relatório analítico]] no módulo de Administração de Pessoal. Os gestores financeiros são os responsáveis por esta funcionalidade. ===== Plano de Teste ===== Sistema: SIGRH Módulo: Financeiro Link(s): Financeiro -> Operações para o GFIP/SEFIP -> Relatório Analítico Usuários: mirian Papel que usuário deve ter: SigrhPapeis.GESTOR_FINANCEIRO ===== Cenários de Teste ===== Gerar os relatórios e conferir com os dados das consultas no banco. ===== Dados para o Teste ===== Consulta com os médicos residentes para Setembro/2011. SELECT pessoa.nome AS nome, servidor.siape AS siape, pessoa.data_nascimento AS nascimento, servidor.admissao AS admissao, pessoa.nitpis AS pis, rubrica.denominacao AS rubrica, SUM(fichafinan.setembro) AS remuneracao FROM financeiro.ficha_financeira fichafinan INNER JOIN rh.servidor servidor ON fichafinan.id_servidor = servidor.id_servidor INNER JOIN comum.pessoa pessoa ON servidor.id_pessoa = pessoa.id_pessoa INNER JOIN financeiro.rubrica rubrica ON fichafinan.id_rubrica = rubrica.id_rubrica WHERE fichafinan.ano = 2011 AND fichafinan.multiplicador = 1 AND ( rubrica.codigo IN ( '00048', '82743' ) ) AND ( servidor.id_tipo_regime_juridico IN ( 3, 7 ) ) GROUP BY pessoa.nome, servidor.siape, pessoa.data_nascimento, servidor.admissao, pessoa.nitpis, rubrica.denominacao HAVING SUM(fichafinan.setembro) > 0 ORDER BY pessoa.nome Consulta com os servidores com contratos temporários para Setembro/2011. SELECT unidade.codigo_unidade AS codUnidade, unidade.nome AS nomeUnidade, unidade.id_unidade AS idUnidade, pessoa.nome AS nome, pessoa.data_nascimento AS nascimento, servidor.admissao AS admissao, servidor.siape AS siape, pessoa.nitpis AS pis, SUM(CASE WHEN fichafinan.multiplicador = 1 AND ( rubrica.codigo IN ( '00003', '00066', '00220', '00256', '00593', '00612', '00613', '00712', '00742', '00750', '00754', '00755', '00775', '15277', '80002', '82404', '82405', '82329', '82606', '82706', '82707', '82174' ) ) THEN fichafinan.setembro END) AS remuneracao, SUM(CASE WHEN fichafinan.multiplicador = -1 AND ( rubrica.codigo IN ( '00003', '00066', '00220', '00256', '00593', '00612', '00613', '00712', '00742', '00750', '00754', '00755', '00775', '15277', '80002', '82404', '82405', '82329', '82606', '82706', '82707', '82174' ) ) THEN fichafinan.setembro END) AS desconto, SUM(CASE WHEN fichafinan.multiplicador = -1 AND ( rubrica.codigo IN ( '98001', '98006', '98018' ) ) THEN fichafinan.setembro END) AS previdencia FROM financeiro.ficha_financeira fichafinan INNER JOIN rh.servidor servidor ON fichafinan.id_servidor = servidor.id_servidor INNER JOIN comum.pessoa pessoa ON servidor.id_pessoa = pessoa.id_pessoa INNER JOIN comum.unidade unidade ON servidor.id_unidade_pagadora = unidade.id_unidade INNER JOIN financeiro.rubrica rubrica ON fichafinan.id_rubrica = rubrica.id_rubrica WHERE fichafinan.ano = 2011 AND fichafinan.setembro > 0 AND ( rubrica.codigo IN ( '00003', '00066', '00220', '00256', '00593', '00612', '00613', '00712', '00742', '00750', '00754', '00755', '00775', '15277', '80002', '82404', '82405', '82329', '82606', '82706', '82707', '82174' ) OR rubrica.codigo IN ( '98001', '98006', '98018' ) ) AND ( servidor.id_tipo_regime_juridico = 4 AND ( servidor.id_situacao IN ( 12, 52, 54, 53 ) ) OR servidor.id_tipo_regime_juridico = 1 AND servidor.id_situacao = 4 OR servidor.id_tipo_regime_juridico = 2 AND servidor.id_situacao = 20 ) GROUP BY unidade.codigo_unidade, unidade.nome, unidade.id_unidade, pessoa.nome, servidor.siape, pessoa.data_nascimento, servidor.admissao, pessoa.nitpis ORDER BY unidade.codigo_unidade, unidade.nome, unidade.id_unidade, pessoa.nome