Skip to content

feat: adiciona controle de movimentações de estoque de ração - #26

Merged
ifelipelima merged 12 commits into
mainfrom
feat/feed-movements
Oct 24, 2026
Merged

ifelipelima merged 12 commits into
mainfrom
feat/feed-movements

Conversation

@ifelipelima

Copy link
Copy Markdown
Contributor

Descrição

Controle de movimentações do estoque de ração, permitindo registrar entradas e saídas e consultar o histórico de movimentações de cada tipo de ração.

As movimentações são persistidas em FeedMovement, enquanto Feed#stock_quantity mantém o saldo atual disponível.

Principais alterações

  • Adiciona a entidade FeedMovement, vinculada a uma ração.
  • Implementa movimentações dos tipos entry e exit.
  • Registra quantidade e data da ocorrência em todas as movimentações.
  • Entradas registram o valor da aquisição e aumentam o estoque atual.
  • Saídas registram o motivo e reduzem o estoque disponível.
  • Impede saídas superiores ao estoque atual.
  • Impede movimentações em rações inativas.
  • Mantém atualização do estoque e criação do histórico dentro da mesma transação, utilizando lock da ração durante a operação.
  • Adiciona histórico paginado das movimentações, ordenado pela data da ocorrência.
  • Adiciona traduções dos atributos e mensagens relacionadas ao módulo.

Endpoints

  • POST /api/v1/feeds/:feed_id/movements/entry
  • POST /api/v1/feeds/:feed_id/movements/exit
  • GET /api/v1/feeds/:feed_id/movements

Organização

As regras de negócio permanecem separadas em services específicos:

  • FeedMovements::CreateEntry
  • FeedMovements::CreateExit
  • FeedMovements::History

O FeedMovementsController concentra os endpoints relacionados às movimentações de estoque.

@ifelipelima
ifelipelima merged commit 062ba7d into main Oct 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant