diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index 3cf3b18e3310164af5e0946bd8687d8e31ee67dc..534ab16591d475674ca70fee07c7716357b6b6fe 100755 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -126,6 +126,11 @@ class AdministradorController extends Controller //$avaliacoesRelatorio = [];->join('users','users.id','=','candidatos.user_id') $AvalRelatParcial = []; $AvalRelatFinal = []; + $MediaAvalRelatParcial = 0; + $AvalRelatParcialPendentes = 0; + $MediaAvalRelatFinal = 0; + $AvalRelatFinalPendentes = 0; + foreach ($trabalho->participantes as $participante) { if (isset($participante->planoTrabalho)) { $avals = AvaliacaoRelatorio::where('arquivo_id', $participante->planoTrabalho->id)->get(); @@ -135,12 +140,30 @@ class AdministradorController extends Controller foreach ($avals as $aval) { if ($aval->tipo == 'Parcial') { array_push($AvalRelatParcial, $aval); + $MediaAvalRelatParcial += $aval->nota; + + if($aval->nota == null){ + $AvalRelatParcialPendentes += 1; + } } else { array_push($AvalRelatFinal, $aval); + $MediaAvalRelatFinal += $aval->nota; + + if($aval->nota == null){ + $AvalRelatFinalPendentes += 1; + } } } } + if(count($AvalRelatParcial) > 0){ + $MediaAvalRelatParcial = $MediaAvalRelatParcial / count($AvalRelatParcial); + } + + if(count($AvalRelatFinal) > 0){ + $MediaAvalRelatFinal = $MediaAvalRelatFinal / count($AvalRelatFinal); + } + // Verficação de pendencia de substituição $aux = count(Substituicao::where('status', 'Em Aguardo')->whereIn('participanteSubstituido_id', $trabalho->participantes->pluck('id'))->get()); $flagSubstituicao = 1; @@ -166,7 +189,12 @@ class AdministradorController extends Controller 'AvalRelatFinal' => $AvalRelatFinal, 'hoje' => $hoje, 'flagSubstituicao' => $flagSubstituicao, - 'areasTematicas' => $areasTematicas, ]); + 'areasTematicas' => $areasTematicas, + 'MediaAvalRelatParcial' => $MediaAvalRelatParcial, + 'AvalRelatParcialPendentes' => $AvalRelatParcialPendentes, + 'MediaAvalRelatFinal' => $MediaAvalRelatFinal, + 'AvalRelatFinalPendentes' => $AvalRelatFinalPendentes, + ]); } public function showProjetos(Request $request) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 0776106e211514d1ec3471123cf180246e5fdbf2..3dbffa02f519c814f72d0499fb982abf24511761 100755 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -142,11 +142,10 @@ class RegisterController extends Controller $participante->data_de_nascimento = $data['data_de_nascimento']; $participante->linkLattes = $data['linkLattes']; - if ($data['outroCursoEstudante'] != null) { $participante->curso = $data['outroCursoEstudante']; } else if (isset($data['cursoEstudante']) && $data['cursoEstudante'] != "Outro") { - $participante->curso = $data['cursoEstudante']; + $participante->curso_id = $data['cursoEstudante']; } $user->save(); diff --git a/app/Http/Controllers/CursoController.php b/app/Http/Controllers/CursoController.php index ebefc1921289293400fe46637bc744d84cf59f63..f43fdd0941c1ae049e5c5cf6466dfc7580f23371 100644 --- a/app/Http/Controllers/CursoController.php +++ b/app/Http/Controllers/CursoController.php @@ -3,8 +3,44 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use App\Curso; class CursoController extends Controller { - // + public function index(){ + $cursos = Curso::orderby('nome')->get(); + return view('cursos.index')->with(['cursos' => $cursos]); + } + + public function create(){ + $cursos = Curso::orderby('nome')->get(); + return view('cursos.create')->with(['cursos' => $cursos]); + } + + public function store(Request $request){ + $curso = new Curso(); + $curso->nome = $request->curso; + + $curso->save(); + + return redirect( route('cursos.index'))->with(['mensagem' => "Curso criado com sucesso"]); + } + + public function edit($id){ + $curso = Curso::find($id); + return view('cursos.edit')->with(['curso' => $curso]); + } + + public function update(Request $request, $id){ + $curso = Curso::find($id); + $curso->nome = $request->curso; + $curso->update(); + + return redirect( route('cursos.index'))->with(['mensagem' => "Curso editado com sucesso"]); + } + + public function destroy($id){ + Curso::destroy($id); + return redirect( route('cursos.index'))->with(['mensagem' => "Curso excluido com sucesso"]); + } } diff --git a/app/Http/Controllers/ObjetivoDeDesenvolvimentoSustentavelController.php b/app/Http/Controllers/ObjetivoDeDesenvolvimentoSustentavelController.php index dafdd23acb15b8de03a7a12e01e64b7913bf7c96..39bd3db5c440033b8336cac69477d72189303624 100644 --- a/app/Http/Controllers/ObjetivoDeDesenvolvimentoSustentavelController.php +++ b/app/Http/Controllers/ObjetivoDeDesenvolvimentoSustentavelController.php @@ -41,8 +41,12 @@ class ObjetivoDeDesenvolvimentoSustentavelController extends Controller public function destroy($id) { $ODS = ObjetivoDeDesenvolvimentoSustentavel::find($id); - $ODS->delete(); + if ($ODS->trabalhos()->first()){ + return redirect( route('grandearea.index') )->with(['error' => 'Não foi possível excluir a ODS. Existe um ou mais trabalhos vinculados a ODS']); + } + + $ODS->delete(); return redirect( route('grandearea.index') )->with(['mensagem' => 'ODS excluido com sucesso']); } } diff --git a/app/Http/Controllers/TrabalhoController.php b/app/Http/Controllers/TrabalhoController.php index 303daa0084e8d24eeee00bb1a58e10281f0c4e9a..cef11cd4d22adc21f370416b3ef7c7f6b172d152 100755 --- a/app/Http/Controllers/TrabalhoController.php +++ b/app/Http/Controllers/TrabalhoController.php @@ -55,6 +55,7 @@ use App\Substituicao; use Illuminate\Support\Facades\Notification; use App\Desligamento; use App\ObjetivoDeDesenvolvimentoSustentavel; +use App\AvaliacaoRelatorio; class TrabalhoController extends Controller { @@ -402,6 +403,24 @@ class TrabalhoController extends Controller $trabalhos_user = TrabalhoUser::where('trabalho_id', $projeto->id)->get(); + $AvalRelatParcial = []; + $AvalRelatFinal = []; + + foreach ($participantes as $participante) { + if (isset($participante->planoTrabalho)) { + $avals = AvaliacaoRelatorio::where('arquivo_id', $participante->planoTrabalho->id)->get(); + } else { + $avals = []; + } + foreach ($avals as $aval) { + if ($aval->tipo == 'Parcial') { + array_push($AvalRelatParcial, $aval); + } else { + array_push($AvalRelatFinal, $aval); + } + } + } + return view('projeto.visualizar')->with(['projeto' => $projeto, 'grandeAreas' => $grandeAreas, 'areas' => $areas, @@ -416,7 +435,9 @@ class TrabalhoController extends Controller 'enum_turno' => Participante::ENUM_TURNO, 'areasTematicas' => $areasTematicas, 'flagSubstituicao' =>$flagSubstituicao, - 'trabalhos_user' => $trabalhos_user + 'trabalhos_user' => $trabalhos_user, + 'AvalRelatParcial' => $AvalRelatParcial, + 'AvalRelatFinal' => $AvalRelatFinal, ]); } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index dd52a0ba256f2aaf4e764feadc5ef4882b212a6b..a2b6c6f8269711bceaf0b92938b0f472c0d8f236 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -20,6 +20,7 @@ use Illuminate\Validation\Rule; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Log; use App\Curso; +use App\AreaTematica; class UserController extends Controller { @@ -107,7 +108,6 @@ class UserController extends Controller $avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador->user_id = $user->id; //$avaliador->area_id = $request->area; - $avaliador->naturezas()->sync($request->natureza); $avaliador->update(); @@ -122,7 +122,8 @@ class UserController extends Controller case "avaliador": $avaliador = Avaliador::where('user_id', '=', $id)->first(); $avaliador->user_id = $user->id; - $avaliador->area_id = $request->area; + //$avaliador->area_id = $request->area; + $avaliador->areaTematicas()->sync($request->area); if ($user->usuarioTemp == true) { $user->usuarioTemp = false; } @@ -216,6 +217,8 @@ class UserController extends Controller $naturezas = Natureza::orderBy('nome')->get(); $cursos = Curso::orderBy('nome')->get(); + $areaTematica = AreaTematica::orderBy('nome')->get(); + return view('user.perfilUser')->with(['user' => $user, 'adminResp' => $adminResp, @@ -223,6 +226,7 @@ class UserController extends Controller 'proponente' => $proponente, 'participante' => $participante, 'cursos' => $cursos, - 'naturezas' => $naturezas]); + 'naturezas' => $naturezas, + 'areaTematica' => $areaTematica]); } } diff --git a/database/migrations/2023_02_14_165401_add_curso_id_to_participantes.php b/database/migrations/2023_02_14_165401_add_curso_id_to_participantes.php new file mode 100644 index 0000000000000000000000000000000000000000..092d9108314623dc8f60014ee954a3824e7dd770 --- /dev/null +++ b/database/migrations/2023_02_14_165401_add_curso_id_to_participantes.php @@ -0,0 +1,32 @@ +text('curso_id')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('participantes', function (Blueprint $table) { + $table->dropColumn('curso_id'); + }); + } +} diff --git a/database/seeds/CursoSeeder.php b/database/seeds/CursoSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..c1a7730ab509f167c882cd2a3b97b11df7b73e07 --- /dev/null +++ b/database/seeds/CursoSeeder.php @@ -0,0 +1,22 @@ +insert(['nome'=>'Bacharelado em Agronomia']); + DB::table('cursos')->insert(['nome'=>'Bacharelado em Ciência da Computação']); + DB::table('cursos')->insert(['nome'=>'Bacharelado em Engenharia de Alimentos']); + DB::table('cursos')->insert(['nome'=>'Bacharelado em Medicina Veterinária']); + DB::table('cursos')->insert(['nome'=>'Bacharelado em Zootecnia']); + DB::table('cursos')->insert(['nome'=>'Licenciatura em Letras']); + DB::table('cursos')->insert(['nome'=>'Licenciatura em Pedagogia']); + } +} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 0cee7d7ccd6bc8c5bf1edf2cba2310af8cdab5f6..94401a6726b62f0442e2e2003d8c68eed757b14d 100755 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -26,6 +26,7 @@ class DatabaseSeeder extends Seeder $this->call(RecomendacaoSeeder::class); $this->call(AvaliadorSeeder::class); $this->call(AreaTematicaSeeder::class); + $this->call(CursoSeeder::class); // $this->call(UsersTableSeeder::class); diff --git a/resources/views/administrador/analisarProposta.blade.php b/resources/views/administrador/analisarProposta.blade.php index a3c565b8c3c4e598593c4a30ff485489dc8d0afc..023cdf8cc8089f40f0b27a0f869c367416e59ddd 100644 --- a/resources/views/administrador/analisarProposta.blade.php +++ b/resources/views/administrador/analisarProposta.blade.php @@ -701,6 +701,11 @@
Avaliações de Relatórios Parciais
+
+
Media das avaliações: {{$MediaAvalRelatParcial}}
+
Avaliações pendentes: {{$AvalRelatParcialPendentes}}
+

+
@foreach($AvalRelatParcial as $aval)
@@ -771,6 +776,11 @@
Avaliações de Relatórios Finais
+
+
Media das avaliações: {{$MediaAvalRelatFinal}}
+
Avaliações pendentes: {{$AvalRelatFinalPendentes}}
+

+
@foreach($AvalRelatFinal as $aval)
diff --git a/resources/views/administrador/index.blade.php b/resources/views/administrador/index.blade.php index 127b15266d2b021c02caf58a4cf9d4dfffc7def9..0075868f07f228d0b15260f9febe3d7d57689382 100755 --- a/resources/views/administrador/index.blade.php +++ b/resources/views/administrador/index.blade.php @@ -11,24 +11,30 @@
-
+

Editais

-
+

Usuários

-
+

Áreas

+
+ + + +

Cursos

+
diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index 96217def0034ba2de53a2f797b672b73a02f3e6b..7255083eefc38820abde1c4992ee9a6becb7f591 100755 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -91,7 +91,7 @@