Commit a586e34d authored by Lucas Henrique's avatar Lucas Henrique
Browse files

Adicionando critérios de desempate a avaliação por barema

parent 65ee201a
...@@ -308,10 +308,10 @@ class AdministradorController extends Controller ...@@ -308,10 +308,10 @@ class AdministradorController extends Controller
// Sem Cotas // Sem Cotas
$trabalhos = $evento->trabalhos; $trabalhos = $evento->trabalhos;
foreach ($trabalhos as $trabalho) { if ($evento->tipoAvaliacao == "form") {
$trabalho->pontuacao = 0; foreach ($trabalhos as $trabalho) {
$cont = 0; $trabalho->pontuacao = 0;
if ($evento->tipoAvaliacao == "form"){ $cont = 0;
// Caso especial do PIBEX onde a pontuação fica no Ad Hoc // Caso especial do PIBEX onde a pontuação fica no Ad Hoc
if ($evento->tipo == 'PIBEX') { if ($evento->tipo == 'PIBEX') {
foreach ($trabalho->avaliadors as $avaliador) { foreach ($trabalho->avaliadors as $avaliador) {
...@@ -336,19 +336,48 @@ class AdministradorController extends Controller ...@@ -336,19 +336,48 @@ class AdministradorController extends Controller
if ($trabalho->pontuacao != 0) { if ($trabalho->pontuacao != 0) {
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); $trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', '');
} }
} elseif($evento->tipoAvaliacao == "campos"){
foreach ($trabalho->avaliadors as $avaliador) { $trabalhos = $trabalhos->sort(function ($item, $next) {
$trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
++$cont; });
} }
if ($trabalho->pontuacao != 0) { } elseif ($evento->tipoAvaliacao == "campos"){
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); foreach ($trabalhos as $trabalho) {
} //dd($trabalhos);
$trabalho->pontuacao = 0;
$cont = 0;
$camposAvaliacao = CampoAvaliacao::where('evento_id', $evento->id)->orderBy('prioridade', 'ASC')->get();
foreach ($trabalho->avaliadors as $avaliador) {
$trabalho->pontuacao += $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->pontuacao;
++$cont;
}
if ($trabalho->pontuacao != 0) {
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', '');
}
// $trabalhos = $trabalhos->sort(function ($item, $next) {
// return $item->pontuacao >= $next->pontuacao ? -1 : 1;
// });
// Faz a classificação dos trabalhos de acordo com a pontuação e com a nota de cada campo de avaliação
$trabalhos = $trabalhos->sort(function ($item, $next) use ($camposAvaliacao){
if ($item->pontuacao == $next->pontuacao) {
foreach ($camposAvaliacao as $campo) {
$notaItem = $item->avaliacaoTrabalho()->where('campo_avaliacao_id', $campo->id)->first()->nota;
$notaNext = $next->avaliacaoTrabalho()->where('campo_avaliacao_id', $campo->id)->first()->nota;
if ($notaItem != $notaNext) {
return $notaItem >= $notaNext ? -1 : 1;
}
}
} else {
return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}
});
} }
} }
$trabalhos = $trabalhos->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1;
});
return view('administrador.resultadosProjetos')->with(['evento' => $evento, 'trabalhos' => $trabalhos]); return view('administrador.resultadosProjetos')->with(['evento' => $evento, 'trabalhos' => $trabalhos]);
} }
...@@ -882,7 +911,7 @@ class AdministradorController extends Controller ...@@ -882,7 +911,7 @@ class AdministradorController extends Controller
'tipo' => 5, 'tipo' => 5,
]); ]);
$notificacao->save(); $notificacao->save();
Notification::send($userTemp, new AtribuicaoAvaliadorExternoNotification($userTemp, $trabalho, $evento->formAvaliacaoExterno, $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso)); Notification::send($userTemp, new AtribuicaoAvaliadorExternoNotification($userTemp, $trabalho, $evento->formAvaliacaoExterno, $avaliador->trabalhos()->where('trabalho_id', $trabalho->id)->first()->pivot->acesso, $evento->tipoAvaliacao));
} }
return redirect()->back(); return redirect()->back();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment