feat(backend): ranking 100% Elasticsearch e critérios do PDF
This commit is contained in:
@@ -89,10 +89,19 @@ class CalculadorPontuacao:
|
||||
tempo = min(anos_total * criterio.multiplicador_tempo, criterio.teto_tempo)
|
||||
|
||||
bonus = 0
|
||||
if consultoria.anos_consecutivos >= 8 and criterio.bonus_continuidade_8anos:
|
||||
bonus += criterio.bonus_continuidade_8anos
|
||||
if codigo == "CONS_ATIVO" and consultoria.retornos > 0 and criterio.bonus_retorno:
|
||||
bonus += criterio.bonus_retorno
|
||||
|
||||
# Bônus de continuidade (escalonado, não cumulativo) - apenas CONS_ATIVO
|
||||
if codigo == "CONS_ATIVO":
|
||||
if consultoria.anos_consecutivos >= 8:
|
||||
bonus += 15
|
||||
elif consultoria.anos_consecutivos >= 5:
|
||||
bonus += 10
|
||||
elif consultoria.anos_consecutivos >= 3:
|
||||
bonus += 5
|
||||
|
||||
# Bônus de retorno (uma vez) - apenas CONS_ATIVO
|
||||
if consultoria.retornos > 0 and criterio.bonus_retorno:
|
||||
bonus += criterio.bonus_retorno
|
||||
|
||||
total_bruto = base + tempo + bonus
|
||||
total = min(total_bruto, criterio.teto) if criterio.teto > 0 else total_bruto
|
||||
|
||||
Reference in New Issue
Block a user