Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Walter Felipe
submeta
Commits
2c06bcd9
Commit
2c06bcd9
authored
Feb 21, 2023
by
Lucas Henrique
Browse files
Adicionando critério de desempate em editais com cotas
parent
ed5a2269
Changes
1
Hide whitespace changes
Inline
Side-by-side
app/Http/Controllers/AdministradorController.php
View file @
2c06bcd9
...
...
@@ -255,10 +255,30 @@ class AdministradorController extends Controller
}
}
}
$trabalhosAmpla
=
$trabalhosAmpla
->
sort
(
function
(
$item
,
$next
)
{
return
$item
->
pontuacao
>=
$next
->
pontuacao
?
-
1
:
1
;
});
if
(
$evento
->
tipoAvaliacao
==
"form"
)
{
$trabalhosAmpla
=
$trabalhosAmpla
->
sort
(
function
(
$item
,
$next
)
{
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
$trabalhosDoutor
=
Trabalho
::
where
(
'evento_id'
,
$evento
->
id
)
->
where
(
'modalidade'
,
'RecemDoutor'
)
->
get
();
...
...
@@ -303,10 +323,31 @@ class AdministradorController extends Controller
}
}
}
$trabalhosDoutor
=
$trabalhosDoutor
->
sort
(
function
(
$item
,
$next
)
{
return
$item
->
pontuacao
>=
$next
->
pontuacao
?
-
1
:
1
;
});
if
(
$evento
->
tipoAvaliacao
==
"form"
)
{
$trabalhosDoutor
=
$trabalhosDoutor
->
sort
(
function
(
$item
,
$next
)
{
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
]);
}
...
...
@@ -350,36 +391,32 @@ class AdministradorController extends Controller
//dd($trabalhos);
$trabalho
->
pontuacao
=
0
;
$cont
=
0
;
$camposAvaliacao
=
CampoAvaliacao
::
where
(
'evento_id'
,
$evento
->
id
)
->
orderBy
(
'prioridade'
,
'ASC'
)
->
get
();
$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
,
','
,
''
);
}
foreach
(
$trabalho
->
avaliadors
as
$avaliador
)
{
$trabalho
->
pontuacao
+=
$avaliador
->
trabalhos
()
->
where
(
'trabalho_id'
,
$trabalho
->
id
)
->
first
()
->
pivot
->
pontuacao
;
++
$cont
;
}
//
$trabalho
s = $trabalhos->sort(function ($item, $next
) {
// return $item
->pontuacao
>
=
$next->pontuacao ? -1 : 1
;
// });
if
(
$trabalho
->
pontuacao
!=
0
)
{
$trabalho
->
pontuacao
=
number_format
((
$trabalho
->
pontuacao
/
$cont
),
2
,
','
,
''
)
;
}
// 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
)
{
// 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
;
}
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
;
}
});
}
else
{
return
$item
->
pontuacao
>=
$next
->
pontuacao
?
-
1
:
1
;
}
});
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment