~~ODT~~ echo "
"; echo "Última atualização: ";ver('', false);echo "
";
====== Consulta de Créditos ====== Este caso de uso tem a finalidade realizar consulta de saldo de créditos em cartões de alimentação. Essa funcionalidade é utilizada pelos usuários de cartão de alimentação. A ferramenta estará disponível em um terminal de consultas dentro do Restaurante Universitário. ===== Descrição do Caso de Uso ===== Este caso de uso inicia-se quando a opção //SIPAC -> Restaurante -> Operações -> Refeições -> Módulo de Vendas -> Executar -> Consulta de Créditos // é acessada. É exibido o seguinte campo: ***__Crédito__**: Tipo TEXTO, formato: 99 REFEIÇÕES. Então o caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - O cartão deve ser próprio do sistema. Se um cartão externo for utilizado, o sistema deve indicar que o cartão não é válido. * **RN02** - O cartão deve estar associado a algum usuário. * **RN03** - O cartão deve estar ativo. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.restaurante.dominio.CartaoPagamentoPessoa | administrativo.restaurante.cartao_pagamento_pessoa | | br.ufrn.sipac.restaurante.dominio.CartaoPagamento | administrativo.restaurante.cartao_pagamento | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Restaurante Link(s): Operações -> Refeições -> Módulo de Vendas -> Executar -> Consulta de Créditos Usuário: gracacosta, kmbso (para acessar o módulo de vendas) Papel que usuário deve ter: Nenhum. Mas o usuário que iniciar o módulo de vendas precisa ter acesso ao módulo do Restaurante e um Restaurante como unidade. ===== Cenários de Teste ===== * Usuário na situação comum: possui um cartão com créditos. * Usuário com cartão bloqueado. * Cartão que não seja do restaurante. ===== Dados para o Teste ===== * Utilize o UC [[desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:controle_de_acesso_vendas::consultar_cartao|Consultar Cartão]] para confirmar a situação do cartão. * Para ver as trilhas de um cartão, utilize o seguinte SQL: SELECT '%' || faixa1 || '?;' || faixa2 || '?' FROM restaurante.cartao_pagamento WHERE codigo = Digite o resultado da consulta e pressione quando o sistema pedir que se passe o cartão na leitora para simular essa passagem. * Utilize a consulta abaixo para simular uma utilização do cartão: * Substituir o por um código de cartão que esteja associado a um usuário begin transaction; INSERT INTO restaurante.utilizacao_refeicao (id_utilizacao_refeicao, tipo_refeicao, id_cartao_pagamento_pessoa, DATA, id_valor_refeicao, id_restaurante, id_registro_entrada, qtd_antes_cartao, qtd_depois_cartao) VALUES ( (SELECT NEXTVAL('restaurante.utilizacao_refeicao_seq')), 'A', (SELECT id_cartao_pagamento_pessoa FROM restaurante.cartao_pagamento_pessoa NATURAL JOIN restaurante.cartao_pagamento WHERE ativo = true AND codigo = ), now(), (SELECT id_valor FROM restaurante.valor_refeicao WHERE tipo_vinculo = 1 ORDER BY data_cadastro DESC LIMIT 1 ), 1, 1, (SELECT credito_refeicoes FROM restaurante.cartao_pagamento_pessoa NATURAL JOIN restaurante.cartao_pagamento WHERE ativo = true AND codigo = ), (SELECT credito_refeicoes FROM restaurante.cartao_pagamento_pessoa NATURAL JOIN restaurante.cartao_pagamento WHERE ativo = true AND codigo = ) - 1 ); UPDATE restaurante.cartao_pagamento_pessoa SET credito_refeicoes = credito_refeicoes - 1 WHERE ativo = true AND id_cartao_pagamento = (SELECT id_cartao_pagamento FROM restaurante.cartao_pagamento WHERE codigo = ); end transaction;