예제 #1
0
 /**
  * Excluir registro do banco.
  *
  * @param    int  $id
  * @return  \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     $dados = questionarios_encontros::findOrfail($id);
     $dados->delete();
     return redirect($this->rota);
 }
 private function exibir($request, $id, $preview)
 {
     if ($request->ajax()) {
         return URL::to($this->rota . '/' . $id . '/edit');
     }
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.' . $this->rota)) == false) {
         return redirect('home');
     }
     //Controle de Atividades
     $dados = controle_atividades::select('texto', 'link_externo', 'controle_atividades.id', 'celulas_id', 'hora_inicio', 'hora_fim', 'valor_oferta', 'controle_atividades.obs', 'dia', 'mes', 'ano', 'celulas.dia_encontro', 'celulas.segundo_dia_encontro', 'encontro_encerrado')->join('celulas', 'celulas.id', '=', 'controle_atividades.celulas_id')->where('controle_atividades.empresas_id', $this->dados_login->empresas_id)->where('controle_atividades.empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('controle_atividades.id', $id)->get();
     //members of cell
     /*
     $participantes = \App\Models\celulaspessoas::select('pessoas.id', 'pessoas.razaosocial', 'controle_presencas.observacao', 'controle_presencas.presenca_simples')
     ->join('pessoas', 'pessoas.id', '=', 'celulas_pessoas.pessoas_id')
     ->leftjoin('controle_presencas', 'controle_presencas.pessoas_id', '=', 'celulas_pessoas.pessoas_id')
     ->leftjoin('controle_atividades', 'controle_atividades.id', '=', 'controle_presencas.controle_atividades_id')
     ->where('celulas_pessoas.empresas_id', $this->dados_login->empresas_id)
     ->where('celulas_pessoas.empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)
     ->where('celulas_pessoas.celulas_id', $dados[0]->celulas_id)
     ->where('controle_atividades.id', $id)
     ->orderBy('pessoas.razaosocial')
     ->get();
     */
     //------------------INICIO
     //Busca participantes que nao esteja gravadas no controle de presencas
     $strSql = " SELECT celulas_pessoas.pessoas_id as id, pessoas.razaosocial, '' AS observacao, '' AS presenca_simples ";
     $strSql .= " FROM celulas_pessoas inner join pessoas on pessoas.id = celulas_pessoas.pessoas_id ";
     $strSql .= " WHERE  ";
     $strSql .= " celulas_pessoas.empresas_id = " . $this->dados_login->empresas_id . "  and ";
     $strSql .= " celulas_pessoas.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . " and  ";
     $strSql .= " celulas_id = " . $dados[0]->celulas_id . " and  ";
     $strSql .= " pessoas_id not in ";
     $strSql .= " (select pessoas_id from controle_presencas                  ";
     $strSql .= " where controle_atividades_id = " . $id . " and                   ";
     $strSql .= " empresas_id = " . $this->dados_login->empresas_id . " and                  ";
     $strSql .= " empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . ") ";
     $strSql .= " union all ";
     $strSql .= " SELECT pessoas.id as id, pessoas.razaosocial, controle_presencas.observacao, controle_presencas.presenca_simples ";
     $strSql .= " FROM controle_presencas ";
     $strSql .= " inner join pessoas on pessoas.id = controle_presencas.pessoas_id ";
     $strSql .= " where ";
     $strSql .= " controle_presencas.controle_atividades_id= " . $id . " and ";
     $strSql .= " controle_presencas.empresas_id = " . $this->dados_login->empresas_id . " and  ";
     $strSql .= " controle_presencas.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . " ";
     $strSql .= " order by razaosocial";
     $participantes = \DB::select($strSql);
     //-------------------FIM
     //Questionarios gravados
     $controle_questions = \App\Models\controle_questions::select('id')->where('empresas_id', $this->dados_login->empresas_id)->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('controle_atividades_id', $id)->get();
     //Materiais Enviados
     $controle_materiais = \App\Models\controle_materiais::select('arquivo', 'id')->where('empresas_id', $this->dados_login->empresas_id)->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('controle_atividades_id', $id)->get();
     if ($controle_materiais->count() == 0) {
         $controle_materiais = \App\Models\tabela_vazia::get();
     }
     $visitantes = \App\Models\controle_visitantes::select('id', 'nome', 'fone', 'email')->where('empresas_id', $this->dados_login->empresas_id)->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('controle_atividades_id', $id)->get();
     $questions = \App\Models\questionarios_encontros::select('id', 'pergunta', 'tipo_resposta')->where('empresas_id', $this->dados_login->empresas_id)->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
     if ($controle_questions->count() != 0) {
         //get saved questions from database
         //$questions_saved = \App\Models\questionarios_encontros::select('controle_questions.questionarios_id', 'questionarios_encontros.id', 'pergunta', 'tipo_resposta', 'resposta')
         //->leftjoin('controle_questions', 'controle_questions.questionarios_id',  '=', 'questionarios_encontros.id')
         //->where('questionarios_encontros.empresas_id', $this->dados_login->empresas_id)
         //->where('questionarios_encontros.empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)
         //->where('controle_questions.controle_atividades_id', $id);
         //Busca perguntas que nao esteja gravadas no encontro
         $strSql = " select q.id as questionarios_id, q.id, pergunta, q.tipo_resposta, '' as resposta  from questionarios_encontros q ";
         $strSql .= " where  q.empresas_id = " . $this->dados_login->empresas_id . " ";
         $strSql .= " and q.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . " and ";
         $strSql .= " q.id not in (select c.questionarios_id from questionarios_encontros q ";
         $strSql .= "                  inner join controle_questions c on q.id = c.questionarios_id ";
         $strSql .= "                  where c.controle_atividades_id =" . $id . " and ";
         $strSql .= "                  c.empresas_id = " . $this->dados_login->empresas_id . " and ";
         $strSql .= "                  c.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . ")";
         $strSql .= " union all";
         //Unira as duas querys para trazer todas as perguntas, mesmo que nao esteja gravadas para o encontro
         //Busca perguntas somente do encontro
         $strSql .= " select q.id as questionarios_id, q.id, q.pergunta, q.tipo_resposta, c.resposta from questionarios_encontros q";
         $strSql .= " inner join controle_questions c on q.id = c.questionarios_id ";
         $strSql .= " where c.controle_atividades_id=" . $id . " and ";
         $strSql .= " c.empresas_id = " . $this->dados_login->empresas_id . " and ";
         $strSql .= " c.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . "";
         $strSql .= " order by pergunta";
         $questions = \DB::select($strSql);
         $questions_saved = $questions;
     } else {
         //Artificio para tabelas vazias com objetos collection
         $questions_saved = \App\Models\tabela_vazia::get();
     }
     //Load all dates by day of week (mondays, tuesdays, etc)
     $dates_of_meeting = $this->return_dates($dados);
     $celulas = \DB::select('select id, descricao_concatenada as nome from view_celulas_simples  where empresas_id = ? and empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     return view($this->rota . '.atualizacao', ['preview' => 'false', 'tipo_operacao' => 'editar', 'celulas' => $celulas, 'dados' => $dados, 'dates_of_meeting' => $dates_of_meeting, 'participantes' => $participantes, 'questions' => $questions, 'questions_saved' => $questions_saved, 'visitantes' => $visitantes, 'controle_materiais' => $controle_materiais]);
 }