diff --git a/backend/src/infrastructure/repositories/consultor_repository_impl.py b/backend/src/infrastructure/repositories/consultor_repository_impl.py index 4766793..b43c751 100644 --- a/backend/src/infrastructure/repositories/consultor_repository_impl.py +++ b/backend/src/infrastructure/repositories/consultor_repository_impl.py @@ -141,6 +141,20 @@ class ConsultorRepositoryImpl(ConsultorRepository): if not consultorias: return None + visto_ids: Dict[int, Dict[str, Any]] = {} + for c in consultorias: + cid = c.get("id") + if cid is None: + continue + if cid not in visto_ids: + visto_ids[cid] = c + else: + existente_fim = visto_ids[cid].get("fim") + novo_fim = c.get("fim") + if existente_fim and not novo_fim: + visto_ids[cid] = c + consultorias = list(visto_ids.values()) if visto_ids else consultorias + periodos: List[Periodo] = [] vinculos: List[VinculoConsultoria] = [] situacoes: List[str] = []