Commit 2c06bcd9 authored by Lucas Henrique's avatar Lucas Henrique
Browse files

Adicionando critério de desempate em editais com cotas

parent ed5a2269
...@@ -255,9 +255,29 @@ class AdministradorController extends Controller ...@@ -255,9 +255,29 @@ class AdministradorController extends Controller
} }
} }
} }
if ($evento->tipoAvaliacao == "form") {
$trabalhosAmpla = $trabalhosAmpla->sort(function ($item, $next) { $trabalhosAmpla = $trabalhosAmpla->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}); });
} elseif ($evento->tipoAvaliacao == "campos") {
$camposAvaliacao = CampoAvaliacao::where('evento_id', $evento->id)->orderBy('prioridade', 'ASC')->get();
// Faz a classificação dos trabalhos de acordo com a pontuação e com a nota de cada campo de avaliação
$trabalhosAmpla = $trabalhosAmpla->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;
}
});
}
// Recém Doutor // Recém Doutor
$trabalhosDoutor = Trabalho::where('evento_id', $evento->id) $trabalhosDoutor = Trabalho::where('evento_id', $evento->id)
...@@ -303,9 +323,30 @@ class AdministradorController extends Controller ...@@ -303,9 +323,30 @@ class AdministradorController extends Controller
} }
} }
} }
if ($evento->tipoAvaliacao == "form") {
$trabalhosDoutor = $trabalhosDoutor->sort(function ($item, $next) { $trabalhosDoutor = $trabalhosDoutor->sort(function ($item, $next) {
return $item->pontuacao >= $next->pontuacao ? -1 : 1; return $item->pontuacao >= $next->pontuacao ? -1 : 1;
}); });
} elseif ($evento->tipoAvaliacao == "campos") {
$camposAvaliacao = CampoAvaliacao::where('evento_id', $evento->id)->orderBy('prioridade', 'ASC')->get();
// Faz a classificação dos trabalhos de acordo com a pontuação e com a nota de cada campo de avaliação
$trabalhosDoutor = $trabalhosDoutor->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;
}
});
}
return view('administrador.resultadosProjetosCotas')->with(['evento' => $evento, 'trabalhosAmpla' => $trabalhosAmpla, 'trabalhosDoutor' => $trabalhosDoutor]); return view('administrador.resultadosProjetosCotas')->with(['evento' => $evento, 'trabalhosAmpla' => $trabalhosAmpla, 'trabalhosDoutor' => $trabalhosDoutor]);
} }
...@@ -361,10 +402,6 @@ class AdministradorController extends Controller ...@@ -361,10 +402,6 @@ class AdministradorController extends Controller
$trabalho->pontuacao = number_format(($trabalho->pontuacao / $cont), 2, ',', ''); $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 // 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){ $trabalhos = $trabalhos->sort(function ($item, $next) use ($camposAvaliacao){
if ($item->pontuacao == $next->pontuacao) { if ($item->pontuacao == $next->pontuacao) {
......
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