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:
@@ -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]
|
||||
|
||||
@@ -5,8 +5,10 @@ from enum import Enum
|
||||
|
||||
class Bloco(Enum):
|
||||
A = "A"
|
||||
B = "B"
|
||||
C = "C"
|
||||
D = "D"
|
||||
E = "E"
|
||||
|
||||
|
||||
class TipoAtuacao(Enum):
|
||||
@@ -33,6 +35,7 @@ class CriterioPontuacao:
|
||||
teto_recorrencia: int = 0
|
||||
bonus_recorrencia_participacao: int = 0
|
||||
teto_recorrencia_participacao: int = 0
|
||||
gera_selo: bool = False
|
||||
|
||||
|
||||
CRITERIOS: Dict[str, CriterioPontuacao] = {
|
||||
@@ -86,17 +89,21 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
|
||||
),
|
||||
"PPG_COORD": CriterioPontuacao(
|
||||
codigo="PPG_COORD",
|
||||
bloco=Bloco.A,
|
||||
bloco=Bloco.E,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
pontua_tempo=True,
|
||||
multiplicador_tempo=0,
|
||||
teto_tempo=0,
|
||||
bonus_atualidade=15,
|
||||
bonus_retorno=10,
|
||||
bonus_continuidade_8anos=15,
|
||||
gera_selo=True,
|
||||
),
|
||||
"CONS_ATIVO": CriterioPontuacao(
|
||||
codigo="CONS_ATIVO",
|
||||
bloco=Bloco.C,
|
||||
bloco=Bloco.B,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=150,
|
||||
teto=230,
|
||||
@@ -109,7 +116,7 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
|
||||
),
|
||||
"CONS_HIST": CriterioPontuacao(
|
||||
codigo="CONS_HIST",
|
||||
bloco=Bloco.C,
|
||||
bloco=Bloco.B,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=100,
|
||||
teto=230,
|
||||
@@ -121,18 +128,18 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
|
||||
),
|
||||
"CONS_FALECIDO": CriterioPontuacao(
|
||||
codigo="CONS_FALECIDO",
|
||||
bloco=Bloco.C,
|
||||
bloco=Bloco.B,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=100,
|
||||
teto=230,
|
||||
pontua_tempo=False,
|
||||
multiplicador_tempo=0,
|
||||
teto_tempo=0,
|
||||
pontua_tempo=True,
|
||||
multiplicador_tempo=5,
|
||||
teto_tempo=50,
|
||||
bonus_continuidade_8anos=20,
|
||||
),
|
||||
"INSC_AUTOR": CriterioPontuacao(
|
||||
codigo="INSC_AUTOR",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=10,
|
||||
teto=20,
|
||||
@@ -141,23 +148,16 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
|
||||
),
|
||||
"INSC_INST_AUTOR": CriterioPontuacao(
|
||||
codigo="INSC_INST_AUTOR",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=20,
|
||||
teto=50,
|
||||
bonus_recorrencia_participacao=5,
|
||||
teto_recorrencia_participacao=10,
|
||||
),
|
||||
"INSC_INST": CriterioPontuacao(
|
||||
codigo="INSC_INST",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=30,
|
||||
teto=60,
|
||||
),
|
||||
"AVAL_COMIS_PREMIO": CriterioPontuacao(
|
||||
codigo="AVAL_COMIS_PREMIO",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PAPEL,
|
||||
base=30,
|
||||
teto=60,
|
||||
@@ -166,107 +166,62 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
|
||||
),
|
||||
"AVAL_COMIS_GP": CriterioPontuacao(
|
||||
codigo="AVAL_COMIS_GP",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PAPEL,
|
||||
base=50,
|
||||
base=40,
|
||||
teto=80,
|
||||
bonus_recorrencia_anual=3,
|
||||
teto_recorrencia=20,
|
||||
),
|
||||
"COORD_COMIS_PREMIO": CriterioPontuacao(
|
||||
codigo="COORD_COMIS_PREMIO",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=50,
|
||||
base=40,
|
||||
teto=100,
|
||||
bonus_recorrencia_anual=4,
|
||||
teto_recorrencia=20,
|
||||
),
|
||||
"COORD_COMIS_GP": CriterioPontuacao(
|
||||
codigo="COORD_COMIS_GP",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.FUNCAO,
|
||||
base=60,
|
||||
base=50,
|
||||
teto=120,
|
||||
bonus_recorrencia_anual=6,
|
||||
teto_recorrencia=20,
|
||||
),
|
||||
"BOL_BPQ_SUPERIOR": CriterioPontuacao(
|
||||
codigo="BOL_BPQ_SUPERIOR",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=30,
|
||||
teto=60,
|
||||
),
|
||||
"BOL_BPQ_INTERMEDIARIO": CriterioPontuacao(
|
||||
codigo="BOL_BPQ_INTERMEDIARIO",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=50,
|
||||
teto=100,
|
||||
),
|
||||
"BOL_BPQ_SUP": CriterioPontuacao(
|
||||
codigo="BOL_BPQ_SUP",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=30,
|
||||
teto=60,
|
||||
),
|
||||
"BOL_BPQ_INT": CriterioPontuacao(
|
||||
codigo="BOL_BPQ_INT",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=50,
|
||||
teto=100,
|
||||
),
|
||||
"BOL_BPQ_NIVEL": CriterioPontuacao(
|
||||
codigo="BOL_BPQ_NIVEL",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=30,
|
||||
teto=60,
|
||||
),
|
||||
"PREMIACAO": CriterioPontuacao(
|
||||
codigo="PREMIACAO",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=100,
|
||||
teto=180,
|
||||
),
|
||||
"PREMIACAO_GP": CriterioPontuacao(
|
||||
codigo="PREMIACAO_GP",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=50,
|
||||
teto=60,
|
||||
gera_selo=True,
|
||||
),
|
||||
"PREMIACAO_GP_AUTOR": CriterioPontuacao(
|
||||
codigo="PREMIACAO_GP_AUTOR",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=100,
|
||||
teto=300,
|
||||
gera_selo=True,
|
||||
),
|
||||
"PREMIACAO_AUTOR": CriterioPontuacao(
|
||||
codigo="PREMIACAO_AUTOR",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=50,
|
||||
teto=150,
|
||||
),
|
||||
"MENCAO": CriterioPontuacao(
|
||||
codigo="MENCAO",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=30,
|
||||
teto=30,
|
||||
gera_selo=True,
|
||||
),
|
||||
"MENCAO_AUTOR": CriterioPontuacao(
|
||||
codigo="MENCAO_AUTOR",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=30,
|
||||
teto=90,
|
||||
gera_selo=True,
|
||||
),
|
||||
"EVENTO": CriterioPontuacao(
|
||||
codigo="EVENTO",
|
||||
@@ -282,72 +237,193 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=10,
|
||||
teto=40,
|
||||
teto=30,
|
||||
bonus_recorrencia_participacao=2,
|
||||
teto_recorrencia_participacao=10,
|
||||
),
|
||||
"IDIOMA_BILINGUE": CriterioPontuacao(
|
||||
codigo="IDIOMA_BILINGUE",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"IDIOMA_MULTILINGUE": CriterioPontuacao(
|
||||
codigo="IDIOMA_MULTILINGUE",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"TITULACAO_MESTRE": CriterioPontuacao(
|
||||
codigo="TITULACAO_MESTRE",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"TITULACAO_DOUTOR": CriterioPontuacao(
|
||||
codigo="TITULACAO_DOUTOR",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"TITULACAO_POS_DOUTOR": CriterioPontuacao(
|
||||
codigo="TITULACAO_POS_DOUTOR",
|
||||
bloco=Bloco.D,
|
||||
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"ORIENT_POS_DOC": CriterioPontuacao(
|
||||
codigo="ORIENT_POS_DOC",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=15,
|
||||
teto=100,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"ORIENT_POS_DOC_PREM": CriterioPontuacao(
|
||||
codigo="ORIENT_POS_DOC_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"ORIENT_TESE": CriterioPontuacao(
|
||||
codigo="ORIENT_TESE",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=10,
|
||||
teto=50,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"ORIENT_TESE_PREM": CriterioPontuacao(
|
||||
codigo="ORIENT_TESE_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"ORIENT_DISS": CriterioPontuacao(
|
||||
codigo="ORIENT_DISS",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=5,
|
||||
teto=25,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"ORIENT_DISS_PREM": CriterioPontuacao(
|
||||
codigo="ORIENT_DISS_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"CO_ORIENT_POS_DOC": CriterioPontuacao(
|
||||
codigo="CO_ORIENT_POS_DOC",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=7,
|
||||
teto=35,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"CO_ORIENT_POS_DOC_PREM": CriterioPontuacao(
|
||||
codigo="CO_ORIENT_POS_DOC_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"CO_ORIENT_TESE": CriterioPontuacao(
|
||||
codigo="CO_ORIENT_TESE",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=5,
|
||||
teto=25,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"CO_ORIENT_TESE_PREM": CriterioPontuacao(
|
||||
codigo="CO_ORIENT_TESE_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"CO_ORIENT_DISS": CriterioPontuacao(
|
||||
codigo="CO_ORIENT_DISS",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=3,
|
||||
teto=15,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"CO_ORIENT_DISS_PREM": CriterioPontuacao(
|
||||
codigo="CO_ORIENT_DISS_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"MB_BANCA_POS_DOC": CriterioPontuacao(
|
||||
codigo="MB_BANCA_POS_DOC",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=3,
|
||||
teto=15,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"MB_BANCA_POS_DOC_PREM": CriterioPontuacao(
|
||||
codigo="MB_BANCA_POS_DOC_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"MB_BANCA_TESE": CriterioPontuacao(
|
||||
codigo="MB_BANCA_TESE",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=3,
|
||||
teto=15,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"MB_BANCA_TESE_PREM": CriterioPontuacao(
|
||||
codigo="MB_BANCA_TESE_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"MB_BANCA_DISS": CriterioPontuacao(
|
||||
codigo="MB_BANCA_DISS",
|
||||
bloco=Bloco.D,
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=2,
|
||||
teto=10,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
"MB_BANCA_DISS_PREM": CriterioPontuacao(
|
||||
codigo="MB_BANCA_DISS_PREM",
|
||||
bloco=Bloco.C,
|
||||
tipo=TipoAtuacao.PARTICIPACAO,
|
||||
base=0,
|
||||
teto=0,
|
||||
gera_selo=True,
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@@ -42,33 +42,14 @@ def extrair_selos_entry(detalhes: Dict[str, Any]) -> Set[str]:
|
||||
selos.add("BPQ")
|
||||
|
||||
for prem in detalhes.get("premiacoes", []):
|
||||
papel = (prem.get("papel") or "").lower()
|
||||
codigo = prem.get("codigo", "")
|
||||
|
||||
if codigo == "PREMIACAO":
|
||||
tipo_prem = "GP"
|
||||
elif codigo == "PREMIACAO_GP":
|
||||
tipo_prem = "PREMIO"
|
||||
elif codigo == "MENCAO":
|
||||
tipo_prem = "MENCAO"
|
||||
elif codigo == "PREMIACAO_GP_AUTOR":
|
||||
if codigo == "PREMIACAO_GP_AUTOR":
|
||||
selos.add("AUTOR_GP")
|
||||
continue
|
||||
elif codigo == "PREMIACAO_AUTOR":
|
||||
selos.add("AUTOR_PREMIO")
|
||||
continue
|
||||
elif codigo == "MENCAO_AUTOR":
|
||||
selos.add("AUTOR_MENCAO")
|
||||
continue
|
||||
else:
|
||||
continue
|
||||
|
||||
if "autor" in papel:
|
||||
selos.add(f"AUTOR_{tipo_prem}")
|
||||
elif "orientador" in papel:
|
||||
selos.add(f"ORIENT_{tipo_prem}")
|
||||
elif "coorientador" in papel or "co-orientador" in papel:
|
||||
selos.add(f"COORIENT_{tipo_prem}")
|
||||
|
||||
for orient in detalhes.get("orientacoes", []):
|
||||
codigo = orient.get("codigo", "")
|
||||
|
||||
@@ -330,23 +330,12 @@ class ConsultorRepositoryImpl(ConsultorRepository):
|
||||
nome_lower = str(nome_premio).lower()
|
||||
tipo_norm = self._inferir_premiacao_tipo(f"{tipo_lower} {nome_lower}")
|
||||
|
||||
papel_lower = str(papel or "").lower()
|
||||
is_autor = "autor" in papel_lower
|
||||
|
||||
if is_autor:
|
||||
if tipo_norm == "GP":
|
||||
codigo = "PREMIACAO_GP_AUTOR"
|
||||
elif tipo_norm == "MENCAO":
|
||||
codigo = "MENCAO_AUTOR"
|
||||
else:
|
||||
codigo = "PREMIACAO_AUTOR"
|
||||
if tipo_norm == "GP":
|
||||
codigo = "PREMIACAO_GP_AUTOR"
|
||||
elif tipo_norm == "MENCAO":
|
||||
codigo = "MENCAO_AUTOR"
|
||||
else:
|
||||
if tipo_norm == "GP":
|
||||
codigo = "PREMIACAO"
|
||||
elif tipo_norm == "MENCAO":
|
||||
codigo = "MENCAO"
|
||||
else:
|
||||
codigo = "PREMIACAO_GP"
|
||||
codigo = "PREMIACAO_AUTOR"
|
||||
|
||||
premiacoes.append(Premiacao(
|
||||
codigo=codigo,
|
||||
@@ -368,16 +357,8 @@ class ConsultorRepositoryImpl(ConsultorRepository):
|
||||
nivel = dados.get("nivel", "") or dados.get("categoria", "") or ""
|
||||
area = dados.get("areaConhecimento", "") or ""
|
||||
|
||||
nivel_lower = nivel.lower()
|
||||
if not nivel_lower:
|
||||
codigo = "BOL_BPQ_NIVEL"
|
||||
elif "1d" in nivel_lower or "2" in nivel_lower:
|
||||
codigo = "BOL_BPQ_INT"
|
||||
else:
|
||||
codigo = "BOL_BPQ_SUP"
|
||||
|
||||
bolsas.append(BolsaCNPQ(
|
||||
codigo=codigo,
|
||||
codigo="BOL_BPQ_NIVEL",
|
||||
nivel=nivel,
|
||||
area=area,
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user