all(), UserPad::rules(), UserPad::messages() ); if($validator->fails()) { } $model = new UserPad(); $model->fill($request->all()); $model->save(); $pad = Pad::find($request->pad_id); return redirect() ->route('pad_edit', ['id' => $request->pad_id]) ->with('success', sprintf('Professor cadastrado no PAD(%s) com Sucesso!', $pad->nome)); } public function actionUpdate(Request $request, $id) { } public function actionDelete($id) { } public function actionCreate($pad_id) { $pad = Pad::find($pad_id); $model = new UserPad(); $status = Status::listStatus(); $users = User::all(); return view('user-pad.create', [ 'pad' => $pad, 'model' => $model, 'users' => $users, 'status' => $status, ]); } public function actionEdit($id) { } public function ajaxValidation(Request $request) { $validator = Validator::make( $request->all(), UserPad::rules(), UserPad::messages() ); if($validator->passes()) { return Response::json(['message' => true, 'status' => 200]); } return Response::json(['errors' => $validator->errors(), 'status' => 400]); } public function savePAD($user_pad_id) { return view('pad.components.confirm_save', ['user_pad_id' => $user_pad_id]); } public function generatePDF($user_pad_id) { $niveis = Nivel::listNivel(); $funcoes = Funcao::listFuncaoEnsino() + Funcao::listFuncaoOrientador() + array_diff(Funcao::listFuncaoProjeto(), Funcao::listFuncaoEnsino()); ksort($funcoes); $naturezas = Natureza::listNatureza(); $modalidades = Modalidade::listModalidade(); $nomes_valores = ['componente_curricular' => 'Componente Curricular', 'ch_semanal' => 'CH Semanal', 'curso' => 'Curso', 'descricao' => 'Descrição', 'discente' => 'Discente', 'documento' => 'Documento', 'titulo_projeto' => 'Título do Projeto', 'nome' => 'Nome', 'programa_extensao' => 'Programa de Extensão', 'linha_grupo_pesquisa' => 'Linha e Grupo de Pesquisa', 'atividade' => 'Atividade', 'cod_dimensao' => 'Cód Dimensão', 'nivel' => 'Nível', 'modalidade' => 'Modalidade', 'funcao' => 'Função', 'natureza' => 'Natureza' ]; $ensinoTotalHoras = EnsinoAtendimentoDiscente::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoAula::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoCoordenacaoRegencia::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoMembroDocente::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoOrientacao::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoOutros::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoParticipacao::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoProjeto::whereUserPadId($user_pad_id)->sum('ch_semanal') + EnsinoSupervisao::whereUserPadId($user_pad_id)->sum('ch_semanal'); $gestaoTotalHoras = GestaoCoordenacaoLaboratoriosDidaticos::whereUserPadId($user_pad_id)->sum('ch_semanal') + GestaoCoordenacaoProgramaInstitucional::whereUserPadId($user_pad_id)->sum('ch_semanal') + GestaoMembroCamaras::whereUserPadId($user_pad_id)->sum('ch_semanal') + GestaoMembroComissao::whereUserPadId($user_pad_id)->sum('ch_semanal') + GestaoMembroConselho::whereUserPadId($user_pad_id)->sum('ch_semanal') + GestaoMembroTitularConselho::whereUserPadId($user_pad_id)->sum('ch_semanal') + GestaoOutros::whereUserPadId($user_pad_id)->sum('ch_semanal') + GestaoRepresentanteUnidadeEducacao::whereUserPadId($user_pad_id)->sum('ch_semanal'); $pesquisaTotalHoras = PesquisaCoordenacao::whereUserPadId($user_pad_id)->sum('ch_semanal') + PesquisaLideranca::whereUserPadId($user_pad_id)->sum('ch_semanal') + PesquisaOrientacao::whereUserPadId($user_pad_id)->sum('ch_semanal') + PesquisaOutros::whereUserPadId($user_pad_id)->sum('ch_semanal'); $extensaoTotalHoras = ExtensaoCoordenacao::whereUserPadId($user_pad_id)->sum('ch_semanal') + ExtensaoOrientacao::whereUserPadId($user_pad_id)->sum('ch_semanal') + ExtensaoOutros::whereUserPadId($user_pad_id)->sum('ch_semanal'); $horas = [ 'ENSINO' => $ensinoTotalHoras, 'EXTENSAO' => $extensaoTotalHoras, 'GESTAO' => $gestaoTotalHoras, 'PESQUISA' => $pesquisaTotalHoras ]; $userPad = UserPad::whereId($user_pad_id)->first(); $model['ensino'] = [PadTables::tablesEnsino($user_pad_id)[0]['name'] => $userPad->ensinoAulas->toArray(), PadTables::tablesEnsino($user_pad_id)[1]['name'] => $userPad->ensinoCoordenacaoRegencias->toArray(), PadTables::tablesEnsino($user_pad_id)[2]['name'] => $userPad->ensinoOrientacoes->toArray(), PadTables::tablesEnsino($user_pad_id)[3]['name'] => $userPad->ensinoSupervisoes->toArray(), PadTables::tablesEnsino($user_pad_id)[4]['name'] => $userPad->ensinoAtendimentoDiscentes->toArray(), PadTables::tablesEnsino($user_pad_id)[5]['name'] => $userPad->ensinoProjetos->toArray(), PadTables::tablesEnsino($user_pad_id)[6]['name'] => $userPad->ensinoParticipacoes->toArray(), PadTables::tablesEnsino($user_pad_id)[7]['name'] => $userPad->ensinoMembroDocentes->toArray(), PadTables::tablesEnsino($user_pad_id)[8]['name'] => $userPad->ensinoOutros->toArray() ]; $model['extensao'] = [PadTables::tablesExtensao($user_pad_id)[0]['name'] => $userPad->extensaoCoordenacoes->toArray(), PadTables::tablesExtensao($user_pad_id)[1]['name'] => $userPad->extensaoOrientacoes->toArray(), PadTables::tablesExtensao($user_pad_id)[2]['name'] => $userPad->extensaoOutros->toArray() ]; $model['gestao'] = [PadTables::tablesGestao($user_pad_id)[0]['name'] => $userPad->gestaoMembroComissoes->toArray(), PadTables::tablesGestao($user_pad_id)[1]['name'] => $userPad->gestaoMembroConselhos->toArray(), PadTables::tablesGestao($user_pad_id)[2]['name'] => $userPad->gestaoMembroTitularConselhos->toArray(), PadTables::tablesGestao($user_pad_id)[3]['name'] => $userPad->gestaoRepresentanteUnidadeEducacoes->toArray(), PadTables::tablesGestao($user_pad_id)[4]['name'] => $userPad->gestaoMembroCamaras->toArray(), PadTables::tablesGestao($user_pad_id)[5]['name'] => $userPad->gestaoCoordenacaoLaboratoriosDidaticos->toArray(), PadTables::tablesGestao($user_pad_id)[6]['name'] => $userPad->gestaoCoordenacaoProgramasInstitucionais->toArray(), PadTables::tablesGestao($user_pad_id)[7]['name'] => $userPad->gestaoOutros->toArray() ]; $model['pesquisa'] = [PadTables::tablesPesquisa($user_pad_id)[0]['name'] => $userPad->pesquisaCoordenacoes->toArray(), PadTables::tablesPesquisa($user_pad_id)[1]['name'] => $userPad->pesquisaLiderancas->toArray(), PadTables::tablesPesquisa($user_pad_id)[2]['name'] => $userPad->pesquisaOrientacoes->toArray(), PadTables::tablesPesquisa($user_pad_id)[3]['name'] => $userPad->pesquisaOutros->toArray() ]; // Geração de array tratado a partir do modelo $treated_model = []; $treated_nome_dimensao = ""; $treated_nome_categoria = ""; $treated_tarefa_codigo = ""; foreach ($model as $nome_dimensao=>$dimensao) { $treated_nome_dimensao = strtoupper($nome_dimensao); $treated_model[$treated_nome_dimensao] = []; foreach ($dimensao as $nome_categoria=>$categoria) { if ($categoria == null) { continue; } else { $treated_nome_categoria = str_replace(".", ":", $nome_categoria); $treated_model[$treated_nome_dimensao][$treated_nome_categoria] = []; foreach ($categoria as $nome_item=>$item) { foreach ($item as $nome_valor=>$valor) { if (! array_key_exists('Cód: ' . $item['cod_atividade'], $treated_model[$treated_nome_dimensao][$treated_nome_categoria])) { $treated_model[$treated_nome_dimensao][$treated_nome_categoria]['Cód: ' . $item['cod_atividade']] = []; $treated_tarefa_codigo = 'Cód: ' . $item['cod_atividade']; // break; } else { if ($nome_valor == "id" || $nome_valor == "user_pad_id" || $nome_valor == "dimensao" || $nome_valor == 'cod_atividade' || $nome_valor == "created_at" || $nome_valor == "updated_at" || $nome_valor == "deleted_at" ) { continue; } elseif ($nome_valor == "nivel") { $treated_model[$treated_nome_dimensao][$treated_nome_categoria][$treated_tarefa_codigo][$nomes_valores[$nome_valor]] = $niveis[$valor]; } elseif ($nome_valor == "modalidade") { $treated_model[$treated_nome_dimensao][$treated_nome_categoria][$treated_tarefa_codigo][$nomes_valores[$nome_valor]] = $modalidades[$valor]; } elseif ($nome_valor == "funcao") { $treated_model[$treated_nome_dimensao][$treated_nome_categoria][$treated_tarefa_codigo][$nomes_valores[$nome_valor]] = $funcoes[$valor]; } elseif ($nome_valor == "natureza") { $treated_model[$treated_nome_dimensao][$treated_nome_categoria][$treated_tarefa_codigo][$nomes_valores[$nome_valor]] = $naturezas[$valor]; } elseif(array_key_exists($nome_valor, $nomes_valores)) { $treated_model[$treated_nome_dimensao][$treated_nome_categoria][$treated_tarefa_codigo][$nomes_valores[$nome_valor]] = $valor; } else { $treated_model[$treated_nome_dimensao][$treated_nome_categoria][$treated_tarefa_codigo][$nome_valor] = $valor; } } } } } } } date_default_timezone_set("America/Recife"); $dateTime = now()->format('d/m/Y (H:i:s)'); $data = array( 'date' => $dateTime, 'user' => [ 'nome' => $userPad->user->{'name'}, 'email' => $userPad->user->{'email'} ], 'model' => $treated_model, 'horas' => $horas ); // dd( // // $userPad->pesquisaCoordenacoes->toArray(), // $niveis[1], // $funcoes, // // ($model['extensao']['1. EXTENSÃO (COORDENAÇÃO DE ATIVIDADES DE EXTENSÃO HOMOLOGADA NA PROEC)']), // // public_path('\images\estado_pe_logo.png'), // // url('images\estado_pe_logo.png'), // // asset('images\estado_pe_logo.png'), // // chmod(public_path('images\estado_pe_logo.png'), 0644), // // fileperms(public_path('images\estado_pe_logo.png')), // // fileowner(public_path('images\estado_pe_logo.png')), // // "user_pad_id: " . $user_pad_id, // // "user data", // // User::whereId($user_pad_id)->first(), // // $userPad->user->{'name'}, // // "User name: " . $data['user']['nome'], // // $treated_model, // // array_values($model['ensino'])[0], // // array_values($model['ensino'])[0][0], // // array_values($model['ensino'])[0][0]['cod_atividade'], // // $ensinoTotalHoras, // // $model, // // $horas, // // $data, // // $model['ensino']['8. ENSINO (COORDENAÇÃO OU MEMBRO DE NÚCLEO DOCENTE ESTRUTURANTE OU NÚCLEO DOCENTE ESTRUTURANTE ASSISTENCIAL)'] == null, // // PadTables::tablesEnsino($user_pad_id)[0]['name'], // // $model, // // "$dateTime", // // empty($model['ensino'][0]) // ); view()->share('data', $data); // return view('pad.teacher.report_pdf'); // PDF::setOption(['isRemoteEnabled' => 'true']); $pdf = PDF::loadView('pad.teacher.report_pdf', $data); set_time_limit(300); return $pdf->download($userPad->user->{'name'} . " Relatório PAD: " . $dateTime . ".pdf"); } }