~~ODT~~
Este caso de uso tem a finalidade de gerar um relatório quantitativo exibindo o número de requisições de passagens nacionais que foram empenhadas e o valor total gasto. Essa funcionalidade é utilizada pelos gestores de passagem.
Precondições: Requisições de passagem nacionais 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 Nacionais 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):
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:
Para cada item listado, é possível visualizar o resumo da requisição.
Relatório de Passagens Internacionais Empenhadas | ||
---|---|---|
UNIDADE: 1135 - SUPERINTENDÊNCIA DE INFORMÁTICA | ||
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.
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): Atendimento de Requisição → Aba de 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 e.data between 'ano-01-01' and 'ano-12-31' --busca por periodo AND e.ano=2014 --busca por ano 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 '2014-01-01' AND '2014-12-31' --alterar ao buscar por periodo ) 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 e.data between 'ano-01-01' and 'ano-12-31' --busca por periodo AND e.ano=2014 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 '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