Tabela de conteúdos
[UC1691] Confirmar Pagamento Cartão de Crédito
Projeto: GSAN
Histórico de Revisões
| Data | Autor | Descrição | Proposta |
|---|---|---|---|
| 22/09/2015 | Denys Tavares | Criação do artefato. | |
| 02/10/2015 | Denys Tavares | Verificar existencia do aviso bancário para o arrecadador e data informada. |
Introdução
|
Este documento especifica os casos de uso e requisitos não-funcionais (RNFs) do projeto intitulado GSAN - Sistema Integrado de Gestão de Serviços de Saneamento - 8.1.1.4RD, referente à etapa de especificação do Projeto de Software (Software Design) do GSDP - Processo de Desenvolvimento da Fábrica de Software da Consenso. O objetivo do documento é fornecer aos desenvolvedores e Stakeholders as informações necessárias para o projeto e implementação, assim como para a realização dos testes e homologação da aplicação. |
Convenções, termos e abreviações utilizados nesse artefato
|
A correta interpretação deste documento exige o conhecimento de algumas convenções, termos específicos e abreviações, que são descritos a seguir: a) Stakeholders - termo usado em diversas áreas como administração e arquitetura de software referente às partes interessadas que devem estar de acordo com as práticas de governança corporativa executadas pela empresa. b) RNF (Requisitos Não Funcionais) - são os requisitos relacionados ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenibilidade e tecnologias envolvidas. Em geral, requisitos não-funcionais podem constituir restrições aos requisitos funcionais e não é preciso o cliente dizer sobre eles, pois eles são características mínimas de um software de qualidade, ficando a cargo do desenvolvedor optar por atender esses requisitos ou não. c) Logado - Usuário deve ter informado suas credenciais (login e senha) para entrar no sistema GSAN de forma que o mesmo possa identificá-lo. d) Radio Button - É um elemento de seleção de única escolha. De uma lista só é possível selecionar um item. |
Atores
A tabela abaixo descreve brevemente cada ator da aplicação.
| Ator | Descrição |
| Usuário da Divisão de Arrecadação (complexo (1)). | Usuários com acesso ao módulo Arrecadação do GSAN. |
Casos de Uso
Essa seção apresenta todos os requisitos funcionais da aplicação, especificados como casos de uso.
Diagrama de Caso de Uso
| Prioridade: | X | Essencial | Importante | Desejável | ||
| Ator(es): | Usuário da Divisão de Arrecadação (complexo (1)). | |||||
Descrição: Funcionalidade que permite gerar pagamentos recebidos através de cartão de crédito.
Pré-condições: O usuário deverá estar logado e deverá acessar a funcionalidade GSAN> Arrecadacao> Pagamento> Confirmar Pagamento Cartão de Crédito.
Pós-condições: Aviso Bancário e pagamentos incluídos na base de dados do GSAN.
Complexidade: Médio (1).
Casos de uso relacionados:
Fluxo Principal:
|
Subfluxos:
[SB0001] - Incluir Aviso Bancário
- Inclui o aviso bancário na tabela AVISO_BANCARIO com os seguintes valores:
| AVBC_ID | Id gerado pelo sistema |
| AVBC_DTLANCAMENTO | Data de vencimento informada |
| AVBC_NNSEQUENCIAL | 1 |
| AVBC_DTPREVISTA | Data de vencimento informada |
| AVBC_DTREALIZADA | Data de vencimento informada |
| AVBC_VLREALIZADO | Valor do Crédito informado |
| AVBC_VLARRECADACAOINFORMADO | Valor do Crédito informado |
| AVBC_VLDEVOLUCAOINFORMADO | Zero |
| AVBC_VLARRECADACAOCALCULADO | Valor total das guias |
| AVBC_VLDEVOLUCAOCALCULADO | (valor total das guias) - (valor da tarifa) |
| AVBC_VLCONTABILIZADO | Zero |
| AVBC_AMREFERENCIAARRECADACAO | Maior ano/mês entre o ano/mês da data de lançamento (AVBC_DTLANCAMENTO) e o ano/mês da arrecadação (PARM_AMREFERENCIAARRECADACAO da tabela SISTEMA_PARAMETROS) |
| AVBC_ICCREDITODEBITO | 1 |
| AVBC_NNDOCUMENTO | Zero |
| ARRC_ID | ARRC_ID do cliente arrecadador selecionado |
| CTBC_ID | CTBC_IDDEPOSITOARRECADACAO DA TABELA ARRECADADOR_CONTRATO PARA O ARRECADADOR INFORMADO E CONVENIO INFORMADO |
| ARMV_ID | Nulo |
| AVBC _TMULTIMAALTERACAO | CURRENT TIMESTAMP |
| ARFM_ID | ARFM_ID da tabela ARRECADACAO_FORMA para ARFM_ID correspondente a CARTÃO DE CRÉDITO. |
[SB0002] - Incluir pagamentos
| PGMT_ID | Id do pagamento gerado pelo sistema. |
| PGMT_AMREFERENCIAPAGAMENTO | Nulo. |
| PGMT_AMREFERENCIAARRECADACAO | Caso o ano/mês da data do pagamento seja maior que a PARM_AMREFERENCIAARRECADACAO da tabela SISTEMA_PARAMETROS atribuir ano/mês da data do pagamento, caso contrário atribuir o PARM_AMREFERENCIAARRECADACAO. |
| PGMT_VLPAGAMENTO | GPAG_VLDEBITO |
| PGMT_DTPAGAMENTO | GPAG_DTVENCIMENTO |
| PGST_IDATUAL | Nulo. |
| PGST_IDANTERIOR | Nulo. |
| DBTP_ID | DBTP_ID da guia de pagamento |
| CNTA_ID | Nulo. |
| GPAG_ID | GPAG_ID |
| DBAC_ID | Nulo. |
| LOCA_ID | LOCA_ID da guia de pagamento |
| DOTP_ID | Valor correspondente a GUIA DE PAGAMENTO da tabela DOCUMENTO_TIPO. |
| AVBC_ID | AVBC_ID do Aviso Bancário incluído |
| IMOV_ID | Nulo. |
| AMIT_ID | Nulo. |
| ARFM_ID | ARFM_ID do Aviso Bancário incluído |
| PGMT_TMULTIMAALTERACAO | CURRENT TIMESTAMP |
| CLIE_ID | CLIE_ID do cliente arrecadador |
| PGMT_VLEXCEDENTE | Nulo. |
| PGMT_ICEXPURGADO | Nulo. |
| FATU_ID | Nulo. |
| CBDO_ID | Nulo. |
| DOTP_IDAGREGADOR | Valor correspondente a GUIA DE PAGAMENTO da tabela DOCUMENTO_TIPO. |
| PGMT_TMPROCESSAMENTO | CURRENT TIMESTAMP |
| PACD_ID | Nulo. |
| PGMT_IDANTERIOR | Nulo. |
[SB0003] - Incluir Devolução
- Inclui a guia de devolução referente ao valor da tarifa, na tabela GUIA_DEVOLUCAO com os seguintes valores:
| GDEV_ID | Id da Guia de Devolução gerado pelo sistema |
| LOCA_ID | LOCA_ID da guia de pagamento |
| IMOV_ID | Nulo. |
| CLIE_ID | ID do Cliente Arrecadador |
| GDEV_AMREFERENCIACONTABIL | PARM_AMREFERENCIAARRECADACAO da tabela SISTEMA_PARAMETROS |
| GDEV_AMREFERENCIAGUIADEVOLUCAO | Nulo |
| GDEV_DTEMISSAO | Data corrente |
| GDEV_DTVALIDADE | Data corrente |
| GDEV_VLDEVOLUCAO | Valor da tarifa |
| RGAT_ID | Nulo |
| ORSE_ID | Nulo |
| LICT_ID | LICT_ID da tabela CREDITO_TIPO com CRTP_ID com o valor correspondente a descontos concedidos |
| DCST_IDATUAL | DCST_ID da tabela DEBITO_CREDITO_SITUACAO com o valor correspondente a Normal. |
| DCST_IDANTERIOR | Nulo. |
| CRTI_ID | CRTI_ID com o valor correspondente a descontos concedidos na tabela CREDITO_TIPO. |
| DOTP_ID | Com o valor correspondente a devolução de valor da tabela DOCUMENTO_TIPO. |
| CNTA_ID | Nulo |
| GPAG_ID | Nulo |
| DBAC_ID | Nulo |
| DBTP_ID | Id do tipo de débito da tabela DEBITO_TIPO com o valor correspondente a outros |
| GDEV_TMULTIMAALTERACAO | Data e hora correntes. |
| FUNC_IDANALISTA | Nulo |
| FUNC_IDAUTORIZADOR | Nulo |
| USUR_ID | Id do usuário da sessão |
- 2. O sistema inclui na tabela DEVOLUCAO a devolução referente à guia de devolução gerada com os seguintes valores:
| DEVL_ID | Id da devolução gerado pelo sistema. |
| DEVL_AMREFERENCIADEVOLUCAO | Nulo |
| DEVL_AMREFERENCIAARRECADACAO | Caso o ano/mês da data da devolução seja maior que a PARM_AMREFERENCIAARRECADACAO da tabela SISTEMA_PARAMETROS atribuir ano/mês da data da devolução, caso contrário atribuir o PARM_AMREFERENCIAARRECADACAO. |
| DEVL_VLDEVOLUCAO | Valor da Tarifa |
| DEVL_DTDEVOLUCAO | Data do Vencimento informada |
| DVST_IDATUAL | Nulo |
| DVST_IDANTERIOR | Nulo |
| AVBC_ID | ID do Aviso Bancário gerado |
| GDEV_ID | Id da Guia de Devolução gerada |
| LOCA_ID | LOCA_ID da guia de pagamento |
| IMOV_ID | Nulo |
| CLIE_ID | ID do Cliente Arrecadador |
| DBTP_ID | Id do tipo de débito da tabela DEBITO_TIPO com o valor correspondente a outros |
| DEVL_TMULTIMAALTERACAO | Data e hora correntes |
| CRAR_ID | Nulo |
| CBDO_ID | Nulo |
| DOTP_IDAGREGADOR | Nulo |
| PGMT_TMPROCESSAMENTO | Data e hora correntes |
Fluxo Secundário:
[FS0001] - Validar data do vencimento
|
[FS0002] - Verificar existência de guia de pagamento
|
Caso não exista nenhuma guia de pagamento para o filtro informado, exibir a mensagem: O arrecadador «código do cliente» não possui nenhuma guia de pagamento pendente para o filtro informado, e retornar para o passo correspondente no fluxo principal. |
[FS0003] - Verificar sucesso da transação
|
Caso o código de retorno da operação efetuada no banco de dados seja diferente de zero, exibir a mensagem conforme o código de retorno e encerrar o caso de uso. |
[FS0004] – Verificar existência de aviso bancário
|
Verificar se existe AVISO_BANCARIO com ARRC_ID = (ARRC_ID da tabela ARRECADADOR_CONTRATO com ARCT_ID=ARCT_ID da tabela ARRECADADOR_CONTRATO_TAR para ARFM_ID correspondente a CARTÃO DE CRÉDITO) e AVBC_DTLANCAMENTO = data do vencimento informada e ARFM_ID da tabela ARRECADACAO_FORMA para ARFM_ID correspondente a CARTÃO DE CRÉDITO). |
Informações técnicas adicionais
[IT0001] – Verificar existência de aviso bancário
|
Verificar se existe AVISO_BANCARIO com ARRC_ID = (ARRC_ID da tabela ARRECADADOR_CONTRATO com ARCT_ID=ARCT_ID da tabela ARRECADADOR_CONTRATO_TAR para ARFM_ID correspondente a CARTÃO DE CRÉDITO) e AVBC_DTLANCAMENTO = data do vencimento informada e ARFM_ID da tabela ARRECADACAO_FORMA para ARFM_ID correspondente a CARTÃO DE CRÉDITO). |
[IT0002] – Obter quantidade de guias pagas
|
A partir da tabela GUIA_PAGAMENTO_GERAL, caso a guia esteja na tabela GUIA_PAGAMENTO ou GUIA_PAGAMENTO_HISTORICO, com CLIE_ID=CLIE_ID do cliente selecionado e DCST_IDATUAL com o valor correspondente a normal da tabela DEBITO_CREDITO_SITUACAO, GPAG_DTVENCIMENTO = data de vencimento informada, GPAG_ID = GPAG_ID da tabela COBRANCA.PAG_CARTAO_CRED_ITEM) e exista pagamento (Na tabela PAGAMENTO ou PGAMENTO_HISTORICO) |
[IT0003] – Obter guias de pagamento pendentes
|
A partir da tabela GUIA_PAGAMENTO com CLIE_ID=CLIE_ID do cliente selecionado e DCST_IDATUAL com o valor correspondente a normal da tabela DEBITO_CREDITO_SITUACAO e GPAG_DTVENCIMENTO = data de vencimento informada e GPAG_ID = GPAG_ID da tabela COBRANCA.PAG_CARTAO_CRED_ITEM) sem pagamento ( GPAG_ID não existA na tabela PAGAMENTO) |
Tabelas relacionadas
ARRECADACAO.ARRECADADOR
ARRECADACAO.ARRECADADOR_CONTRATO
ARRECADACAO.ARRECADADOR_CONTRATO_TAR
ARRECADACAO.AVISO_BANCARIO
ARRECADACAO.PAGAMENTO
ARRECADACAO.PAGAMENTO_HISTORICO
ARRECADACAO.DEVOLUCAO
ARRECADACAO.GUIA_DEVOLUCAO
FATURAMENTO.GUIA_PAGAMENTO
CADASTRO.CLIENTE
COBRANCA.PAG_CARTAO_CRED_ITEM
Referências
Nesta seção, são apresentadas as referências utilizadas para a elaboração deste documento.
