Commit 2327d4b2 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

add view de relatorio de horarios

parent 4b6417cd
...@@ -34,6 +34,7 @@ use App\Models\Tabelas\Pesquisa\PesquisaCoordenacao; ...@@ -34,6 +34,7 @@ use App\Models\Tabelas\Pesquisa\PesquisaCoordenacao;
use App\Models\Tabelas\Pesquisa\PesquisaLideranca; use App\Models\Tabelas\Pesquisa\PesquisaLideranca;
use App\Models\Tabelas\Pesquisa\PesquisaOrientacao; use App\Models\Tabelas\Pesquisa\PesquisaOrientacao;
use App\Models\Tabelas\Pesquisa\PesquisaOutros; use App\Models\Tabelas\Pesquisa\PesquisaOutros;
use App\Models\TaskTime;
use App\Models\User; use App\Models\User;
use App\Models\UserPad; use App\Models\UserPad;
use App\Models\UserType; use App\Models\UserType;
...@@ -301,70 +302,85 @@ class PadController extends Controller ...@@ -301,70 +302,85 @@ class PadController extends Controller
$pad = Pad::find($id); $pad = Pad::find($id);
$index_menu = MenuItemsAvaliador::HOME; $index_menu = MenuItemsAvaliador::HOME;
[$user_id, $campus_id, $pad_id, $status_active] = [$user->id, $user->campus_id, $pad->id, PAD::STATUS_ATIVO]; // [$user_id, $campus_id, $pad_id, $status_active] = [$user->id, $user->campus_id, $pad->id, PAD::STATUS_ATIVO];
$professores = // $professores =
User::join('user_pad', 'user_pad.user_id', '=', 'users.id') // User::join('user_pad', 'user_pad.user_id', '=', 'users.id')
->join('pad', 'user_pad.pad_id', '=', 'pad.id') // ->join('pad', 'user_pad.pad_id', '=', 'pad.id')
->where(function ($query) use ($user_id, $campus_id, $pad_id, $status_active) // ->where(function ($query) use ($user_id, $campus_id, $pad_id, $status_active)
{ // {
$query->where('pad.status', '=', $status_active); // $query->where('pad.status', '=', $status_active);
$query->where('users.campus_id', '=', $campus_id); // $query->where('users.campus_id', '=', $campus_id);
$query->where('users.id', '!=', $user_id); // $query->where('users.id', '!=', $user_id);
$query->where('pad.id', '=', $pad_id); // $query->where('pad.id', '=', $pad_id);
}) // })
->select('users.id', 'users.name', 'users.email') // ->select('users.id', 'users.name', 'users.email')
->orderBy('users.name') // ->orderBy('users.name')
->limit(10) // ->limit(10)
->get(); // ->get();
// $professores = User::join('user_pad', 'user_pad.user_id', '=', 'users.id') // dd($professores);
// ->join('pad', 'user_pad.pad_id', '=', 'pad.id')
// ->where(function ($query) use ($user, $id) { $professores = User::join('user_pad', 'user_pad.user_id', '=', 'users.id')
// $query->where('pad.status', '=', Status::ATIVO); ->join('pad', 'user_pad.pad_id', '=', 'pad.id')
// $query->where('users.campus_id', '=', $user->campus_id); ->where(function ($query) use ($user, $id) {
// $query->where('users.id', '!=', $user->id); $query->where('pad.status', '=', Status::ATIVO);
// $query->where('pad.id', '=', $id); $query->where('users.campus_id', '=', $user->campus_id);
// }) $query->where('users.id', '!=', $user->id);
// ->select('users.id', 'users.name') $query->where('pad.id', '=', $id);
// ->orderBy('name') })
// ->limit(10) ->select('users.id', 'users.name')
// ->get(); ->orderBy('name')
// ->get();
// //Informando se o PAD foi enviado ou não
// $avaliador_pad = AvaliadorPad::where(function ($query) use ($pad, $user) { //Informando se o PAD foi enviado ou não
// $query->where('user_id', '=', $user->id); $avaliador_pad = AvaliadorPad::where(function ($query) use ($pad, $user) {
// $query->where('pad_id', '=', $pad->id); $query->where('user_id', '=', $user->id);
// })->first(); $query->where('pad_id', '=', $pad->id);
// })->first();
//
// foreach ($professores as $professor){
// $professor->status = "Pendente"; foreach ($professores as $professor){
// $userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first(); $professor->status = "Pendente";
// $userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first();
// $avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad);
// $avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad);
// $avaliacoes_ensino = !empty($avaliacoes['ensino']) ? $avaliacoes['ensino'] : null;
// $avaliacoes_pesquisa = !empty($avaliacoes['pesquisa']) ? $avaliacoes['pesquisa'] : null; $avaliacoes_ensino = !empty($avaliacoes['ensino']) ? $avaliacoes['ensino'] : null;
// $avaliacoes_extensao = !empty($avaliacoes['extensao']) ? $avaliacoes['extensao'] : null; $avaliacoes_pesquisa = !empty($avaliacoes['pesquisa']) ? $avaliacoes['pesquisa'] : null;
// $avaliacoes_gestao = !empty($avaliacoes['gestao']) ? $avaliacoes['gestao'] : null; $avaliacoes_extensao = !empty($avaliacoes['extensao']) ? $avaliacoes['extensao'] : null;
// $avaliacoes_gestao = !empty($avaliacoes['gestao']) ? $avaliacoes['gestao'] : null;
//
// $avaliacoes_ensino_all = $avaliacoes_ensino? $avaliacoes_ensino->all() : null;
// $avaliacoes_pesquisa_all = $avaliacoes_pesquisa? $avaliacoes_pesquisa->all() : null; $avaliacoes_ensino_all = $avaliacoes_ensino? $avaliacoes_ensino->all() : null;
// $avaliacoes_extensao_all = $avaliacoes_extensao? $avaliacoes_extensao->all() : null; $avaliacoes_pesquisa_all = $avaliacoes_pesquisa? $avaliacoes_pesquisa->all() : null;
// $avaliacoes_gestao_all = $avaliacoes_gestao? $avaliacoes_gestao->all() : null; $avaliacoes_extensao_all = $avaliacoes_extensao? $avaliacoes_extensao->all() : null;
// $avaliacoes_gestao_all = $avaliacoes_gestao? $avaliacoes_gestao->all() : null;
//
// if($avaliacoes_ensino_all || $avaliacoes_pesquisa_all || $avaliacoes_extensao_all || $avaliacoes_gestao_all) {
// $professor->status = "Enviado"; if($avaliacoes_ensino_all || $avaliacoes_pesquisa_all || $avaliacoes_extensao_all || $avaliacoes_gestao_all) {
// } $professor->status = "Enviado";
// }
// $professor->ch = $this->get_carga_horaria_total($avaliacoes);
// $professor->ch_corrigida = $this->get_carga_horaria_corrigida($avaliacoes_ensino, $avaliacoes_pesquisa, $avaliacoes_extensao, $avaliacoes_gestao); $professor->ch = $this->get_carga_horaria_total($avaliacoes);
// } $professor->ch_corrigida = $this->get_carga_horaria_corrigida($avaliacoes_ensino, $avaliacoes_pesquisa, $avaliacoes_extensao, $avaliacoes_gestao);
}
return view("pad.avaliacao.professores", compact('professores', 'pad', 'index_menu')); return view("pad.avaliacao.professores", compact('professores', 'pad', 'index_menu'));
} }
public function view_calender($id) {
$user_pad_ids = explode("-", $id);
$pad_data = explode("_", $user_pad_ids[0]);
$user_data = explode("_", $user_pad_ids[1]);
[$pad_id, $user_id] = [$pad_data[1], $user_data[1]];
$user_pad = UserPad::where("pad_id", "=", "{$pad_id}")->where("user_id", "=", "{$user_id}")->first();
return view("pad.avaliacao.view_modal", ['user_pad' => $user_pad]);
}
public function professor_atividades($id, $professor_id, $aba=null) public function professor_atividades($id, $professor_id, $aba=null)
{ {
......
...@@ -44,13 +44,24 @@ ...@@ -44,13 +44,24 @@
<td>@if($professor->ch > 0) {{$professor->ch}}H @endif</td> <td>@if($professor->ch > 0) {{$professor->ch}}H @endif</td>
<td>@if($professor->ch_corrigida > 0 && $professor->ch != $professor->ch_corrigida) {{$professor->ch_corrigida}}H @endif</td> <td>@if($professor->ch_corrigida > 0 && $professor->ch != $professor->ch_corrigida) {{$professor->ch_corrigida}}H @endif</td>
<td> <td>
<div class="btn-group" role="group" aria-label="">
@include('components.buttons.btn-avaliar', [ @include('components.buttons.btn-avaliar', [
'route' => url("/pad/$pad->id/professor/$professor->id/atividades"), #avaliador_avaliar 'route' => url("/pad/$pad->id/professor/$professor->id/atividades"), #avaliador_avaliar
'class' => '', 'class' => '',
'content' => 'Avaliar', 'content' => 'Avaliar',
'id' => '', 'id' => '',
]) ])
<div class="btn-edit-tasks">
<button type="button" class="btn btn-primary btn-view_modal" id="{{ "pad_{$pad->id}-professor_{$professor->id}" }}">
<i class="bi bi-pencil-square"></i> Editar
</button>
</div>
</div>
</td> </td>
</tr> </tr>
@endforeach @endforeach
...@@ -59,4 +70,17 @@ ...@@ -59,4 +70,17 @@
</tbody> </tbody>
</table> </table>
</div> </div>
@include('components.modal', ['size' => 'modal-xl'])
@endsection
@section('scripts')
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('mostrar_horario'),
'btn_class' => 'btn-view_modal',
])
@endsection @endsection
<div class="container">
@php
use App\Models\TaskTime;
$calendar = [];
$weekColumns = [];
$COLUMN_NAN = 'NaN';
$max_len_column = 0;
foreach (array_keys(TaskTime::listWeekDays()) as $weekday) {
$weekColumn = TaskTime::whereUserPadId($user_pad->id)->whereWeekday($weekday)->orderBy('start_time', 'ASC')->get();
// $weekColumn =
// $weekColumn->filter(function(TaskTIme $model) {
// return $model->tarefa !== null;
// });
$weekColumns[$weekday] = $weekColumn->isNotEmpty() ? $weekColumn : collect(['--']);
if(count($weekColumns[$weekday]) > $max_len_column) {
$max_len_column = count($weekColumns[$weekday]);
}
}
foreach (range(0, $max_len_column-1) as $i) {
$row = [];
foreach (array_keys(TaskTime::listWeekDays()) as $weekday) {
isset($weekColumns[$weekday][$i]) ? array_push($row, $weekColumns[$weekday][$i]) : array_push($row, $COLUMN_NAN);
}
$calendar[] = $row;
}
@endphp
<div class="my-4">
<table class="table table-hover table-borderless">
<thead>
<tr>
@foreach(TaskTime::listWeekDays() as $key => $weekday)
<th scope="col" class="text-center">{{$weekday}}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach($calendar as $row)
<tr>
@foreach ($row as $model)
@if($model !== null)
<td>
@if($model instanceof TaskTime)
<div class="card">
<div class="card-header">
<p class="text-center"> <i class="bi bi-clock"></i> {{ $model->formatStartTime() }} </p>
</div>
<div class="card-body">
@if($model->has_tarefa())
<div class="text-center">
<p class="text-center"> {{ "{$model->getCode()} : {$model->getName()}" }} </p>
<p class="text-center"> </i> DIA: {{ $model->getWeekdayAsText() }} </p>
</div>
@endif
@if(!$model->has_tarefa())
<div class="text-center">
{{ "ATIVIDADE APAGADA !" }}
{{-- --}}
<p class="text-center"> </i> DIA: {{ $model->getWeekdayAsText() }} </p>
{{-- --}}
</div>
@endif
</div>
<div class="card-header">
<p class="text-center"> <i class="bi bi-clock-fill"></i> {{ $model->formatEndTime() }} </p>
</div>
</div>
@else
@endif
</td>
@endif
@endforeach
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
\ No newline at end of file
...@@ -18,6 +18,7 @@ Route::prefix('/pad')->group(function () { ...@@ -18,6 +18,7 @@ Route::prefix('/pad')->group(function () {
Route::get('/{id}/professor/{professor_id}/atividades/pesquisa', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades_pesquisa'); Route::get('/{id}/professor/{professor_id}/atividades/pesquisa', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades_pesquisa');
Route::get('/{id}/professor/{professor_id}/atividades/gestao', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades_gestao'); Route::get('/{id}/professor/{professor_id}/atividades/gestao', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades_gestao');
Route::get('/{id}/professor/{professor_id}/atividades/extensao', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades_extensao'); Route::get('/{id}/professor/{professor_id}/atividades/extensao', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades_extensao');
Route::get('/professor/view-calender/{id?}', [PadController::class, 'view_calender'])->name('mostrar_horario');
}); });
/** PadProfessor */ /** PadProfessor */
......
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