Ir para o conteúdo

Relatórios de estoque ​

Índice de endpoints · Modelos

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}'

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