~~ODT~~
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:
- Período*: Tipo DATA. Formato: DD/MM/AAAA a DD/MM/AAAA.
- Fonte Orçamentária: Tipo TEXTO.
- Editora: Tipo TEXTO.
- Detalhar Tombamentos: Tipo LÓGICO.
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