====== [UC2235] - Relatório de Guia de Pagamento em Revisão ====== Este caso de uso gera um relatório das guias de pagamento em revisão \\ **Ator:** Usuário da Divisão de Faturamento (complexo [[:casos_de_uso:atores|(1)]] ).\\ **Prioridade** Essencial.\\ **Pré-condição:** Existência de Guia de Pagamento em Revisão.\\ **Pós-condição:**Relatório gerado com a relação de guias de pagamento em revisão que atenderam as condições dos filtros informados(formato PDF).\\ **Complexidade:** Simples [[:casos_de_uso:regraapuc|(1)]] .\\ **Histórico de Alterações:** ^**Data** ^**Analista** ^**Descrição da Alteração** | |26/01/2026|Claudio Lira|RM75920 - Criação do caso de uso| ===== Diagrama do caso de uso ===== skinparam usecase { BackgroundColor<< Main >> YellowGreen } ([UC2235] - Relatório de Guia de Pagamento em Revisão << Main >> Usuário - ([UC2235] - Relatório de Guia de Pagamento em Revisão) ===== Fluxo Principal ===== - O sistema exibe tela para receber os filtros de pesquisa das guias de pagamento em revisao: - **Imóvel**: o usuário informa ou pesquisa a matrícula do imóvel:** [FS0001-VALIDAR IMÓVEL];** - Caso seja informado/pesquisado o imóvel, desabilitar o filtro de cliente; - **Cliente**: o usuário informa ou pesquisa o código de cleinte: **[FS0002-VALIDAR CLIENTE;** - Caso seja informado/pesquisado o código do cliente, desabilitar o filtro de imóvel; - **Incluir Guias com Pagamento**: ( ) SIM ( ) NÃO (selecionar entre SIM E NAO); - **Intervalo de Data de Revisão**: dd/mm/aaa a dd/mm/aaaa; - A data correspondente ao intervalo incial deve ser menor/igual ao intervalo final; - A data correspondente ao intervalo final deve ser maior/igual ao intervalo inicial; - A data do intervalo inicial/final não pode ser maior que a data atual; - **Intervalo de Data de Emissão**: dd/mm/aaa a dd/mm/aaaa; - A data correspondente ao intervalo incial deve ser menor/igual ao intervalo final; - A data correspondente ao intervalo final deve ser maior/igual ao intervalo inicial; - A data do intervalo inicial/final não pode ser maior que a data atual; - **Intervalo de Data de Vencimento**: dd/mm/aaa a dd/mm/aaaa; - A data correspondente ao intervalo incial deve ser menor/igual ao intervalo final; - A data correspondente ao intervalo final deve ser maior/igual ao intervalo inicial; - **Motivo de Revisão**: exibir relação com as descrição dos motivos de revisão: **o usuário poderá selecionar um ou mais motivos;** - Selecionar **cmrv_dsmotivorevisaoconta** da tabela faturamento.conta_motivo_revisao com cmrv_icuso = 1; - **Botões de Açoes**: - **LIMPAR**: Caso selecionado, limpar os filtros informados e retornar para o item 1 do fluxo principal; - **CANCELAR**: Caso selecionado, retornar para o menu principal do sistema; - **GERAR**: Caso selecionado, o sistema pesquisa as guias de pagamento em revisão para geração do relatório: - Caso o usuário tenha informado matrícula do imóvel** [SB0001 - Pesquisar Guia de Pagamento Imóvel]**; - Caso o usuário tenha informado código de cliente** [SB0002 - Pesquisar Guia de Pagamento Cliente]**;; - Encerra o caso de uso. ==== [SB0001] - Pesquisar Guia de Pagamento Imóvel ==== - Selecionar as guias de pagamentos a partir da tabela **faturamento.guia_pagamento **de acordo com os filtros informados com: - **IMOV_ID = matrícula do imóvel informada/pesquisada;** - Caso o filtro **INCLUIR GUIAS COM PAGAMENTO = NÃO:** - Desconsiderar as guias com existência de pagamento na tabela arrecadacao.pagamento com** gpag_id = gpag_id** da tabela guia_pagamento;. - **Intervalo Data de Revisão: **selecionar apenas guias de pagamento cuja a data de revisão estaja dentro do intervalo de data de revisão informado;. - **gpag_dtrevisao >= data inicial do intervalo** e **gpag_dtrevisao <= data final do intervalo**; - **Intervalo Data de Emissão: **selecionar apenas guias de pagamento cuja a data de emissão estaja dentro do intervalo de data de emissão informado;. - **gpag_dtemissao >= data inicial do intervalo** e **gpag_dtemissao <= data final do intervalo**; - **Intervalo Data de Vencimento: **selecionar apenas guias de pagamento cuja a data de vencimento estaja dentro do intervalo de data de vecimento informado;. - **gpag_dtvencimento >= data inicial do intervalo** e **gpag_dtvencimento <= data final do intervalo**; - **Motivo de Revisão**: selecionar guias de pagamento com **cmrv_id** correspondente aos motivos de revisao selecionados; - Caso o filtro de **INCLUIR GUIAS COM PAGAMENTO = SIM;** - Selecionar as guias da tabela **faturamento.guia_pagamento_historico **de acordo com os filtros informados com: - **IMOV_ID = matrícula do imóvel informada/pesquisada;** - **Intervalo Data de Revisão: **selecionar apenas guias de pagamento cuja a data de revisão estaja dentro do intervalo de data de revisão informado;. - **gpag_dtrevisao >= data inicial do intervalo** e **gpag_dtrevisao <= data final do intervalo**; - **Intervalo Data de Emissão: **selecionar apenas guias de pagamento cuja a data de emissão estaja dentro do intervalo de data de emissão informado;. - **gpag_dtemissao >= data inicial do intervalo** e **gpag_dtemissao <= data final do intervalo**; - **Intervalo Data de Vencimento: **selecionar apenas guias de pagamento cuja a data de vencimento estaja dentro do intervalo de data de vecimento informado;. - **gpag_dtvencimento >= data inicial do intervalo** e **gpag_dtvencimento <= data final do intervalo**; - **Motivo de Revisão**: selecionar guias de pagamento com **cmrv_id** correspondente aos motivos de revisao selecionados; - **Processar as guias de pagamentos retornadas**: - Caso tenha retornado guias de pagamentos da tabela **guia_pagamento ou guia_pagamento_historico **o sistema gera o relatório com as guias de pagamentos de imóvel: - Gerar Relatório Guia Pagamento Imóvel:** [SB0003- Gerar Relatório Guia de Imóvel];** - Caso Contrário:** [FS0003-Dados Não Retornados]**; ==== [SB0003] - Gerar relatório Guia de Imóvel ==== - O sistema gera o relatório com as guias de pagamento de imóvel conforme layout abaixo: - **Título**: Relatório de Guias de Pagamento em Revisão por RGL; - **Dados dos filtros informados**: - Intervalo da data de revisão; - Intervalo da data de emissão; - Intervalor da data de vencimento; - **Identificação do imóvel**: - RGL: imov_id da guia de pagameno; - Endereço do imóvel: exbir o endereço do imóvel formatado (logradouro/número/complemento/bairro/cidade/uf); - Cliente Usuário Atual: exbir clie_nmcliente da tabela cadasro.cliente com clie_id = clie_id da tabela cliente_imovel com: - imov_id = imov_id da guia de pagamento; - crtp_id = 2 (relação de usuário); - clim_dtrelacaofim = nulo (usuário atual); - **Detalhe por guia de pagamento selecionada**: - Para cada guia de pagamento retornada exibir os dados da guia de pagamento em revisão: - **Número da Guia**: gpag_id - **Data Emissão**: gpag_dtemissao(dd/mm/aaaa); - **Data de Vencimento**: gpag_dtvencimento(dd/mm/aaaa); - **Valor da Guia**: gpag_vldebito; - **Data de Revisão**: gpag_dtrevisao(dd/mm/aaaa); - **Motivo de Revisão**: cmrv_dsmotivorevisaoconta; - **Total: **exibir no final do relatório: - **Quantidade de guias em Revisão**: exibir a quantidade de guias; - **Valor total das guias em revisão**: exibir o somatório de gpag_vldebito das guiasr **Fluxos Secundários:** **[FS0001] - Validar Imóvel** - O sistema pesquisa a matrícula do imóvel informado: selecionar **imov_id** na tabela cadastro.imovel com **imov_id = matrícula informada**; - **Cáso a pesquisa não retorne o imóvel, **exibir mensagem: **'Matrícula do imóvel informada não existe'** e retornar para o item 1 do fluxo principal; **[FS0002] - Validar Cliente** - O sistema pesquisa o código do cliente informado: selecionar **clie_id** na tabela cadastro.cliente com **clie_id = código do cliente informado**; - **Cáso a pesquisa não retorne o cliente, **exibir mensagem: **'Código do cliente informado não existe'** e retornar para o item 1 do fluxo principal; **[FS0003] - Dados Não Retornados** - Exibir mensagem: **'Não foram encontrados dados para os filtros informados'** e retornar para o item 1 do fluxo principal;