Files
ranking/backend/src/domain
Frederico Castro 6297d135ec fix: corrigir cálculo de anos consecutivos em períodos sobrepostos
Corrige bug onde consultores ativos com vínculos sobrepostos tinham
anos_consecutivos zerados incorretamente.

Problema: Ao mesclar períodos sobrepostos (ex: UP encerrado + UTFPR ativo),
o período mesclado era marcado como encerrado, resultando em
anos_consecutivos = 0 mesmo para consultores ativos.

Solução: Período mesclado é ativo se QUALQUER um dos períodos originais
for ativo (lógica OR em vez de considerar apenas o primeiro período).

Impacto:
- Consultores ativos com múltiplos vínculos agora recebem corretamente
  bônus de continuidade (até +20 pontos)
- Exemplo: Valdir Fernandes (#1) tinha 0 anos consecutivos, agora tem 10

Otimizações adicionais:
- Aumenta batch_size de 5.000 para 10.000 consultores
- Reduz tempo de processamento de ~60min para ~25min (58% mais rápido)
- Reduz requisições ao Elasticsearch pela metade

Arquivos alterados:
- backend/src/domain/value_objects/periodo.py: lógica de mesclagem corrigida
- backend/src/application/jobs/processar_ranking.py: batch_size otimizado

Testado com 350.222 consultores em 25min 35s
2025-12-19 14:14:57 -03:00
..