Deposit (Deposito)
O Deposit representa um local fisico de armazenamento de produtos.
Descricao
Depositos permitem organizar o estoque em diferentes locais, como estoque principal, reserva, vitrine ou centros de distribuicao. Cada deposito tem seu proprio controle de quantidade.
Dados
Informacoes do Deposito
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| name | Texto | Sim | Nome do deposito |
| code | Texto | Nao | Codigo interno |
| is_default | Booleano | Nao | Se e o deposito padrao |
| active | Booleano | Sim | Se esta ativo |
Endereco
| Campo | Tipo | Descricao |
|---|---|---|
| address | Texto | Endereco completo |
| city | Texto | Cidade |
| state | Texto | Estado |
| zip_code | Texto | CEP |
Relacionamentos
Pertence a
| Entidade | Obrigatorio | Descricao |
|---|---|---|
| Account | Sim | Conta do petshop |
| Store | Sim | Filial |
Possui
| Entidade | Descricao |
|---|---|
| StockTransactions | Movimentacoes neste deposito |
Deposito Padrao
Funcao
- Usado quando nenhum deposito e especificado
- Recebe entradas sem deposito definido
- Um por loja
Configuracao
is_default = true
Estoque por Deposito
Estrutura
Produto: Racao Premium 15kg
- Loja Centro
- Deposito Principal: 50 un
- Deposito Vitrine: 5 un
- Loja Sul
- Deposito Principal: 30 un
- CD Regional: 100 un
Consulta de Estoque
Para saber estoque de um produto em um deposito:
StockTransaction.where(
sale_product_id: produto,
deposit_id: deposito,
status: "done"
).sum(:signal_quantity)
Transferencias
Entre Depositos (Mesma Loja)
- Cria movimentacao transfer
- Define deposito origem e destino
- Sistema move estoque
Entre Lojas
- Cria movimentacao transfer
- Define loja/deposito origem e destino
- Sistema cria duas transacoes
Tipos Comuns de Deposito
| Tipo | Descricao | Uso |
|---|---|---|
| Principal | Estoque geral | Armazenamento principal |
| Vitrine | Exposicao | Produtos em exposicao |
| Reserva | Estoque extra | Produtos de reserva |
| CD | Centro de Distribuicao | Distribuicao entre lojas |
| Quarentena | Produtos com problema | Itens em analise |
Validacoes
| Campo | Regra |
|---|---|
| name | Obrigatorio, unico por loja |
| store | Obrigatorio |
Regras de Negocio
- Um padrao por loja: Apenas um deposito pode ser padrao
- Nao pode excluir com estoque: Deposito com movimentacoes nao pode ser excluido
- Desativacao: Depositos podem ser desativados
Uso em Movimentacoes
Entrada
Movimentacao: Entrada de Mercadorias
Deposito: Deposito Principal
Produtos: [lista]
Saida
Movimentacao: Saida por Perda
Deposito: Deposito Quarentena
Produtos: [lista]
Permissoes
| Acao | Descricao |
|---|---|
| Criar | Criar deposito |
| Editar | Alterar dados |
| Desativar | Marcar como inativo |
| Definir padrao | Marcar como padrao |
| Ver estoque | Ver estoque do deposito |