Mudanças entre as edições de "Bonificação com Saldo Fixo"
Linha 10: | Linha 10: | ||
*[RN1] - Utilização do Saldo: o vendedor poderá utilizar o saldo de bonificação enquanto houver saldo, ou seja, o sistema validará somente se existe saldo disponível para a bonificação. Se V > SA, o sistema não deve permitir que o pedido seja salvo; caso contrário, deve-se atualizar o saldo do cliente SN = SA - V | *[RN1] - Utilização do Saldo: o vendedor poderá utilizar o saldo de bonificação enquanto houver saldo, ou seja, o sistema validará somente se existe saldo disponível para a bonificação. Se V > SA, o sistema não deve permitir que o pedido seja salvo; caso contrário, deve-se atualizar o saldo do cliente SN = SA - V | ||
− | + | #'''V''' = valor do pedido de bonificação | |
− | + | #'''SA''' = saldo disponível para o cliente antes da tirado do pedido | |
− | + | #'''SN''' = saldo novo disponível para o cliente, logo depois da tirado do pedido | |
*[RN2] - O Saldo deve ser atualizado de acordo com as mudanças (Edição, exclusão, cancelamento, inclusão) nos pedidos alvo | *[RN2] - O Saldo deve ser atualizado de acordo com as mudanças (Edição, exclusão, cancelamento, inclusão) nos pedidos alvo |
Edição das 16h19min de 22 de setembro de 2016
Necessidade
Como forma de incentivar a compra por parte de novos clientes é dado ao cliente um valor para ser usado como bonificação. É preciso que um vendedor possa tirar pedidos de bonificação para clientes consumindo um saldo específico para bonificação de cada cliente. Quando esse saldo for consumido por completo o sistema não permitirá a tiragem de pedidos de bonificação para o cliente cujo saldo esteja zerado.
Solução Declarativa
Será utilizado o limite de crédito por meio de pagamento para que seja possível criar um saldo para pedidos de bonificação. Para os pedidos do tipo bonificação será cadastrado um meio de pagamento que tenha um limite cadastrado para ele.
Regras de Negócio
- [RN1] - Utilização do Saldo: o vendedor poderá utilizar o saldo de bonificação enquanto houver saldo, ou seja, o sistema validará somente se existe saldo disponível para a bonificação. Se V > SA, o sistema não deve permitir que o pedido seja salvo; caso contrário, deve-se atualizar o saldo do cliente SN = SA - V
- V = valor do pedido de bonificação
- SA = saldo disponível para o cliente antes da tirado do pedido
- SN = saldo novo disponível para o cliente, logo depois da tirado do pedido
- [RN2] - O Saldo deve ser atualizado de acordo com as mudanças (Edição, exclusão, cancelamento, inclusão) nos pedidos alvo
Pré Detalhes da Solução Imperativa
Tabelas usadas
- SALDO_BONI_CLIENTE
- CD_CLIENTE INT PK
- CD_TIPO_MOVIMENTO_PEDIDO INT PK
- SALDO DECIMAL(18,6) NOT NULL
Cenários
Cenário feliz
João faz um pedido de bonificação para Sousa dentro dos limites
Dado
- Usuário João
- Cliente Sousa com saldo de bonificação de R$1000
- O pedido de bonificação sendo criado
- com código pedido palm X
Operação
- João cadastra o pedido X para Sousa no valor de R$800
- João finaliza/salva esse pedido
Assertivas
- Deve existir o pedido X na base de dados do sistema
- Esse pedido tem valor de R$800
- O saldo de bonificação de Sousa é de R$200
Cenário sem saldo
João faz um pedido de bonificação para Sousa que excede seu saldo
Dado
- Usuário João
- Cliente Sousa com saldo de bonificação de R$500
- O pedido de bonificação sendo criado
- com código pedido palm Y
Operação
- João cadastra o pedido Y para Sousa no valor de R$900
- João finaliza/salva esse pedido
Assertivas
- O sistema deve exibir uma mensagem de restrição
- Não deve existir o pedido Y na base de dados do sistema
- O saldo de bonificação de Sousa continua de R$500
Cenário edição de pedidos de bonificação
João edita as informações do pedido de bonificação feito para o Sousa
Dado
- Usuário João
- Cliente Sousa com saldo de bonificação de R$500
- O pedido de bonificação sendo editado
- com código pedido palm Y
Operação
- João edita o pedido Y para Sousa e adiciona mais 2 produtos no valor de R$100,00
- João finaliza/salva esse pedido
Assertivas
- Deve existir o pedido Y na base de dados do sistema
- O sistema deve recalcular o saldo do cliente após a mudança dos dados do pedido
- O saldo de bonificação de Sousa passa a ser de R$400
Cenário exclusão de pedidos de bonificação
João exclui o pedido de bonificação feito para o Sousa
Dado
- Usuário João
- Cliente Sousa com saldo de bonificação de R$500
- 1 pedido de bonificação já cadastrado no valor de R$500
- com código pedido palm Y
Operação
- João exclui o pedido Y para Sousa no valor de R$500
Assertivas
- O sistema deve, após a remoção do pedido, incrementar o saldo do cliente Sousa pelo valor igual ao valor do pedido excluído
- Não deve existir o pedido Y na base de dados do sistema
- O saldo de bonificação de Sousa deve ficar igual a R$1000
Cenário cancelamento de pedidos de bonificação
O supervisor do João cancela o pedido de bonificação feito para o Sousa
Dado
- Supervisor Pedro
- Cliente Sousa com saldo de bonificação de R$500
- 1 pedido de bonificação já cadastrado no valor de R$500
- com código pedido palm Y
Operação
- Pedro exclui o pedido Y para Sousa no valor de R$500
Assertivas
- Não deve existir o pedido Y na base de dados do sistema
- O saldo de bonificação de Sousa deve ficar igual a R$1000