Tema
Relatórios de estoque
API-085 — Gerar relatorio de produtos
POST /api/relatorios/produtos
Finalidade: Gerar relatorio de produtos.
Fonte: src/main/java/com/wester/storage/controller/RelatorioController.java:47 — RelatorioController.gerarRelatorioProdutos.
Autenticação, autorização e perfis: hasAuthority('SCREEN_REPORTS') 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: RelatorioProdutosFiltroDTO; opcional. 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
{
"nome": "Exemplo",
"codigoSistemaWester": "Exemplo",
"descricao": "Exemplo",
"cor": "Exemplo",
"ativo": false,
"categoria": "Exemplo",
"sortBy": "Exemplo",
"sortDirection": "Exemplo",
"page": 0,
"size": 1
}Resposta de sucesso: RelatorioProdutosResponseDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"generatedAt": "Exemplo",
"summary": {
"totalProdutos": 1,
"totalProdutosAtivos": 1,
"totalProdutosInativos": 1,
"quantidadeTotalEmEstoque": 1,
"quantidadeTotalEmEstoqueAproximada": false
},
"pagination": {
"page": 0,
"size": 1,
"totalItems": 1,
"totalPages": 0
},
"items": [],
"statusChart": [],
"colorChart": [],
"usageChart": [],
"categoryTotals": []
}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.
Validações e erros identificados na cadeia local do serviço:
- Categoria inválida: [mensagem pode receber complemento dinâmico]
Regras de negócio e dependências: RelatorioService.gerarRelatorioProdutos. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X POST "${BASE_URL}/api/relatorios/produtos" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"nome":"Exemplo","codigoSistemaWester":"Exemplo","descricao":"Exemplo","cor":"Exemplo","ativo":false,"categoria":"Exemplo","sortBy":"Exemplo","sortDirection":"Exemplo","page":0,"size":1}'API-086 — Gerar relatorio de estoques
POST /api/relatorios/estoques
Finalidade: Gerar relatorio de estoques.
Fonte: src/main/java/com/wester/storage/controller/RelatorioController.java:63 — RelatorioController.gerarRelatorioEstoques.
Autenticação, autorização e perfis: hasAuthority('SCREEN_REPORTS') 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: RelatorioEstoquesFiltroDTO; opcional. 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
{
"area": "Exemplo",
"fileira": "Exemplo",
"grade": "Exemplo",
"nivel": "Exemplo",
"ativo": false,
"sortBy": "Exemplo",
"sortDirection": "Exemplo",
"page": 0,
"size": 1
}Resposta de sucesso: RelatorioEstoquesResponseDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"generatedAt": "Exemplo",
"summary": {
"totalAreas": 1,
"totalAreasAtivas": 1,
"totalFileiras": 1,
"totalGrades": 1,
"totalNiveis": 1,
"totalItensEstoque": 1,
"quantidadeTotalArmazenada": 1,
"quantidadeTotalArmazenadaAproximada": false
},
"pagination": {
"page": 0,
"size": 1,
"totalItems": 1,
"totalPages": 0
},
"items": [],
"quantityByAreaChart": [],
"occupancyByAreaChart": [],
"quantityByFileiraChart": []
}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: RelatorioService.gerarRelatorioEstoques. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X POST "${BASE_URL}/api/relatorios/estoques" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"area":"Exemplo","fileira":"Exemplo","grade":"Exemplo","nivel":"Exemplo","ativo":false,"sortBy":"Exemplo","sortDirection":"Exemplo","page":0,"size":1}'API-087 — Gerar relatorio de itens de estoque
POST /api/relatorios/itens-estoque
Finalidade: Gerar relatorio de itens de estoque.
Fonte: src/main/java/com/wester/storage/controller/RelatorioController.java:79 — RelatorioController.gerarRelatorioItensEstoque.
Autenticação, autorização e perfis: hasAuthority('SCREEN_REPORTS') 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: RelatorioItensEstoqueFiltroDTO; opcional. 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
{
"produto": "Exemplo",
"codigoSistemaWester": "Exemplo",
"area": "Exemplo",
"fileira": "Exemplo",
"grade": "Exemplo",
"nivel": "Exemplo",
"statusItem": "Exemplo",
"dataInicio": "2026-10-15T09:00:00",
"dataFim": "2026-10-15T09:00:00",
"sortBy": "Exemplo",
"sortDirection": "Exemplo",
"page": 0,
"size": 1
}Resposta de sucesso: RelatorioItensEstoqueResponseDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"generatedAt": "Exemplo",
"summary": {
"totalItensEstoque": 1,
"quantidadeTotalArmazenada": 1,
"quantidadeTotalArmazenadaAproximada": false,
"totalProdutosUnicos": 1,
"totalAreasComItens": 1
},
"pagination": {
"page": 0,
"size": 1,
"totalItems": 1,
"totalPages": 0
},
"items": [],
"topProductsChart": [],
"quantityByAreaChart": [],
"quantityByLocationChart": []
}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.
Validações e erros identificados na cadeia local do serviço:
- Data inválida: [mensagem pode receber complemento dinâmico]
Regras de negócio e dependências: RelatorioService.gerarRelatorioItensEstoque. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X POST "${BASE_URL}/api/relatorios/itens-estoque" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"produto":"Exemplo","codigoSistemaWester":"Exemplo","area":"Exemplo","fileira":"Exemplo","grade":"Exemplo","nivel":"Exemplo","statusItem":"Exemplo","dataInicio":"2026-10-15T09:00:00","dataFim":"2026-10-15T09:00:00","sortBy":"Exemplo","sortDirection":"Exemplo","page":0,"size":1}'API-088 — Gerar relatório de histórico de movimentação
POST /api/relatorios/historico-movimentacao
Finalidade: Gerar relatório de histórico de movimentação.
Fonte: src/main/java/com/wester/storage/controller/RelatorioController.java:95 — RelatorioController.gerarRelatorioHistoricoMovimentacao.
Autenticação, autorização e perfis: hasAuthority('SCREEN_REPORTS') 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: RelatorioHistoricoMovimentacaoFiltroDTO; opcional. 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
{
"produto": "Exemplo",
"codigoSistemaWester": "Exemplo",
"area": "Exemplo",
"usuario": "Exemplo",
"tipoOperacao": "Exemplo",
"dataInicio": "2026-10-15T09:00:00",
"dataFim": "2026-10-15T09:00:00",
"sortDirection": "Exemplo",
"page": 0,
"size": 1
}Resposta de sucesso: RelatorioHistoricoMovimentacaoResponseDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"generatedAt": "Exemplo",
"summary": {
"totalMovimentacoes": 1,
"totalEntradas": 1,
"totalSaidas": 1,
"totalAjustes": 1,
"totalMovimentacoesInternas": 1,
"totalResequenciamentos": 1,
"quantidadeMovimentadaTotal": 1
},
"pagination": {
"page": 0,
"size": 1,
"totalItems": 1,
"totalPages": 0
},
"items": [],
"typeChart": [],
"periodChart": [],
"productChart": [],
"areaChart": [],
"userChart": []
}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.
Validações e erros identificados na cadeia local do serviço:
- Data inválida: [mensagem pode receber complemento dinâmico]
Regras de negócio e dependências: RelatorioService.gerarRelatorioHistoricoMovimentacao. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X POST "${BASE_URL}/api/relatorios/historico-movimentacao" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"produto":"Exemplo","codigoSistemaWester":"Exemplo","area":"Exemplo","usuario":"Exemplo","tipoOperacao":"Exemplo","dataInicio":"2026-10-15T09:00:00","dataFim":"2026-10-15T09:00:00","sortDirection":"Exemplo","page":0,"size":1}'