~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== 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