====== [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;