~~ODT~~
Compra de Créditos
Este caso de uso tem a finalidade de realizar compras de créditos no restaurante universitário. Essa funcionalidade é acessada pelos discentes e servidores da instituições.
Descrição do Caso de Uso
Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Portal Administrativo → Outros → Compra de Créditos.
Ao acessar o caso de uso são solicitadas informações para adição de créditos e geração da GRU para pagamento.
- Quantidade de Créditos*: Tipo - Numérico. Número de créditos para abastecimento do cartão. (RN01).
Após a confirmação é gerada uma GRU com o valor correspondente aos créditos selecionados.
Na mesma tela é exibido um histórico das GRU emitidas, com informação de pagamento confirmado ou não, exibindo os dados abaixo:
- Data de Geração da GRU: Data em que a GRU foi gerada pelo usuário.
- Valor da GRU: Valor total da GRU gerada.
- Quantidade de Créditos: Quantidade de créditos totais da GRU gerada.
- Créditos adiantados: Exibe a quantidade de créditos adiantados com a geração da GRU.
- Data do pagamento da GRU: Data em que a GRU foi paga.
- Data do processamento da GRU: Data em que a GRU foi processada.
- Situação: Situação da GRU. Pode ser 'Paga', 'Pendente' ou 'Estornada'.
- Paga: GRU que teve o pagamento compensado (mesmo que tenha sido estornada no sistema).
- Pendente: GRU com pagamento ainda não compensado.
- Estornada: GRU estornada pelo usuário. A situação estornada é seguida pelo usuário de quem realizou a operação, exemplo: 'Estornada' (nomedousuário).
- Reimprimir GRU: Botão para reimprimir alguma GRU pendente. (RN08).
- Estornar GRU: Botão para estornar uma GRU gerada e ainda não paga. (RN011, RN12, RN13, RN14 e RN16).
O caso de uso é finalizado.
Principais Regras de Negócio
- RN01 - A quantidade máxima de créditos deve ser respeitada.
- RN02 - O valor da refeição (almoço ou janta) é de 3 reais para aluno e 4,50 para servidor.
- RN03 - Poderão ser geradas GRUs sem precisar de pagamento da anterior até um limite máximo de X créditos. Então poderão ser geradas até X GRUs de 1 crédito cada sem precisar pagar a anterior.
- RN04 - A compensação da GRU será de 0 créditos para GRUs de até X créditos.
- RN05 - Para valores acima de X refeições o número de refeições creditadas será o número de refeições da GRU menos X.
- RN06 - Após gerar até X créditos sem compensação bancária, não poderá ser gerada uma próxima GRU.
- RN07 - Após ter compensação bancária qualquer GRU pendente, é possível gerar uma nova GRU (até completar o valor de X refeições não pagas)
- RN08 - Opção habilitada para GRUs com situação “pendente”.
- RN09 - Não é permitido a compra de créditos com usuários bolsistas.
- RN10 - Depois do vencimento da GRU, diariamente avisar aos alunos que ultrapassaram esse limite que seu cartão será bloqueado em 10 dias corridos. Após esse tempo, bloquear cartão. O cartão será desbloqueado com o pagamento da GRU em atraso.
- RN11 - Somente será possível estornar GRU com situação
PENDENTE
. - RN12 - Não é possível estornar uma GRU com situação
PAGA
. - RN13 - Não é possível estornar uma GRU
PENDENTE
cujo algum bônus tenha sido consumido. - RN14 - Caso estorne alguma GRU antes da compensação, os créditos entram e status muda para
PAGA
. - RN15 - GRUs estornadas continuam na listagem.
- RN16 - Somente gestores do restaurante podem utilizar a operação de estorno de GRU.
- X = valor parametrizado
Resoluções/Legislações Associadas
Não se aplica.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.contratos.dominio.GuiaRecolhimentoUniao | contratos.guia_recolhimento_uniao |
Plano de Teste
Sistema: SIPAC
Módulo: Portal Administrativo
Link(s): Outros → Compra de Créditos
Usuário: qualquer usuário que possua cartão de acesso ao Restaurante Universitário
Papel que usuário deve ter: Não é necessário papel.
Cenários de Teste
Acessar o caso de uso e informar uma quantidade de créditos qualquer.
Dados para o Teste
Executar o select abaixo no banco de dados COMUM e verificar se a GRU foi criada para o usuário.
SELECT * FROM gru.guia_recolhimento_uniao ORDER BY id_gru DESC LIMIT 10
Selects auxiliares p/ visualizar/alterar os créditos respectivamente (BD Administrativo):
SELECT credito_refeicoes,credito_refeicoes_almoco FROM restaurante.cartao_pagamento_pessoa WHERE id_pessoa=<id_pessoa> UPDATE restaurante.cartao_pagamento_pessoa SET credito_refeicoes=0,credito_refeicoes_almoco=0 WHERE id_pessoa=<id_pessoa> AND ativo=TRUE