fix: alinhar criterios 100% com documento PDF oficial

Backend:
- Reescrever criterios_pontuacao.py com valores corretos do PDF
- Adicionar Blocos B e E ao enum
- Corrigir Base/Teto: AVAL_COMIS_GP (40), COORD_COMIS_PREMIO (40),
  COORD_COMIS_GP (50), PROJ teto (30)
- Orientacoes/Bancas agora sao selos (Base=0, Teto=0)
- CONS_FALECIDO agora pontua tempo (5 pts/ano)
- Remover codigos obsoletos (PREMIACAO, MENCAO, BOL_BPQ_SUP/INT)
- Usar apenas BOL_BPQ_NIVEL, PREMIACAO_*_AUTOR, MENCAO_AUTOR
- Atualizar ranking_store.py e validar_ranking.py

Frontend:
- Atualizar ConsultorCard e CompararModal com codigos corretos
- Adicionar logo CAPES em PNG com transparencia
- Ajustar espacamento do header e tamanho das fontes
- Mapear pasta public no docker-compose
This commit is contained in:
Frederico Castro
2025-12-20 06:53:45 -03:00
parent 7ba2c2be9d
commit 26492c880c
11 changed files with 252 additions and 223 deletions

View File

@@ -42,31 +42,31 @@ CRITERIOS_OFICIAIS = {
"CAJ": {"base": 150, "teto": 370, "tempo": 8, "teto_tempo": 80, "bonus_atual": 20, "bonus_retorno": 15},
"CAJ_MP": {"base": 120, "teto": 315, "tempo": 6, "teto_tempo": 60, "bonus_atual": 15, "bonus_retorno": 10},
"CAM": {"base": 100, "teto": 280, "tempo": 5, "teto_tempo": 50, "bonus_atual": 20, "bonus_retorno": 10},
"CONS_ATIVO": {"base": 150, "teto": 230, "tempo": 5, "teto_tempo": 50, "bonus_continuidade": 20, "bonus_retorno": 15},
"CONS_HIST": {"base": 100, "teto": 230, "tempo": 5, "teto_tempo": 50, "bonus_continuidade": 20},
"CONS_FALECIDO": {"base": 100, "teto": 230, "tempo": 0, "teto_tempo": 0, "bonus_continuidade": 20},
"PPG_COORD": {"base": 0, "teto": 0, "tempo": 0, "teto_tempo": 0, "bonus_atual": 15, "bonus_retorno": 10, "bonus_continuidade": 15},
"CONS_ATIVO": {"base": 150, "teto": 230, "tempo": 5, "teto_tempo": 50, "bonus_atual": 20, "bonus_retorno": 15, "bonus_continuidade": 20},
"CONS_HIST": {"base": 100, "teto": 230, "tempo": 5, "teto_tempo": 50, "bonus_retorno": 20, "bonus_continuidade": 20},
"CONS_FALECIDO": {"base": 100, "teto": 230, "tempo": 5, "teto_tempo": 50, "bonus_continuidade": 20},
"INSC_AUTOR": {"base": 10, "teto": 20},
"INSC_INST": {"base": 30, "teto": 60},
"INSC_INST_AUTOR": {"base": 20, "teto": 50},
"AVAL_COMIS_PREMIO": {"base": 30, "teto": 60},
"AVAL_COMIS_GP": {"base": 50, "teto": 80},
"COORD_COMIS_PREMIO": {"base": 50, "teto": 100},
"COORD_COMIS_GP": {"base": 60, "teto": 120},
"BOL_BPQ_SUPERIOR": {"base": 30, "teto": 60},
"BOL_BPQ_INTERMEDIARIO": {"base": 50, "teto": 100},
"PREMIACAO": {"base": 100, "teto": 180},
"PREMIACAO_GP": {"base": 50, "teto": 60},
"MENCAO": {"base": 30, "teto": 30},
"AVAL_COMIS_GP": {"base": 40, "teto": 80},
"COORD_COMIS_PREMIO": {"base": 40, "teto": 100},
"COORD_COMIS_GP": {"base": 50, "teto": 120},
"BOL_BPQ_NIVEL": {"base": 30, "teto": 60},
"PREMIACAO_GP_AUTOR": {"base": 100, "teto": 300},
"PREMIACAO_AUTOR": {"base": 50, "teto": 150},
"MENCAO_AUTOR": {"base": 30, "teto": 90},
"EVENTO": {"base": 1, "teto": 5},
"PROJ": {"base": 10, "teto": 40},
"ORIENT_POS_DOC": {"base": 15, "teto": 100},
"ORIENT_TESE": {"base": 10, "teto": 50},
"ORIENT_DISS": {"base": 5, "teto": 25},
"CO_ORIENT_POS_DOC": {"base": 7, "teto": 35},
"CO_ORIENT_TESE": {"base": 5, "teto": 25},
"CO_ORIENT_DISS": {"base": 3, "teto": 15},
"MB_BANCA_POS_DOC": {"base": 3, "teto": 15},
"MB_BANCA_TESE": {"base": 3, "teto": 15},
"MB_BANCA_DISS": {"base": 2, "teto": 10},
"PROJ": {"base": 10, "teto": 30},
"ORIENT_POS_DOC": {"base": 0, "teto": 0},
"ORIENT_TESE": {"base": 0, "teto": 0},
"ORIENT_DISS": {"base": 0, "teto": 0},
"CO_ORIENT_POS_DOC": {"base": 0, "teto": 0},
"CO_ORIENT_TESE": {"base": 0, "teto": 0},
"CO_ORIENT_DISS": {"base": 0, "teto": 0},
"MB_BANCA_POS_DOC": {"base": 0, "teto": 0},
"MB_BANCA_TESE": {"base": 0, "teto": 0},
"MB_BANCA_DISS": {"base": 0, "teto": 0},
}
@@ -205,8 +205,7 @@ def verificar_criterios_codigo() -> Tuple[bool, List[str]]:
for codigo, oficial in CRITERIOS_OFICIAIS.items():
if codigo not in CRITERIOS:
if codigo not in ["BOL_BPQ_SUP", "BOL_BPQ_INT"]:
divergencias.append(f"{codigo}: não existe no código")
divergencias.append(f"{codigo}: não existe no código")
continue
impl = CRITERIOS[codigo]