fix: alinhar estrutura de blocos com especificacao PDF V1.0
- Backend: reorganizar blocos para A (Coord CAPES), B (Consultoria), C (Avaliacoes/Premiacoes), D (Indicadores), E (Coord PPG) - Frontend: atualizar labels e formulas dos blocos - Frontend: ajustar CSS para blocos com tamanho uniforme e quebra de linha - Adicionar migration script para COMPONENTE_E no Oracle
This commit is contained in:
@@ -87,26 +87,18 @@ class ProcessarRankingJob:
|
||||
)
|
||||
|
||||
def _gerar_json_detalhes(self, consultor) -> dict:
|
||||
bloco_b = 0 # reservado no V1 (dados incompletos)
|
||||
pontuacao = consultor.pontuacao.to_dict() if consultor.pontuacao else None
|
||||
if isinstance(pontuacao, dict):
|
||||
pontuacao = dict(pontuacao)
|
||||
pontuacao["bloco_b"] = {"bloco": "B", "total": bloco_b, "atuacoes": []}
|
||||
pontuacao["pontuacao_total"] = (
|
||||
pontuacao.get("pontuacao_total", 0) + bloco_b
|
||||
if isinstance(pontuacao.get("pontuacao_total"), (int, float))
|
||||
else consultor.pontuacao_total + bloco_b
|
||||
)
|
||||
|
||||
return {
|
||||
"id_pessoa": consultor.id_pessoa,
|
||||
"nome": consultor.nome,
|
||||
"posicao": None,
|
||||
"pontuacao_total": consultor.pontuacao_total + bloco_b,
|
||||
"pontuacao_total": consultor.pontuacao_total,
|
||||
"bloco_a": consultor.pontuacao_bloco_a,
|
||||
"bloco_b": bloco_b,
|
||||
"bloco_b": consultor.pontuacao_bloco_b,
|
||||
"bloco_c": consultor.pontuacao_bloco_c,
|
||||
"bloco_d": consultor.pontuacao_bloco_d,
|
||||
"bloco_e": consultor.pontuacao_bloco_e,
|
||||
"ativo": consultor.ativo,
|
||||
"anos_atuacao": consultor.anos_atuacao,
|
||||
"coordenador_ppg": consultor.coordenador_ppg,
|
||||
@@ -254,6 +246,7 @@ class ProcessarRankingJob:
|
||||
bloco_b=int(c.get("bloco_b", 0)),
|
||||
bloco_c=int(c.get("bloco_c", 0)),
|
||||
bloco_d=int(c.get("bloco_d", 0)),
|
||||
bloco_e=int(c.get("bloco_e", 0)),
|
||||
ativo=bool(c.get("ativo", False)),
|
||||
anos_atuacao=float(c.get("anos_atuacao", 0) or 0),
|
||||
detalhes=c,
|
||||
@@ -272,7 +265,7 @@ class ProcessarRankingJob:
|
||||
"pontuacao_media": 0,
|
||||
"pontuacao_maxima": 0,
|
||||
"pontuacao_minima": 0,
|
||||
"media_componentes": {"a": 0, "b": 0, "c": 0, "d": 0},
|
||||
"media_componentes": {"a": 0, "b": 0, "c": 0, "d": 0, "e": 0},
|
||||
}
|
||||
|
||||
total = len(entries)
|
||||
@@ -294,6 +287,7 @@ class ProcessarRankingJob:
|
||||
"b": float(round(sum(e.bloco_b for e in entries) / total, 2)),
|
||||
"c": float(round(sum(e.bloco_c for e in entries) / total, 2)),
|
||||
"d": float(round(sum(e.bloco_d for e in entries) / total, 2)),
|
||||
"e": float(round(sum(e.bloco_e for e in entries) / total, 2)),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user