Tabela de conteúdos

~~ODT~~

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

Relatório Analítico do Total de Livros Solicitado por Unidade Agrupado por Editora

Esse caso de uso é utilizado pelos gestores de compra de livros com a finalidade de criar um relatório relacionando os totais de livros solicitados pelas unidades divididos por Editora.

Descrição do Caso de Uso

O caso de uso é acionado quando o usuário acessa a opção: SIPAC → Módulo Compra de Materiais Informacionais → Aba Relatórios → Relatórios → Editora → Analítico por Unidade Agrupado por Editora.

É requerido que sejam definidos os parâmetros de busca, através dos seguintes campos:

Então um relatório é exibido conforme o modelo abaixo:

Relatório Analítico do total Solicitado por Unidade Agrupado por Editora

Período de Solicitação: DD/MM/AAAA a DD/MM/AAAA Período de Entrega: DD/MM/AAAA a DD/MM/AAAA Fonte Orçamentária: Tipo - TEXTO. Título do Livro: Tipo - TEXTO. Unidade: Tipo - TEXTO.

Título do Livro ISBN Qtd. S Qtd. A Qtd. E * Valor Total Compra
CÓDIGO UNIDADE - NOME UNIDADE
NOME EDITORA
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
Total da Editora: 99 99 99 R$ 99,99 R$ 99,99
NOME EDITORA
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
Total da Editora: 99 99 99 R$ 99,99 R$ 99,99
Total da Unidade: 99 99 99 R$ 99,99 R$ 99,99
CÓDIGO UNIDADE - NOME UNIDADE
NOME EDITORA
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
Total da Editora: 99 99 99 R$ 99,99 R$ 99,99
NOME EDITORA
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
NOME LIVRO NÚMERO ISBN 99 99 99 R$ 99,99 R$ 99,99
Total da Editora: 99 99 99 R$ 99,99 R$ 99,99
Total da Unidade: 99 99 99 R$ 99,99 R$ 99,99
Total Geral: 99 99 99 R$ 99,99 R$ 99,99

O caso de uso é finalizado.

Principais Regras de Negócio

  1. RN01 - Apenas serão considerados os livros presentes em requisições de biblioteca cuja situação seja Enviada, Atendida, Negada ou Finalizada.
  2. RN02 - Um livro é considerado entregue quando este faz parte de um item de uma requisição de livros por contrato, e este item esteja com a situação de Pendente de Entrega, Entregue ou Parcialmente Entregue. A quantidade de itens entregues é armazenada no item da requisição.

Resoluções/Legislações Associadas

Não se aplica.

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.cadastro.dominio.Unidade comum.unidade
br.ufrn.sipac.requisicoes.biblioteca.dominio.ItemMaterialInformacional administrativo.requisicoes.item_material_informacional
br.ufrn.sipac.requisicoes.biblioteca.dominio.RequisicaoBiblioteca administrativo.requisicoes.requisicao_biblioteca
br.ufrn.sipac.requisicoes.biblioteca.dominio.FinalidadePedido administrativo.requisicoes.finalidade_pedido
br.ufrn.sipac.requisicoes.biblioteca.dominio.MaterialInformacional administrativo.requisicoes.material_informacional
br.ufrn.sipac.requisicoes.biblioteca.dominio.Editora administrativo.requisicoes.editora editora
br.ufrn.sipac.requisicoes.livrocontrato.dominio.ItemLivroContrato administrativo.requisicoes.item_livro_contrato
br.ufrn.sipac.requisicoes.livrocontrato.dominio.RequisicaoLivroContrato administrativo.requisicoes.requisicao_livro_contrato

Plano de Teste

Sistema: SIPAC

Módulo: Compra de Materiais Informacionais

Link(s): Aba Relatórios → Relatórios → Editora → Analítico por Unidade AGrupado por Editora

Usuário: san

Papel que usuário deve ter: SipacPapeis.GESTOR_COMPRA_MATERIAIS_INFORMACIONAIS.

Cenários de Teste

  1. Validar filtros
  2. Validar quantidades

Dados para o Teste

Livros nas situações da RN01:

SELECT livro.id, livro.titulo
FROM requisicoes.item_material_informacional item 
     INNER JOIN requisicoes.requisicao_biblioteca req ON (item.id_requisicao = req.id) 
     INNER JOIN requisicoes.material_informacional livro ON (item.id_material_informacional = livro.id AND livro.tipo =  1 ) 
WHERE req.ID_STATUS IN (101,104,102,105))

Livros nas situações da RN02 e suas quantidades entregues:

SELECT ilc.id_livro, COALESCE(ilc.quantidade_entregue, 0)  
FROM requisicoes.item_livro_contrato ilc
     LEFT JOIN requisicoes.requisicao_livro_contrato rlc ON (rlc.id = ilc.id_requisicao) 
WHERE ilc.id_status IN ( 105, 106, 107 )