Reserva de estoque

De GeoSales
Ir para navegação Ir para pesquisar

Necessidade

Para o usuário ao editar/criar um pedido as quantidades deverão ser abatidas do saldo de estoque a medida que o vendedor insere os itens e que essas alterações tornem-se visíveis para todos os outros vendedores.

Configurações Ativadoras

Precisa ter a configuração ID_UTILIZA_RESERVA_ESTOQUE com S. Além disso é preciso da configuração QT_HRS_LIMITE_RESERVA_ESTOQUE com o valor referente a quantidade de horas de reserva desejada.

Pré Detalhes da Solução Imperativa

O usuário cria um pedido, preenche todos os campos do cabeçalho do pedido e faz a busca por um produto. Nesse momento a grid exibe as quantidades atuais de cada produto que satisfaça a busca. Ao inserir o produto como um item do pedido ele dispara uma chamada que irá verificar se o saldo de estoque é suficiente medindo todas as quantidades do estoque e em caso positivo ele irá criar uma movimentação para essa transação mesmo antes de salvar o pedido. Essa transação deverá ser armazenada para que outro vendedor tenha controle da posição atual de estoque. Nesse momento a reserva é salva em banco com a data, sessão do vendedor, status da reserva, produto, organização de venda e a quantidade reservada.

Cálculo da reserva de estoque

A quantidade de estoque é calculada da seguinte maneira:

Quantidade Estoque = Quantidade Disponível + Quantidade reservada com status de pendente.

Cenários

Cenário feliz

João insere um item que tem estoque no pedido

Dado

  1. Vendedor: João
  2. Item: A
  3. Estoque de A: 20

Operação

  1. Na lupa de produto é escolhido o item A e escolhida a quantidade 10

Assertivas

  1. O item A deve ser adicionado no pedido
  2. O estoque de A deve ficar com o valor de 10

Cenário em que o produto não tem estoque

João insere um item que não tem estoque no pedido

Dado

  1. Vendedor: João
  2. Item: A
  3. Estoque de A: 6

Operação

  1. Na lupa de produto é escolhido o item A e escolhida a quantidade 10

Assertivas

  1. O item A não deve ser adicionado no pedido e uma exceção de falta de estoque para o produto deve ser lançada
  2. O estoque de A deve permanecer com o valor de 6


Cenário de concorrência de estoque

João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que tem estoque

Dado

  1. Vendedores: João, José
  2. Item: A
  3. Estoque de A: 25
  4. Pedido X de João
  5. Pedido Y de José

Operação

  1. Na lupa de produto de João é escolhido o item A e escolhida a quantidade 10
  2. Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15

Assertivas

  1. O item A é adicionado ao pedido X
  2. O estoque de A deve ficar com o valor de 15
  3. O item A é adicionado ao pedido Y
  4. O estoque de A deve ficar com o valor de 0


Cenário de concorrência de estoque onde falta estoque

João insere um item A, que tem estoque, no pedido e José insere em outro pedido o item A, que não tem estoque

Dado

  1. Vendedores: João, José
  2. Item: A
  3. Estoque de A: 25
  4. Pedido X de João
  5. Pedido Y de José

Operação

  1. Na lupa de produto de João é escolhido o item A e escolhida a quantidade 20
  2. Na lupa de produto de José é escolhido o item A e escolhida a quantidade 15

Assertivas

  1. O item A é adicionado ao pedido X
  2. O estoque de A deve ficar com o valor de 5
  3. O item A não pode ser adicionado ao pedido Y e uma exceção de falta de estoque deve ser lançada