Tema
Listas de materiais
API-099 — Listar tabelas por área
GET /api/encerto
Finalidade: Listar tabelas por área.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:45 — TabelaEncertoController.listarPorArea.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
areaId | query | Long | Sim | — |
Corpo: não declarado; não enviar corpo.
Resposta de sucesso: List<TabelaEncertoSummaryDTO>. 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: TabelaEncertoService.listarPorArea. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X GET "${BASE_URL}/api/encerto?areaId=1" -H "Authorization: Bearer ${TOKEN}"API-100 — Buscar tabela com itens
GET /api/encerto/{id}
Finalidade: Buscar tabela com itens.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:53 — TabelaEncertoController.buscarPorId.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
id | path | Long | Sim | — |
Corpo: não declarado; não enviar corpo.
Resposta de sucesso: TabelaEncertoDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"id": 1,
"areaId": 1,
"titulo": "Exemplo",
"colunas": [],
"itens": []
}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: TabelaEncertoService.buscarPorId. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X GET "${BASE_URL}/api/encerto/1" -H "Authorization: Bearer ${TOKEN}"API-101 — Criar nova tabela
POST /api/encerto
Finalidade: Criar nova tabela.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:60 — TabelaEncertoController.criar.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') 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: CriarTabelaEncertoRequestDTO; obrigatório. Validação Jakarta ativada por @Valid. Consulte os campos e restrições em Modelos.
Exemplo sintético (IDs devem existir e versões devem vir de consulta):
json
{
"areaId": 1,
"titulo": "Lista de exemplo",
"colunas": [
"codigo",
"produto",
"quantidade",
"observacao"
]
}Resposta de sucesso: TabelaEncertoDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"id": 1,
"areaId": 1,
"titulo": "Exemplo",
"colunas": [],
"itens": []
}Códigos HTTP: 201, 400, 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: TabelaEncertoService.criar. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X POST "${BASE_URL}/api/encerto" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"areaId":1,"titulo":"Lista de exemplo","colunas":["codigo","produto","quantidade","observacao"]}'API-102 — Atualizar título ou colunas de uma tabela
PATCH /api/encerto/{id}
Finalidade: Atualizar título ou colunas de uma tabela.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:67 — TabelaEncertoController.atualizar.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') 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:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
id | path | Long | Sim | — |
Corpo da requisição: AtualizarTabelaEncertoRequestDTO; obrigatório. Validação Jakarta ativada por @Valid. Consulte os campos e restrições em Modelos.
Exemplo sintético (IDs devem existir e versões devem vir de consulta):
json
{
"titulo": "Lista revisada"
}Resposta de sucesso: TabelaEncertoDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"id": 1,
"areaId": 1,
"titulo": "Exemplo",
"colunas": [],
"itens": []
}Códigos HTTP: 200, 400, 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: TabelaEncertoService.atualizar. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X PATCH "${BASE_URL}/api/encerto/1" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"titulo":"Lista revisada"}'API-103 — Excluir tabela
DELETE /api/encerto/{id}
Finalidade: Excluir tabela.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:76 — TabelaEncertoController.excluir.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') and hasRole('FULL_ACCESS') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
id | path | Long | Sim | — |
Corpo: não declarado; não enviar corpo.
Resposta de sucesso: sem corpo quando 204.
Códigos HTTP: 204, 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: TabelaEncertoService.excluir. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X DELETE "${BASE_URL}/api/encerto/1" -H "Authorization: Bearer ${TOKEN}"API-104 — Adicionar item à tabela
POST /api/encerto/{tabelaId}/itens
Finalidade: Adicionar item à tabela.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:86 — TabelaEncertoController.adicionarItem.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') 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:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
tabelaId | path | Long | Sim | — |
Corpo da requisição: AdicionarItemEncertoRequestDTO; obrigatório. Validação Jakarta ativada por @Valid. Consulte os campos e restrições em Modelos.
Exemplo sintético (IDs devem existir e versões devem vir de consulta):
json
{
"produtoId": 1,
"quantidade": 1,
"observacao": "Exemplo"
}Resposta de sucesso: TabelaEncertoItemDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"id": 1,
"produtoId": 1,
"codigo": "Exemplo",
"nome": "Exemplo",
"cor": "Exemplo",
"descricao": "Exemplo",
"observacao": "Exemplo",
"quantidade": 1,
"ordem": 1
}Códigos HTTP: 201, 400, 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:
- Este produto já está nesta lista.
Regras de negócio e dependências: TabelaEncertoService.adicionarItem. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X POST "${BASE_URL}/api/encerto/1/itens" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"produtoId":1,"quantidade":1,"observacao":"Exemplo"}'API-105 — Remover item da tabela
DELETE /api/encerto/itens/{itemId}
Finalidade: Remover item da tabela.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:95 — TabelaEncertoController.removerItem.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') and hasRole('FULL_ACCESS') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
itemId | path | Long | Sim | — |
Corpo: não declarado; não enviar corpo.
Resposta de sucesso: sem corpo quando 204.
Códigos HTTP: 204, 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: TabelaEncertoService.removerItem. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X DELETE "${BASE_URL}/api/encerto/itens/1" -H "Authorization: Bearer ${TOKEN}"API-106 — Atualizar quantidade de um item (sincroniza com item_estoque)
PATCH /api/encerto/itens/{itemId}/quantidade
Finalidade: Atualizar quantidade de um item (sincroniza com item_estoque). Atualiza a quantidade no item da lista. A anotação menciona sincronização com item_estoque, mas a implementação atual não altera esse estoque: ver lacunas.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:103 — TabelaEncertoController.atualizarQuantidade.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') 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:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
itemId | path | Long | Sim | — |
Corpo da requisição: AtualizarQuantidadeEncertoRequestDTO; obrigatório. Validação Jakarta ativada por @Valid. Consulte os campos e restrições em Modelos.
Exemplo sintético (IDs devem existir e versões devem vir de consulta):
json
{
"quantidade": 1
}Resposta de sucesso: TabelaEncertoItemDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"id": 1,
"produtoId": 1,
"codigo": "Exemplo",
"nome": "Exemplo",
"cor": "Exemplo",
"descricao": "Exemplo",
"observacao": "Exemplo",
"quantidade": 1,
"ordem": 1
}Códigos HTTP: 200, 400, 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: TabelaEncertoService.atualizarQuantidade. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X PATCH "${BASE_URL}/api/encerto/itens/1/quantidade" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"quantidade":1}'API-107 — Atualizar observação de um item (texto livre, até 100 chars)
PATCH /api/encerto/itens/{itemId}/observacao
Finalidade: Atualizar observação de um item (texto livre, até 100 chars).
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:112 — TabelaEncertoController.atualizarObservacao.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') 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:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
itemId | path | Long | Sim | — |
Corpo da requisição: AtualizarObservacaoEncertoRequestDTO; obrigatório. Validação Jakarta ativada por @Valid. Consulte os campos e restrições em Modelos.
Exemplo sintético (IDs devem existir e versões devem vir de consulta):
json
{
"observacao": "Exemplo"
}Resposta de sucesso: TabelaEncertoItemDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"id": 1,
"produtoId": 1,
"codigo": "Exemplo",
"nome": "Exemplo",
"cor": "Exemplo",
"descricao": "Exemplo",
"observacao": "Exemplo",
"quantidade": 1,
"ordem": 1
}Códigos HTTP: 200, 400, 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: TabelaEncertoService.atualizarObservacao. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X PATCH "${BASE_URL}/api/encerto/itens/1/observacao" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"observacao":"Exemplo"}'API-108 — Reordenar item na tabela
PATCH /api/encerto/itens/{itemId}/ordem
Finalidade: Reordenar item na tabela.
Fonte: src/main/java/com/wester/storage/controller/TabelaEncertoController.java:121 — TabelaEncertoController.reordenar.
Autenticação, autorização e perfis: hasAuthority('SCREEN_WAREHOUSE') 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:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
itemId | path | Long | Sim | — |
Corpo da requisição: int; obrigatório. Sem @Valid no argumento; validações de negócio são executadas pelo serviço. O corpo é um número inteiro simples (a nova ordem), não um objeto.
Exemplo sintético (IDs devem existir e versões devem vir de consulta):
json
1Resposta de sucesso: sem corpo quando 204.
Códigos HTTP: 204, 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: TabelaEncertoService.reordenar. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X PATCH "${BASE_URL}/api/encerto/itens/1/ordem" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '1'