Commit Graph

12 Commits

Author SHA1 Message Date
Frederico Castro
b18ae8199c Corrige calculo do Componente C (Consultoria)
- Adiciona campo vezes_responsavel na entidade Consultoria
- Corrige calculo de base: usa eventos_recentes > 0 (nao string situacao)
- Implementa calculo de extras:
  - extras_eventos: 2 pts/evento (max 20)
  - extras_responsavel: 5 pts/vez (max 25)
  - extras_areas: 10 pts/area extra (max 30)
- Extrai dados de consultorResponsavel dos eventos no repository
- Atualiza DTOs e schemas para incluir novo campo
2025-12-13 11:57:33 -03:00
Frederico Castro
8a8b4230c2 Melhora busca por nome para procurar cada palavra separadamente 2025-12-13 10:15:46 -03:00
Frederico Castro
dfc4323739 Remove referencias a SUCUPIRA_PAINEL do backend e docs 2025-12-13 09:40:40 -03:00
Frederico Castro
59d359b214 Remove logs e busca de PPG no passo online 2025-12-10 17:45:12 -03:00
Frederico Castro
9614963973 Ajusta pontuacao de premiacoes (banca/comissao como avaliador/coordenador) 2025-12-10 17:08:25 -03:00
Frederico Castro
01aace497b Busca por nome com destaque e navegação para página 2025-12-10 16:20:37 -03:00
Frederico Castro
d1379b4f5c docs: Adiciona resumo completo do projeto de ranking
Documenta:
- Arquitetura implementada (4 componentes)
- Estrutura de código (Clean Architecture)
- Problema atual (Componente B = 0 por rede)
- Soluções propostas (script standalone)
- Comandos úteis e validações
- Status: 95% completo, falta resolver acesso rede CAPES
2025-12-10 05:28:34 -03:00
Frederico Castro
3ea6a4409e feat: Implementa job de ranking para 300k consultores
Backend:
- Adiciona Scroll API no cliente Elasticsearch para processar todos os 300k+ consultores
- Cria tabela TB_RANKING_CONSULTOR no Oracle para ranking pré-calculado
- Implementa job de processamento com APScheduler (diário às 3h)
- Adiciona endpoints: /ranking/paginado, /ranking/status, /ranking/processar, /ranking/estatisticas
- Repository Oracle com paginação eficiente via ROW_NUMBER
- Status do job com progresso em tempo real (polling)
- Leitura automática de LOBs no OracleClient

Frontend:
- Componente RankingPaginado com paginação completa
- Barra de progresso do job em tempo real
- Botão para reprocessar ranking
- Alternância entre Top N (rápido) e Ranking Completo (300k)

Infraestrutura:
- Docker compose com depends_on para garantir Oracle disponível
- Schema SQL com procedure SP_ATUALIZAR_POSICOES
- Índices otimizados para paginação
2025-12-10 01:33:00 -03:00
Frederico Castro
ff4d838f34 feat: Aprimora cálculo de pontuação e extração de dados
- Adiciona campos situacao, anos_completos, anos_consecutivos e retornos
  na entidade Consultoria para suportar regras documentadas
- Implementa mesclagem de períodos sobrepostos para evitar contagem dupla
- Melhora componente A com cálculo por área e detecção de retornos
- Ajusta componente B com bônus por nota PPG
- Refatora componente C com bônus de continuidade e retorno
- Implementa componente D com classificação de nível de prêmio
  (Grande Prêmio, PCT, Interfarma, outros) e pontuação diferenciada
- Trata datas inconsistentes (fim < início) como períodos em aberto
- Extrai situacaoConsultoria do campo dadosConsultoria.situacaoConsultoria
2025-12-09 22:57:46 -03:00
Frederico Castro
e7b34e33a8 fix: Correções no cálculo de pontuação e extração de dados
- Refatora calculador para agrupar coordenações por tipo com hierarquia
- Corrige contagem de eventos separando SAE de consultorias
- Melhora extração de área de avaliação usando dadosConsultoria
- Ajusta pontuação de premiações conforme regras documentadas
- Usa alias ES em vez de índice específico
2025-12-09 19:57:35 -03:00
Frederico Castro
d237097913 refactor: Otimização da query ES e melhorias na UI
Backend:
- Query ES otimizada com boost por tipo de atuação
- Coordenação de área com maior peso (boost 10)
- Aumento do tamanho de busca para 1000 candidatos
- Cache de ranking mantido (TTL 5 min)

Frontend:
- Correção do display do score (pontuacao.pontuacao_total)
- Reorganização dos componentes de pontuação em tabelas
- Aumento do timeout do axios para 3 minutos
- Melhoria visual do Header com badges de pontuação máxima
2025-12-09 05:01:32 -03:00
Frederico Castro
9e6ba459a8 feat: Sistema de Ranking de Consultores CAPES - versão inicial
Backend (FastAPI + DDD):
- Arquitetura DDD com camadas Domain, Application, Infrastructure, Interface
- Integração com Elasticsearch (ATUACAPES) para dados de consultores
- Integração com Oracle (SUCUPIRA_PAINEL) para coordenações PPG
- Cálculo dos 4 componentes de pontuação (A, B, C, D)
- Cache em memória para otimização de performance
- API REST com endpoints /ranking, /ranking/detalhado, /consultor/{id}

Frontend (React + Vite):
- Interface responsiva com cards expansíveis
- Visualização detalhada de pontuação por componente
- Filtro por quantidade de consultores (Top 10, 50, 100, etc)

Docker:
- docker-compose com shared_network externa
- Backend com Oracle Instant Client
- Frontend com Vite dev server
2025-12-09 01:24:35 -03:00