~~ODT~~

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

Relatório de Passagens Internacionais Empenhadas

Este caso de uso tem a finalidade de gerar um relatório quantitativo exibindo o número de requisições de passagens internacionais que foram empenhadas e o valor total gasto. Essa funcionalidade é utilizada pelos gestores de passagem.

Precondições: Requisições de passagem internacionais empenhadas.

Este caso de uso se inicia quando o usuário acessa a opção: SIPAC → Atendimento de Requisições → Aba Passagem → Relatórios → Passagens Internacionais Empenhadas.

Inicialmente o sistema requer a definição de uma unidade e exibe os seguintes filtros para a criação do relatório(lembrando que apenas um filtro é permitido por consulta):

  • Unidade: Tipo NUMÉRICO e TEXTO, formato: DENOMINAÇÃO UNIDADE (CÓDIGO). Ao seleciona uma unidade, automaticamente o relatório deve trazer informações das subunidades.
  • Tipo de Passagem:Tipo LÓGICO, AEREA ou TERRESTRE.
  • Ano: Tipo NUMÉRICO.
  • Período: Tipo DATA, formato: DD/MM/AAAA a DD/MM/AAAA. (Selecionar ou o ano ou o período).

Se a unidade não for informada, exibir de todas as unidades, separadas por unidade gestora.

Então o sistema exibe os dados selecionados na consulta e uma listagem é exibida com os seguintes dados:

  • Unidade: Tipo - TEXTO. Formato: NOME DA UNIDADE (CÓDIGO).
  • Valor Total: Tipo - NUMÉRICO. Valor total de gastos da unidade no ano ou período selecionado.
  • Total de Requisições: Tipo - NUMÉRICO.

Para cada item listado, é possível visualizar o resumo da requisição.

Modelo da listagem

Relatório de Passagens Internacionais Empenhadas
UNIDADE: 1135 - SUPERINTENDÊNCIA DE INFORMÁTICA
TIPO DE PASSAGEM: AEREA
PERÍODO DA BUSCA: De 01/01/2014 a 31/12/2014
ANO: 2014
Unidades
Unidade Quantidade de Requisições Valor Total
«NOME DA UNIDADE» 99.999 R$ 9.999,99
Unidades Subordinadas
Unidade Requisições Valor
«NOME DA UNIDADE» 99.999 R$ 9.999,99
«NOME DA UNIDADE» 99.999 R$ 9.999,99
«NOME DA UNIDADE» 99.999 R$ 9.999,99

O caso de uso é finalizado.

Não se aplica.

Resoluções/Legislações Associadas

Não se aplica.

Classe Tabela
sipac.requisicoes.passagens.dominio.RequisicaoPassagem administrativo.requisicoes.requisicao_passagens

Sistema: SIPAC

Módulo: Atendimento de Requisição

Link(s): Passagem → Relatórios → Passagens Internacionais Empenhadas

Usuário: jbb

Papel que usuário deve ter: SipacPapeis.GESTOR_PASSAGEM

Não se aplica.

Busca por Unidades gestoras

SELECT e.id_unidade_gestora, u.codigo_unidade, u.nome, 
COUNT(DISTINCT(rp.*)) AS conta, SUM(valor_empenhado) AS total 
   FROM sco.sub_empenho_requisicao sr
 JOIN sco.sub_empenho s USING(id_sub_empenho)
 JOIN sco.empenho e USING (id_empenho)
 JOIN comum.unidade u ON (u.id_unidade=e.id_unidade_gestora)
 JOIN requisicoes.requisicao_passagem rp ON (sr.id_requisicao=rp.id)  
WHERE data_invalidacao IS NULL 
--and e.id_unidade_gestora=2644 --busca por unidade
AND rp.id IN 
(SELECT DISTINCT r.id FROM requisicoes.requisicao_passagem  r JOIN requisicoes.trecho t ON (r.id = t.id_req_passagem) WHERE 
(t.cidade_externa_destino IS NOT NULL OR t.cidade_externa_origem IS NOT NULL) 
AND r.data BETWEEN '2014-01-01' AND '2014-12-31' --alterar ao buscar por periodo
)
AND rp.tipo_pasagem=1 --(0 aereo 1 terrestre)
 
GROUP BY e.id_unidade_gestora, u.codigo_unidade, u.nome
ORDER BY nome, total

Busca por Unidades Subordinadas

SELECT u.id_unidade AS UnidadeGestoraEmp,u.codigo_unidade AS codUnidade, u.nome AS nomeUnidade, COUNT(DISTINCT(rp.*)) AS quantidade, SUM(valor_empenhado) AS valor  
FROM sco.sub_empenho_requisicao sr  
JOIN sco.sub_empenho s USING(id_sub_empenho)  
JOIN sco.empenho e USING (id_empenho)  
JOIN requisicoes.requisicao_passagem rp ON (sr.id_requisicao=rp.id)  
JOIN comum.unidade u ON (
u.id_unidade=rp.id_unidade_req
)  
 
WHERE data_invalidacao IS NULL 
AND e.id_unidade_gestora=2644 --busca por unidade
AND rp.tipo_pasagem=1 --(0 aereo 1 terrestre)
AND rp.id IN  
(SELECT DISTINCT r.id FROM requisicoes.requisicao_passagem  r JOIN requisicoes.trecho t ON (r.id = t.id_req_passagem) WHERE 
(t.cidade_externa_destino IS NOT NULL OR t.cidade_externa_origem IS NOT NULL) 
AND r.data BETWEEN '2014-01-01' AND '2014-12-31' --alterar ao buscar por periodo
) 
 
GROUP BY u.codigo_unidade,u.nome,u.id_unidade 
ORDER BY u.nome, valor

Buscar por Unidades que não são gestoras do empenho

SELECT u.id_unidade AS UnidadeReq,  u.codigo_unidade AS codUnidade, u.nome AS nomeUnidade, COUNT(DISTINCT(rp.*)) AS quantidade, SUM(valor_empenhado) AS total  
FROM sco.sub_empenho_requisicao sr  
JOIN sco.sub_empenho s USING(id_sub_empenho)  
JOIN sco.empenho e USING (id_empenho)  
JOIN requisicoes.requisicao_passagem rp ON (sr.id_requisicao=rp.id) 
INNER JOIN comum.unidade u ON (u.id_unidade = rp.id_unidade_req) 
WHERE data_invalidacao IS NULL
 
AND u.id_unidade=2  
AND rp.id IN  (SELECT DISTINCT r.id 
FROM requisicoes.requisicao_passagem  r 
JOIN requisicoes.trecho t ON (r.id = t.id_req_passagem) 
WHERE  (t.cidade_externa_destino IS NULL AND t.cidade_externa_origem IS NULL)  
AND r.data BETWEEN '2002-01-31' AND '2014-12-31' ) 
--and rp.tipo_passagem=1  --(0 aereo 1 terrestre)
GROUP BY u.id_unidade, u.codigo_unidade, u.nome  
ORDER BY u.nome,total 
  • desenvolvimento/especificacoes/sipac/atendimento_de_requisicoes/casos_de_uso/passagem/relatorios/relatorio_de_passagens_internacionais_empenhadas.txt
  • Última modificação: 2017/04/03 18:19
  • (edição externa)