Adiciona suporte ao Bloco B (Coordenacao PPG) e melhora tooltips
- Adiciona Bloco B no ConsultorCard com formula e detalhes - Ajusta calculo de pontuacao total para incluir Bloco B - Melhora tooltips com informacoes de teto e calculo detalhado - Ajusta routes.py para preencher blocos corretamente - Adiciona bloco_b no schema de ranking
This commit is contained in:
@@ -157,14 +157,44 @@ def _consultor_resumo_from_ranking(c):
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# Ajusta pontuação detalhada para refletir os valores atuais do ranking (incluindo COMPONENTE_B),
|
||||
# já que o JSON pode ter sido gerado antes do job de preenchimento do Componente B.
|
||||
pontuacao_total = float(c.pontuacao_total or 0)
|
||||
bloco_a = float(c.componente_a or 0)
|
||||
bloco_b = float(c.componente_b or 0)
|
||||
bloco_c = float(c.componente_c or 0)
|
||||
bloco_d = float(c.componente_d or 0)
|
||||
|
||||
if isinstance(pontuacao, dict):
|
||||
pontuacao_ajustada = dict(pontuacao)
|
||||
else:
|
||||
pontuacao_ajustada = {}
|
||||
|
||||
def _ajustar_bloco(chave: str, total: float, letra: str):
|
||||
b = pontuacao_ajustada.get(chave)
|
||||
if isinstance(b, dict):
|
||||
b2 = dict(b)
|
||||
b2["bloco"] = letra
|
||||
b2["total"] = total
|
||||
pontuacao_ajustada[chave] = b2
|
||||
else:
|
||||
pontuacao_ajustada[chave] = {"bloco": letra, "total": total, "atuacoes": []}
|
||||
|
||||
_ajustar_bloco("bloco_a", bloco_a, "A")
|
||||
_ajustar_bloco("bloco_b", bloco_b, "B")
|
||||
_ajustar_bloco("bloco_c", bloco_c, "C")
|
||||
_ajustar_bloco("bloco_d", bloco_d, "D")
|
||||
pontuacao_ajustada["pontuacao_total"] = pontuacao_total
|
||||
|
||||
return ConsultorRankingResumoSchema(
|
||||
id_pessoa=c.id_pessoa,
|
||||
nome=c.nome,
|
||||
posicao=c.posicao,
|
||||
pontuacao_total=c.pontuacao_total,
|
||||
bloco_a=c.componente_a,
|
||||
bloco_c=c.componente_c,
|
||||
bloco_d=c.componente_d,
|
||||
pontuacao_total=pontuacao_total,
|
||||
bloco_a=bloco_a,
|
||||
bloco_b=bloco_b,
|
||||
bloco_c=bloco_c,
|
||||
bloco_d=bloco_d,
|
||||
ativo=c.ativo,
|
||||
anos_atuacao=c.anos_atuacao,
|
||||
consultoria=consultoria,
|
||||
@@ -176,7 +206,7 @@ def _consultor_resumo_from_ranking(c):
|
||||
participacoes=participacoes,
|
||||
orientacoes=orientacoes,
|
||||
membros_banca=membros_banca,
|
||||
pontuacao=pontuacao,
|
||||
pontuacao=pontuacao_ajustada if pontuacao_ajustada else None,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user