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.

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.

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