echo "";
echo "Última atualização: ";
ver('', false);
echo "
";
====== 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. ([[#principais_regras_de_negócio|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. ([[#principais_regras_de_negócio|RN08]]).
* **Estornar GRU**: Botão para estornar uma GRU gerada e ainda não paga. ([[#principais_regras_de_negócio|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.