Atualiza criterios de pontuacao para V2

Backend:
- CAJ retorno 20->15, CAJ_MP retorno 20->10, CAM atualidade 10->20, retorno 20->10
- CONS_ATIVO/HIST/FALECIDO continuidade 8a+ = 20 (simplificado)
- CONS_FALECIDO agora pontua tempo (5 pts/ano, teto 50)
- AVAL_COMIS_PREMIO e AVAL_COMIS_GP mudaram tipo para PAPEL
- AVAL_COMIS_GP teto 100->80
- Novo bonus de recorrencia anual para comissoes (2-6 pts/ano)
- PREMIACAO base 150->100, PREMIACAO_GP base 30->50, MENCAO base 10->30
- BOL_BPQ_INTERMEDIARIO base 50->30 (consolidado)
- Orientacoes/Co-orientacoes/Bancas: tetos zerados (sem limite)
- TipoAtuacao.RESULTADO renomeado para COMPETENCIA_RECONHECIMENTO

Frontend:
- Atualiza PONTOS_BASE e TETOS com novos valores V2
- Atualiza descricoes das formulas nos tooltips
- Melhora exibicao de teto=0 como "sem limite"
- Adiciona info de bonus de recorrencia nos tooltips
This commit is contained in:
Frederico Castro
2025-12-14 20:37:55 -03:00
parent 7000268261
commit 120593831c
3 changed files with 95 additions and 74 deletions

View File

@@ -11,7 +11,7 @@ class Bloco(Enum):
class TipoAtuacao(Enum):
FUNCAO = "Função"
RESULTADO = "Resultado"
COMPETENCIA_RECONHECIMENTO = "Competência e Reconhecimento"
PAPEL = "Papel"
PARTICIPACAO = "Participação"
@@ -28,9 +28,9 @@ class CriterioPontuacao:
teto_tempo: int = 0
bonus_atualidade: int = 0
bonus_retorno: int = 0
bonus_continuidade_3anos: int = 0
bonus_continuidade_5anos: int = 0
bonus_continuidade_8anos: int = 0
bonus_recorrencia_anual: int = 0
teto_recorrencia: int = 0
CRITERIOS: Dict[str, CriterioPontuacao] = {
@@ -56,7 +56,7 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
multiplicador_tempo=8,
teto_tempo=80,
bonus_atualidade=20,
bonus_retorno=20,
bonus_retorno=15,
),
"CAJ_MP": CriterioPontuacao(
codigo="CAJ_MP",
@@ -68,7 +68,7 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
multiplicador_tempo=6,
teto_tempo=60,
bonus_atualidade=15,
bonus_retorno=20,
bonus_retorno=10,
),
"CAM": CriterioPontuacao(
codigo="CAM",
@@ -79,8 +79,8 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
pontua_tempo=True,
multiplicador_tempo=5,
teto_tempo=50,
bonus_atualidade=10,
bonus_retorno=20,
bonus_atualidade=20,
bonus_retorno=10,
),
"PPG_COORD": CriterioPontuacao(
codigo="PPG_COORD",
@@ -101,9 +101,7 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
pontua_tempo=True,
multiplicador_tempo=5,
teto_tempo=50,
bonus_continuidade_3anos=5,
bonus_continuidade_5anos=10,
bonus_continuidade_8anos=15,
bonus_continuidade_8anos=20,
bonus_retorno=15,
),
"CONS_HIST": CriterioPontuacao(
@@ -115,6 +113,7 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
pontua_tempo=True,
multiplicador_tempo=5,
teto_tempo=50,
bonus_continuidade_8anos=20,
),
"CONS_FALECIDO": CriterioPontuacao(
codigo="CONS_FALECIDO",
@@ -122,35 +121,42 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
tipo=TipoAtuacao.FUNCAO,
base=100,
teto=230,
pontua_tempo=False,
pontua_tempo=True,
multiplicador_tempo=5,
teto_tempo=50,
bonus_continuidade_8anos=20,
),
"INSC_AUTOR": CriterioPontuacao(
codigo="INSC_AUTOR",
bloco=Bloco.D,
tipo=TipoAtuacao.PAPEL,
tipo=TipoAtuacao.FUNCAO,
base=10,
teto=20,
),
"INSC_INST": CriterioPontuacao(
codigo="INSC_INST",
bloco=Bloco.D,
tipo=TipoAtuacao.PAPEL,
tipo=TipoAtuacao.FUNCAO,
base=30,
teto=60,
),
"AVAL_COMIS_PREMIO": CriterioPontuacao(
codigo="AVAL_COMIS_PREMIO",
bloco=Bloco.D,
tipo=TipoAtuacao.FUNCAO,
tipo=TipoAtuacao.PAPEL,
base=30,
teto=60,
bonus_recorrencia_anual=2,
teto_recorrencia=15,
),
"AVAL_COMIS_GP": CriterioPontuacao(
codigo="AVAL_COMIS_GP",
bloco=Bloco.D,
tipo=TipoAtuacao.FUNCAO,
tipo=TipoAtuacao.PAPEL,
base=50,
teto=100,
teto=80,
bonus_recorrencia_anual=3,
teto_recorrencia=20,
),
"COORD_COMIS_PREMIO": CriterioPontuacao(
codigo="COORD_COMIS_PREMIO",
@@ -158,6 +164,8 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
tipo=TipoAtuacao.FUNCAO,
base=50,
teto=100,
bonus_recorrencia_anual=4,
teto_recorrencia=20,
),
"COORD_COMIS_GP": CriterioPontuacao(
codigo="COORD_COMIS_GP",
@@ -165,40 +173,42 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
tipo=TipoAtuacao.FUNCAO,
base=60,
teto=120,
bonus_recorrencia_anual=6,
teto_recorrencia=20,
),
"BOL_BPQ_SUPERIOR": CriterioPontuacao(
codigo="BOL_BPQ_SUPERIOR",
bloco=Bloco.D,
tipo=TipoAtuacao.RESULTADO,
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
base=30,
teto=60,
),
"BOL_BPQ_INTERMEDIARIO": CriterioPontuacao(
codigo="BOL_BPQ_INTERMEDIARIO",
bloco=Bloco.D,
tipo=TipoAtuacao.RESULTADO,
base=50,
teto=100,
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
base=30,
teto=60,
),
"PREMIACAO": CriterioPontuacao(
codigo="PREMIACAO",
bloco=Bloco.D,
tipo=TipoAtuacao.RESULTADO,
base=150,
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
base=100,
teto=180,
),
"PREMIACAO_GP": CriterioPontuacao(
codigo="PREMIACAO_GP",
bloco=Bloco.D,
tipo=TipoAtuacao.RESULTADO,
base=30,
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
base=50,
teto=60,
),
"MENCAO": CriterioPontuacao(
codigo="MENCAO",
bloco=Bloco.D,
tipo=TipoAtuacao.RESULTADO,
base=10,
tipo=TipoAtuacao.COMPETENCIA_RECONHECIMENTO,
base=30,
teto=20,
),
"EVENTO": CriterioPontuacao(
@@ -220,63 +230,63 @@ CRITERIOS: Dict[str, CriterioPontuacao] = {
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=15,
teto=100,
teto=0,
),
"ORIENT_TESE": CriterioPontuacao(
codigo="ORIENT_TESE",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=10,
teto=50,
teto=0,
),
"ORIENT_DISS": CriterioPontuacao(
codigo="ORIENT_DISS",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=5,
teto=25,
teto=0,
),
"CO_ORIENT_POS_DOC": CriterioPontuacao(
codigo="CO_ORIENT_POS_DOC",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=7,
teto=35,
teto=0,
),
"CO_ORIENT_TESE": CriterioPontuacao(
codigo="CO_ORIENT_TESE",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=5,
teto=25,
teto=0,
),
"CO_ORIENT_DISS": CriterioPontuacao(
codigo="CO_ORIENT_DISS",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=3,
teto=15,
teto=0,
),
"MB_BANCA_POS_DOC": CriterioPontuacao(
codigo="MB_BANCA_POS_DOC",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=3,
teto=15,
teto=0,
),
"MB_BANCA_TESE": CriterioPontuacao(
codigo="MB_BANCA_TESE",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=3,
teto=15,
teto=0,
),
"MB_BANCA_DISS": CriterioPontuacao(
codigo="MB_BANCA_DISS",
bloco=Bloco.D,
tipo=TipoAtuacao.PARTICIPACAO,
base=2,
teto=10,
teto=0,
),
}