Commit 5618635d authored by PedroLopesUPE's avatar PedroLopesUPE
Browse files

Feature: Download de todos os PADs enviados para Avaliador

parent a9ee4926
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Controllers\UserPadController;
use App\Models\Avaliacao; use App\Models\Avaliacao;
use App\Models\AvaliadorPad; use App\Models\AvaliadorPad;
use App\Models\AvaliadorPadDimensao; use App\Models\AvaliadorPadDimensao;
...@@ -897,6 +898,46 @@ class PadController extends Controller ...@@ -897,6 +898,46 @@ class PadController extends Controller
'professores' => $professores]); 'professores' => $professores]);
} }
private function Generate_PDF($id){
$user = Auth::user();
$pad = Pad::find($id);
$professores = User::join('user_pad', 'user_pad.user_id', '=', 'users.id')
->join('pad', 'user_pad.pad_id', '=', 'pad.id')
->where(function ($query) use ($user, $id) {
$query->where('pad.status', '=', Status::ATIVO);
$query->where('users.campus_id', '=', $user->campus_id);
$query->where('users.id', '!=', $user->id);
$query->where('pad.id', '=', $id);
})
->select('users.id', 'users.name', 'users.curso_id', 'users.campus_id')
->orderBy('name')
->get();
//Informando se o PAD foi enviado ou não
$avaliador_pad = AvaliadorPad::where(function ($query) use ($pad, $user) {
$query->where('user_id', '=', $user->id);
$query->where('pad_id', '=', $pad->id);
})->first();
foreach ($professores as $professor){
$professor->status = "Pendente";
$userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first();
$avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad);
$professor->ch_ensino = $this->get_carga_horaria($avaliacoes['ensino'])? $this->get_carga_horaria($avaliacoes['ensino']) : 0;
$professor->ch_pesquisa = $this->get_carga_horaria($avaliacoes['pesquisa'])? $this->get_carga_horaria($avaliacoes['pesquisa']) : 0;
$professor->ch_extensao = $this->get_carga_horaria($avaliacoes['extensao'])? $this->get_carga_horaria($avaliacoes['extensao']) : 0;
$professor->ch_gestao = $this->get_carga_horaria($avaliacoes['gestao'])? $this->get_carga_horaria($avaliacoes['gestao']) : 0;
if($professor->ch_ensino || $professor->ch_pesquisa || $professor->ch_extensao || $professor->ch_gestao ) {
UserPadController::Generate_PDF($userPad->{'id'});
}
}
}
private function get_carga_horaria($avaliacoes){ private function get_carga_horaria($avaliacoes){
$ch = 0; $ch = 0;
......
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
<i class="bi bi-exclamation-octagon-fill"></i> <i class="bi bi-exclamation-octagon-fill"></i>
Relatório pad {{$pad->nome}} Relatório pad {{$pad->nome}}
</h3> </h3>
@include('components.buttons.btn-download', [
'route' => route('pad_relatório_pdf'),
'content' => 'Baixar PADs enviados',
'id' => '',
'class' => '',
])
</div> </div>
<div class="card d-flex"> <div class="card d-flex">
<div class="card-head d-flex justify-content-center" style="background-color:#dfdfdf; padding-top:10px;"> <div class="card-head d-flex justify-content-center" style="background-color:#dfdfdf; padding-top:10px;">
......
...@@ -103,7 +103,7 @@ Route::prefix('/avaliador')->group(function () { ...@@ -103,7 +103,7 @@ Route::prefix('/avaliador')->group(function () {
Route::delete('/delete/{id}', [AvaliadorController::class, 'destroy'])->name('avaliador_delete'); Route::delete('/delete/{id}', [AvaliadorController::class, 'destroy'])->name('avaliador_delete');
Route::get('/relatorio', [AvaliadorController::class, 'relatorio'])->name('avaliador_relatorio'); Route::get('/relatorio', [AvaliadorController::class, 'relatorio'])->name('avaliador_relatorio');
Route::get('/relatorio/{id}', [PadController::class, 'relatorio'])->name('pad_relatório'); Route::get('/relatorio/{id}', [PadController::class, 'relatorio'])->name('pad_relatório');
Route::get('/relatorio/{id}/pdf', [PadController::class, 'Generate_PDF'])->name('pad_relatório_pdf');
}); });
Route::prefix('/user')->group(function () { Route::prefix('/user')->group(function () {
......
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