Ir para o conteúdo

Movimentações operacionais ​

Índice de endpoints · Modelos

API-052 — Carregar contexto inicial da tela de movimentacoes ​

GET /api/movimentacoes/contexto-inicial

Finalidade: Carregar contexto inicial da tela de movimentacoes.

Fonte: src/main/java/com/wester/storage/controller/MovimentacaoEstoqueController.java:44 — MovimentacaoEstoqueController.buscarContextoInicial.

Autenticação, autorização e perfis: hasAuthority('SCREEN_MOVEMENTS') Consulte a correspondência entre autoridades e perfis em Autenticação.

Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.

Parâmetros:

Sem query parameters, path variables ou headers de negócio declarados.

Corpo: não declarado; não enviar corpo.

Resposta de sucesso: MovimentacaoEstoqueContextoInicialDTO. Campos em Modelos.

Exemplo estrutural sintético, sem afirmar valores de produção:

json
{
  "produtos": [],
  "areas": [],
  "movimentacoesRecentes": []
}

Códigos HTTP: 200, 401, 403. Códigos de segurança dependem da cadeia de filtros; falhas não capturadas podem chegar ao tratamento global descrito em Erros.

Regras de negócio e dependências: MovimentacaoEstoqueService.buscarContextoInicial. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.

cURL (Bash):

bash
curl -X GET "${BASE_URL}/api/movimentacoes/contexto-inicial" -H "Authorization: Bearer ${TOKEN}"

API-053 — Registrar movimentação operacional de estoque ​

POST /api/movimentacoes

Finalidade: Registrar movimentação operacional de estoque.

Fonte: src/main/java/com/wester/storage/controller/MovimentacaoEstoqueController.java:56 — MovimentacaoEstoqueController.registrarMovimentacao.

Autenticação, autorização e perfis: hasAuthority('SCREEN_MOVEMENTS') and hasRole('FULL_ACCESS') Consulte a correspondência entre autoridades e perfis em Autenticação.

Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado. Content-Type: application/json para o corpo.

Parâmetros:

Sem query parameters, path variables ou headers de negócio declarados.

Corpo da requisição: MovimentacaoEstoqueRequestDTO; obrigatório. Sem @Valid no argumento; validações de negócio são executadas pelo serviço. Consulte os campos e restrições em Modelos.

Exemplo sintético (IDs devem existir e versões devem vir de consulta):

json
{
  "tipoMovimentacao": "ENTRADA",
  "produtoId": 1,
  "nivelId": 1,
  "quantidade": 10,
  "motivo": "Recebimento",
  "observacao": "Exemplo documental"
}

Resposta de sucesso: MovimentacaoEstoqueResponseDTO. Campos em Modelos.

Exemplo estrutural sintético, sem afirmar valores de produção:

json
{
  "historicoMovimentacaoId": 1,
  "registradoEm": "Exemplo",
  "tipoMovimentacao": "Exemplo",
  "produtoId": 1,
  "produtoNomeModelo": "Exemplo",
  "produtoCodigoSistemaWester": "Exemplo",
  "itemEstoqueId": 1,
  "nivelId": 1,
  "nivelOrigemId": 1,
  "nivelDestinoId": 1,
  "nivelLabel": "Exemplo",
  "nivelOrigemLabel": "Exemplo",
  "nivelDestinoLabel": "Exemplo",
  "quantidadeMovimentada": 1,
  "quantidadeAnterior": 1,
  "quantidadeNova": 1,
  "motivo": "Exemplo",
  "observacao": "Exemplo",
  "detalhesAlteracao": "Exemplo"
}

Códigos HTTP: 201, 401, 403. Códigos de segurança dependem da cadeia de filtros; falhas não capturadas podem chegar ao tratamento global descrito em Erros.

Validações e erros identificados na cadeia local do serviço:

  • Payload da movimentação é obrigatório.
  • Tipo de movimentação não suportado.
  • Tipo de movimentação é obrigatório.
  • Tipo de movimentação não suportado: [mensagem pode receber complemento dinâmico]
  • O nível de destino já possui outro produto.
  • Produto é obrigatório para esta movimentação.
  • O produto informado não corresponde ao item existente no nível.
  • A quantidade solicitada e maior que o saldo disponivel.
  • Origem e destino devem ser niveis diferentes.
  • O produto informado não corresponde ao item existente na origem.
  • A quantidade solicitada e maior que o saldo disponivel na origem.
  • O ajuste não pode resultar em quantidade negativa.
  • Não é permitido trocar o produto durante um ajuste.
  • Motivo do ajuste é obrigatório.
  • Informe somente quantidade ajustada ou quantidade diferenca para o ajuste.
  • Não é permitido informar produto diferente do item já existente.
  • Não existe item no nível informado para zerar via ajuste.

Regras de negócio e dependências: MovimentacaoEstoqueService.registrarMovimentacao. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.

cURL (Bash):

bash
curl -X POST "${BASE_URL}/api/movimentacoes" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"tipoMovimentacao":"ENTRADA","produtoId":1,"nivelId":1,"quantidade":10,"motivo":"Recebimento","observacao":"Exemplo documental"}'

API-054 — Listar movimentacoes recentes ​

GET /api/movimentacoes/recentes

Finalidade: Listar movimentacoes recentes.

Fonte: src/main/java/com/wester/storage/controller/MovimentacaoEstoqueController.java:70 — MovimentacaoEstoqueController.listarRecentes.

Autenticação, autorização e perfis: hasAuthority('SCREEN_MOVEMENTS') Consulte a correspondência entre autoridades e perfis em Autenticação.

Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.

Parâmetros:

NomeLocalTipoObrigatórioPadrão
limitequeryIntegerNão10

Corpo: não declarado; não enviar corpo.

Resposta de sucesso: List<MovimentacaoEstoqueRecenteDTO>. Campos em Modelos.

Exemplo estrutural sintético, sem afirmar valores de produção:

json
[]

Códigos HTTP: 200, 401, 403. Códigos de segurança dependem da cadeia de filtros; falhas não capturadas podem chegar ao tratamento global descrito em Erros.

Regras de negócio e dependências: MovimentacaoEstoqueService.listarRecentes. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.

cURL (Bash):

bash
curl -X GET "${BASE_URL}/api/movimentacoes/recentes" -H "Authorization: Bearer ${TOKEN}"

Manual do usuário — Sistema Wester. Conteúdo descreve as telas conforme a versão indicada na página inicial.