Tabela de conteúdos

~~ODT~~

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

Livros Recebidos ou Comprados

Este caso de uso demonstra por meio de relatório todos os livros comprados ou recebidos para uma determinada finalidade de pedido e período. O período considerado é a data do termo de responsabilidade do livro.

Descrição do Caso de Uso

Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Módulo Biblioteca → Aba Consultas/Relatórios → Consultas → Solicitados → Livros Recebidos ou Comprados.

Ao iniciar o caso de uso o sistema irá exibir os seguintes campos de filtro para a geração do relatório:

Ao sistema irá exibir o relatório no seguinte formato:

Fornecedor Empenho/Ano Editora Data Recebimento Nota Fiscal Quant. Titulos Quant. Volumes Montante
Nome 9..9/AAAA Nome DD/MM/AAAA 9..9 - X 9.9 9.9 9.9
Subtotal 9 9 R$ 9.99
Total 9 9 R$ 9.99

Caso na busca seja marcada a opção Detalhar Tombamentos o sistema apresenta o relatório da seguinte forma:

Livro Tombamentos Qtd. Valor
Fornecedor: Nome Fornecedor(Número CNPJ)
Empenho: 9../AAAA
Editora: Nome Editora
Nome 9..9/AAAA 9… 9.9
Subtotal 9 R$ 9.99
Total 9 R$ 9.99

O caso de uso é finalizado.

Principais Regras de Negócio

Não se aplica.

Resoluções/Legislações Associadas

Não se aplica.

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.requisicoes.biblioteca.dominio.FinalidadePedido administrativo.requisicoes.finalidade_pedido
br.ufrn.sipac.requisicoes.biblioteca.dominio.Editora administrativo.requisicoes.editora
br.ufrn.sipac.requisicoes.livrocontrato.dominio.ItemLivroContrato administrativo.requisicoes.item_livro_contrato
br.ufrn.sipac.requisicoes.biblioteca.dominio.MaterialInformacional administrativo.requisicoes.material_informacional
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.cadastro.dominio.Pessoa administrativo.comum.pessoa
br.ufrn.sipac.requisicoes.material.dominio.Material administrativo.comum.material
br.ufrn.sipac.almoxarifado.entradas.dominio.NotaFiscal administrativo.liquidacao.nota_fiscal
br.ufrn.sipac.almoxarifado.entradas.dominio.ItemNotaFiscal administrativo.liquidacao.item_nota_fiscal
br.ufrn.sipac.almoxarifado.entradas.dominio.EmpenhoNotaFiscal administrativo.liquidacao.empenho_notafiscal

Plano de Teste

Sistema: SIPAC

Módulo: Biblioteca

Link(s): Aba Consultas/Relatórios → Consultas → Solicitados → Livros Recebidos ou Comprados

Usuário: lilaalves

Papel que o usuário deve ter: SipacPapeis.GESTOR_BIBLIOTECA

Cenários de Teste

Verificar se os diversos filtros da busca estão trazendo as informações corretas sobre os livros comprados ou recebidos.

Dados para o Teste

Sql para verificar a consulta de livros recebidos ou comprados

SELECT r.fornecedor, r.editora, r.cod_empenho, r.ano, r.numNF, r.serieNF, r.dataRecebimento, r.cnpj, COUNT(DISTINCT r.idlivro) AS titulos , SUM(r.qtd) AS volumes , SUM(r.valor) AS valor 
FROM( SELECT DISTINCT it.id AS id_nota,nome AS fornecedor, ed.denominacao AS editora, cod_empenho, emp.ano AS ano, nf.numero AS numNF,
nf.serie AS serieNF,DATE(nf.data_cadastro) AS dataRecebimento, (it.valor * it.quantidade) AS valor,p.cpf_cnpj AS cnpj,l.id AS idlivro,it.quantidade AS qtd  
FROM liquidacao.nota_fiscal nf JOIN liquidacao.item_nota_fiscal it ON (nf.id_nota_fiscal = it.id_nota_fiscal) 
JOIN liquidacao.empenho_notafiscal empnf ON (nf.id_nota_fiscal = empnf.id_nota_fiscal) 
JOIN sco.empenho emp ON (emp.id_empenho = empnf.id_empenho) 
JOIN requisicoes.item_livro_contrato ilc ON (ilc.id_item_livro_contrato = it.id_item_livro_contrato) 
JOIN requisicoes.material_informacional l ON (l.id = ilc.id_livro) JOIN requisicoes.editora ed ON (l.id_editora = ed.id) 
JOIN requisicoes.item_material_informacional   il ON (l.id = il.id_material_informacional AND l.tipo = 1) JOIN requisicoes.requisicao_biblioteca r ON (r.id = il.id_requisicao) 
LEFT JOIN requisicoes.finalidade_pedido fp ON( r.id_finalidade_pedido = fp.id_finalidade_pedido) 
JOIN comum.material m ON (l.id_material = m.id_material) JOIN comum.pessoa p ON (p.id_pessoa = nf.id_fornecedor) 
 
-- r.id_finalidade_pedido  é a Fonte Orçamentária, ed.id id da editora e  p.id_pessoa o id do fornecedor
WHERE r.id_status IN  ( 101,104,105,106,108,1011,103,109,715,717,716,708,718 ) AND nf.estornada =   FALSE   
AND r.id_finalidade_pedido = ? AND DATE(nf.data_cadastro) >= ? AND DATE(nf.data_cadastro) <= ? 
AND ed.id = ? AND p.id_pessoa = ? 
GROUP BY fornecedor, editora, cod_empenho, emp.ano, numNF, serieNF, dataRecebimento,p.cpf_cnpj,idlivro,it.id,it.valor,it.quantidade  
ORDER BY fornecedor, cod_empenho, emp.ano, editora, dataRecebimento  ) r GROUP BY r.fornecedor, r.editora, r.cod_empenho, r.ano, r.numNF, r.serieNF, r.dataRecebimento, r.cnpj 
ORDER BY  fornecedor, cod_empenho, ano, editora, dataRecebimento,r.numNF