Reimplementa sistema de ranking com novos critérios V2
Mudanças principais: - Substitui 4 Componentes (A,B,C,D) por 3 Blocos (A,C,D) - Remove Componente B (Coordenação PPG = 0 pts no V1) - Adiciona novos tipos de atuação do Elasticsearch - Implementa critérios de pontuação com tetos individuais Bloco A - Coordenação CAPES: - CA (max 450), CAJ (max 370), CAJ_MP (max 315), CAM (max 280) - Calcula base + tempo + bônus atualidade + bônus retorno Bloco C - Consultoria: - CONS_ATIVO (base 150), CONS_HIST (base 100), CONS_FALECIDO (base 100) - Bônus continuidade: 3anos=+5, 5anos=+10, 8anos=+15 - Bônus retorno: +15 Bloco D - Premiações/Avaliações: - Inscrições (INSC_AUTOR, INSC_INST) - Avaliações (AVAL_COMIS_PREMIO, AVAL_COMIS_GP) - Coordenações (COORD_COMIS_PREMIO, COORD_COMIS_GP) - Premiações (PREMIACAO, PREMIACAO_GP, MENCAO) - Bolsas CNPQ, Participações, Orientações, Membros de Banca Frontend: - Header, ConsultorCard, CompararModal atualizados para 3 blocos - API service atualizado para nova estrutura de dados
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
from dataclasses import dataclass, asdict
|
||||
from typing import List, Optional, Dict, Any
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -13,6 +12,7 @@ class PeriodoDTO:
|
||||
|
||||
@dataclass
|
||||
class CoordenacaoCapesDTO:
|
||||
codigo: str
|
||||
tipo: str
|
||||
area_avaliacao: str
|
||||
periodo: PeriodoDTO
|
||||
@@ -21,55 +21,94 @@ class CoordenacaoCapesDTO:
|
||||
|
||||
|
||||
@dataclass
|
||||
class CoordenacaoProgramaDTO:
|
||||
id_programa: int
|
||||
nome_programa: str
|
||||
codigo_programa: str
|
||||
nota_ppg: str
|
||||
modalidade: str
|
||||
area_avaliacao: str
|
||||
class ConsultoriaDTO:
|
||||
codigo: str
|
||||
situacao: str
|
||||
periodo: PeriodoDTO
|
||||
areas: List[str]
|
||||
anos_consecutivos: int
|
||||
retornos: int
|
||||
|
||||
|
||||
@dataclass
|
||||
class ConsultoriaDTO:
|
||||
total_eventos: int
|
||||
eventos_recentes: int
|
||||
primeiro_evento: str
|
||||
ultimo_evento: str
|
||||
continuidade: int
|
||||
areas: List[str]
|
||||
class InscricaoDTO:
|
||||
codigo: str
|
||||
tipo: str
|
||||
premio: str
|
||||
ano: int
|
||||
situacao: str
|
||||
anos_completos: int
|
||||
anos_consecutivos: int
|
||||
retornos: int
|
||||
vezes_responsavel: int
|
||||
|
||||
|
||||
@dataclass
|
||||
class AvaliacaoComissaoDTO:
|
||||
codigo: str
|
||||
tipo: str
|
||||
premio: str
|
||||
ano: int
|
||||
comissao_tipo: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class PremiacaoDTO:
|
||||
codigo: str
|
||||
tipo: str
|
||||
nome_premio: str
|
||||
ano: int
|
||||
pontos: int
|
||||
|
||||
|
||||
@dataclass
|
||||
class ComponentePontuacaoDTO:
|
||||
class BolsaCNPQDTO:
|
||||
codigo: str
|
||||
nivel: str
|
||||
area: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class ParticipacaoDTO:
|
||||
codigo: str
|
||||
tipo: str
|
||||
descricao: str
|
||||
ano: Optional[int]
|
||||
|
||||
|
||||
@dataclass
|
||||
class OrientacaoDTO:
|
||||
codigo: str
|
||||
tipo: str
|
||||
nivel: str
|
||||
ano: Optional[int]
|
||||
|
||||
|
||||
@dataclass
|
||||
class MembroBancaDTO:
|
||||
codigo: str
|
||||
tipo: str
|
||||
nivel: str
|
||||
ano: Optional[int]
|
||||
|
||||
|
||||
@dataclass
|
||||
class PontuacaoAtuacaoDTO:
|
||||
codigo: str
|
||||
base: int
|
||||
tempo: int
|
||||
extras: int
|
||||
bonus: int
|
||||
retorno: int
|
||||
total: int
|
||||
quantidade: int
|
||||
|
||||
|
||||
@dataclass
|
||||
class PontuacaoBlocoDTO:
|
||||
bloco: str
|
||||
total: int
|
||||
atuacoes: List[PontuacaoAtuacaoDTO]
|
||||
|
||||
|
||||
@dataclass
|
||||
class PontuacaoCompletaDTO:
|
||||
componente_a: ComponentePontuacaoDTO
|
||||
componente_b: ComponentePontuacaoDTO
|
||||
componente_c: ComponentePontuacaoDTO
|
||||
componente_d: ComponentePontuacaoDTO
|
||||
bloco_a: PontuacaoBlocoDTO
|
||||
bloco_c: PontuacaoBlocoDTO
|
||||
bloco_d: PontuacaoBlocoDTO
|
||||
pontuacao_total: int
|
||||
|
||||
|
||||
@@ -81,6 +120,9 @@ class ConsultorResumoDTO:
|
||||
ativo: bool
|
||||
veterano: bool
|
||||
pontuacao_total: int
|
||||
bloco_a: int
|
||||
bloco_c: int
|
||||
bloco_d: int
|
||||
rank: Optional[int] = None
|
||||
|
||||
|
||||
@@ -93,9 +135,14 @@ class ConsultorDetalhadoDTO:
|
||||
ativo: bool
|
||||
veterano: bool
|
||||
coordenacoes_capes: List[CoordenacaoCapesDTO]
|
||||
coordenacoes_programas: List[CoordenacaoProgramaDTO]
|
||||
consultoria: Optional[ConsultoriaDTO]
|
||||
inscricoes: List[InscricaoDTO]
|
||||
avaliacoes_comissao: List[AvaliacaoComissaoDTO]
|
||||
premiacoes: List[PremiacaoDTO]
|
||||
bolsas_cnpq: List[BolsaCNPQDTO]
|
||||
participacoes: List[ParticipacaoDTO]
|
||||
orientacoes: List[OrientacaoDTO]
|
||||
membros_banca: List[MembroBancaDTO]
|
||||
pontuacao: PontuacaoCompletaDTO
|
||||
rank: Optional[int] = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user