Problemas
atenção
Gerado por Inteligência Artificial.
Visão Geral
Este método processa e retorna dados de problemas no plano com base nos filtros opcionais fornecidos em FiltrosListagemDetalhadoDto, produzindo um AnalisePlanoRetornoProblemasDto que contém a lista de problemas e metadados de paginação.
BOX3_ERP_API\BOX3_ERP_API.Core\BLL\AnalisePlanoBLL.cs
public async Task<AnalisePlanoRetornoProblemasDto> Problemas(FiltrosListagemDetalhadoDto filtros = null) { ... }
Dependências Diretas
| Método | Localização | Linha |
|---|---|---|
| IDbConnection.QueryAsync<BOX3_ERP_API.Core.DTOs.AnalisePlano.ProblemasPlanoDto>(string, object, IDbTransaction, int?, CommandType?) | BOX3_ERP_API\BOX3_ERP_API.Core\BLL\AnalisePlanoBLL.cs | 290 |
| DateTime.Subtract(DateTime) | BOX3_ERP_API\BOX3_ERP_API.Core\BLL\AnalisePlanoBLL.cs | 314 |
| List<string>.Contains(string) | BOX3_ERP_API\BOX3_ERP_API.Core\BLL\AnalisePlanoBLL.cs | 331 |
| List<string>.AddRange(IEnumerable<string>) | BOX3_ERP_API\BOX3_ERP_API.Core\BLL\AnalisePlanoBLL.cs | 336 |
| DTParameters.MakeResponseList<BOX3_ERP_API.Core.DTOs.AnalisePlano.ProblemasPlanoDto>(List<ProblemasPlanoDto>, int?) | BOX3_ERP_API\BOX3_ERP_API.Core\BLL\AnalisePlanoBLL.cs | 344 |
Referências
| Método / Endpoint | Localização | Linha |
|---|---|---|
| FiltroProblemas() | BOX3_ERP_API\BOX3_ERP_API.Controllers\AnalisePlanoController.cs | 53 |
| Problemas([FromBody] filtros) | BOX3_ERP_API\BOX3_ERP_API.Controllers\AnalisePlanoController.cs | 70 |
Detalhamento das Referências
FiltroProblemas
Este endpoint GET ([HttpGet("FiltroProblemas")]) busca e retorna as opções de filtro de problemas disponíveis, sem invocar diretamente o BLL Problemas.
Problemas
Este endpoint POST ([HttpPost("Problemas")]) recebe o FiltrosListagemDetalhadoDto no corpo da requisição, invoca o BLL Problemas para recuperar e formatar os dados de problemas, e retorna um ActionResult<AnalisePlanoRetornoProblemasDto> ao consumidor da API.
Impacto de Alterações
- Alterações na consulta Dapper (
QueryAsync) ou na lógica de cálculo de diferença entre datas (Subtract) podem afetar quais registros são considerados “problemas”. - Mudanças na filtragem de strings (uso de
Contains,AddRange) impactam a seleção de problemas excluídos ou agregados. - Modificações na geração de paginação via
MakeResponseListalteram o formato e a paginação dos resultados retornados.
Propagação de Mudanças
- Atualizar testes unitários que validem cenários com e sem filtros, incluindo exclusões de problemas.
- Verificar comportamento dos endpoints
FiltroProblemaseProblemasapós alterações no BLL. - Sincronizar documentação Swagger/OpenAPI para refletir possíveis mudanças no DTO de retorno ou nos parâmetros de filtro.
- Comunicar times de front-end que consomem esses endpoints sobre alterações na estrutura de resposta.
Requisitos para Alteração Segura
- Cobertura de testes para cenários sem filtro, filtro vazio, filtros múltiplos e casos extremos.
- Validação de parâmetros de entrada no controller e tratamento de
nullemfiltros. - Verificação de performance da consulta SQL em grandes volumes de dados.
- Tratamento de exceções e rollback de transação em caso de falha no acesso ao banco.