Exemplo n.º 1
0
 private function exibir($request, $id, $id_tipo_pessoa, $preview, $bool_exibir_perfil)
 {
     if ($request->ajax()) {
         return URL::to($this->rota . '/' . $id . '/edit');
     }
     //Validação de permissão
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.' . $this->rota)) == false) {
         return redirect('home');
     }
     //Verificar qual o tipo de pessoa para habilitar ou não abas e campos conforme o tipo
     //Ex; Pessoa fisica, habilita cpf e rg, juridica habilita CNPJ,  MEMBRO habilita dados especificos de membresia.
     $habilitar_interface = \App\Models\tipospessoas::findOrfail($id_tipo_pessoa);
     //Listagem grupos de pessoas (Para carregar dropdown )
     $grupos = \App\Models\grupospessoas::where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->orderBy('nome', 'ASC')->get();
     //Listagem de bancos (Para carregar dropdown )
     $bancos = \App\Models\bancos::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome')->get();
     $tipos_pessoas = \App\Models\tipospessoas::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome')->get();
     /*Pessoas e dados financeiros*/
     /*Usado dessa forma para formatar a data de nascimento */
     $sQuery = "select to_char(datanasc, 'DD-MM-YYYY') AS datanasc_formatada, pessoas.*, financ_pessoas.id as id_financ, financ_pessoas.bancos_id, financ_pessoas.endereco as endereco_cobranca, financ_pessoas.numero as numero_cobranca, financ_pessoas.bairro as bairro_cobranca, financ_pessoas.cidade as cidade_cobranca, financ_pessoas.estado as estado_cobranca, financ_pessoas.cep as cep_cobranca, financ_pessoas.complemento as complemento_cobranca";
     $sQuery .= " from pessoas left join financ_pessoas on financ_pessoas.pessoas_id = pessoas.id";
     $sQuery .= " where pessoas.id = ? ";
     $sQuery .= " and pessoas.empresas_id = ? ";
     $sQuery .= " and pessoas.empresas_clientes_cloud_id = ? ";
     $sQuery .= " order by razaosocial ";
     $pessoas = \DB::select($sQuery, [$id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     /*Busca */
     $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]);
     /*Se for MEMBRO, busca informacoes em tabelas especificas*/
     if ($habilitar_interface->membro) {
         //VERIFICA SE PARTICIPA DE CELULAS
         $membros_celula = \DB::select("select celulas_id, to_char(to_date(data_entrada_celula, 'yyyy-MM-dd'), 'DD-MM-YYYY') AS data_entrada_celula,  descricao_concatenada_scod as nome from view_celulas_pessoas  where pessoas_id = ? and  empresas_id = ? and empresas_clientes_cloud_id = ? ", [$id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         if ($membros_celula == null) {
             unset($membros_celula);
         }
         /*Dados complementares de membros*/
         $membros_dados_pessoais = \App\Models\membros_dados::select('membros_dados_pessoais.*', 'pessoas.razaosocial')->leftjoin('pessoas', 'pessoas.id', '=', 'membros_dados_pessoais.familias_id')->where('membros_dados_pessoais.empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('membros_dados_pessoais.empresas_id', $this->dados_login->empresas_id)->where('membros_dados_pessoais.pessoas_id', $id)->get();
         /*Se nao retornar dados, inicializar variavel com uma colection qualquer*/
         if ($membros_dados_pessoais->count() == 0) {
             unset($membros_dados_pessoais);
         }
         /* Membros Historico Eclesiastico */
         $sQuery = " select pessoas_id, empresas_id, empresas_clientes_cloud_id, ";
         $sQuery .= " igreja_anterior, fone_igreja_anterior, religioes_id, cep_igreja_anterior, endereco_igreja_anterior, ";
         $sQuery .= " numero_igreja_anterior, bairro_igreja_anterior, complemento_igreja_anterior, cidade_igreja_anterior, estado_igreja_anterior, ";
         $sQuery .= " igreja_batismo, celebrador, ata_entrada, ata_saida, motivos_saida_id, motivos_entrada_id, observacoes_hist, ";
         $sQuery .= " to_char(to_date(data_entrada, 'yyyy-MM-dd'), 'DD-MM-YYYY') AS data_entrada, ";
         $sQuery .= " to_char(to_date(data_saida, 'yyyy-MM-dd'), 'DD-MM-YYYY') AS data_saida, ";
         $sQuery .= " to_char(to_date(data_batismo, 'yyyy-MM-dd'), 'DD-MM-YYYY') AS data_batismo ";
         $sQuery .= " from membros_historicos ";
         $sQuery .= " where membros_historicos.pessoas_id = ? ";
         $sQuery .= " and membros_historicos.empresas_id = ? ";
         $sQuery .= " and membros_historicos.empresas_clientes_cloud_id = ? ";
         $membros_historico = \DB::select($sQuery, [$id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         /*Se nao retornar dados, inicializar variavel com uma colection qualquer*/
         if ($membros_historico == null) {
             unset($membros_historico);
         }
         /*Membros Filhos*/
         $sQuery = " select membros_filhos.id as id_seq,  filhos_id as id, filhos_id, nome_filho, sexo, status_id, estadocivil_id, estados_civis.id as id_estadocivil,  estados_civis.nome as desc_estcivil, status.id as id_status, status.nome as desc_status, ";
         $sQuery .= " to_char(data_nasc, 'DD/MM/YYYY') AS data_nasc, ";
         $sQuery .= " to_char(data_falecimento, 'DD/MM/YYYY') AS data_falecimento ";
         $sQuery .= " from membros_filhos ";
         $sQuery .= " left join estados_civis on estados_civis.id = membros_filhos.estadocivil_id and estados_civis.clientes_cloud_id = membros_filhos.empresas_clientes_cloud_id";
         $sQuery .= " left join status on status.id = membros_filhos.status_id and status.clientes_cloud_id = membros_filhos.empresas_clientes_cloud_id";
         $sQuery .= " where membros_filhos.pessoas_id = ? ";
         $sQuery .= " and membros_filhos.empresas_id = ? ";
         $sQuery .= " and membros_filhos.empresas_clientes_cloud_id = ? ";
         $membros_filhos = \DB::select($sQuery, [$id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         /*Se nao retornar dados, inicializar variavel com uma colection qualquer*/
         if ($membros_filhos == null) {
             unset($membros_filhos);
         }
         /*Situacoes Membros*/
         $membros_situacoes = \App\Models\membros_situacoes::select('situacoes_id as id')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         /*Se nao retornar dados, inicializar variavel com uma colection qualquer*/
         if ($membros_situacoes->count() == 0) {
             unset($membros_situacoes);
         }
         /*Dados Profissionais Membros*/
         $membros_profissionais = \App\Models\membros_profissionais::where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         /*Se nao retornar dados, inicializar variavel com uma colection qualquer*/
         if ($membros_profissionais->count() == 0) {
             unset($membros_profissionais);
         }
         /*CURSOS EVENTOS*/
         $membros_cursos = \App\Models\membros_cursos::select('cursos.nome', 'data_inicio', 'data_fim', 'observacao', 'cursos.id', 'membros_cursos.ministrante_id', 'membros_cursos.pessoas_id', 'pessoas.razaosocial')->join('cursos', 'cursos.id', '=', 'membros_cursos.cursos_id')->leftjoin('pessoas', 'pessoas.id', '=', 'membros_cursos.ministrante_id')->where('membros_cursos.empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('membros_cursos.empresas_id', $this->dados_login->empresas_id)->where('membros_cursos.pessoas_id', $id)->get();
         /*Se nao retornar dados, inicializar variavel com uma colection qualquer*/
         if ($membros_cursos->count() == 0) {
             unset($membros_cursos);
         }
         $sQuery = " select p3.razaosocial as razaosocial_mae, p2.razaosocial as razaosocial_pai,  pessoas.razaosocial, pessoas_id, membros_familiares.empresas_id, membros_familiares.empresas_clientes_cloud_id, conjuge_id, nome_conjuge, ";
         $sQuery .= " to_char(data_falecimento, 'DD-MM-YYYY') AS data_falecimento, ";
         $sQuery .= " to_char(to_date(data_casamento, 'yyyy-MM-dd'), 'DD/MM/YYYY') AS data_casamento, ";
         $sQuery .= " to_char(data_nasc, 'DD-MM-YYYY') AS data_nasc,";
         $sQuery .= " to_char(data_falecimento_pai, 'DD-MM-YYYY') AS data_falecimento_pai, ";
         $sQuery .= " to_char(data_falecimento_mae, 'DD-MM-YYYY') AS data_falecimento_mae, ";
         $sQuery .= " status_id, profissoes_id, igreja_casamento, pai_id, mae_id, nome_pai, nome_mae, status_pai_id, status_mae_id ";
         $sQuery .= " from membros_familiares";
         $sQuery .= " left join pessoas on pessoas.id = membros_familiares.conjuge_id and pessoas.empresas_id = membros_familiares.empresas_id and pessoas.empresas_clientes_cloud_id = membros_familiares.empresas_clientes_cloud_id";
         $sQuery .= " left join pessoas p2 on p2.id = membros_familiares.pai_id and p2.empresas_id = membros_familiares.empresas_id and p2.empresas_clientes_cloud_id = membros_familiares.empresas_clientes_cloud_id";
         $sQuery .= " left join pessoas p3 on p3.id = membros_familiares.mae_id and p3.empresas_id = membros_familiares.empresas_id and p3.empresas_clientes_cloud_id = membros_familiares.empresas_clientes_cloud_id";
         $sQuery .= " where membros_familiares.pessoas_id = ? ";
         $sQuery .= " and membros_familiares.empresas_id = ? ";
         $sQuery .= " and membros_familiares.empresas_clientes_cloud_id = ? ";
         $membros_familiares = \DB::select($sQuery, [$id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         /*Se nao retornar dados, inicializar variavel com uma colection qualquer*/
         if ($membros_familiares == null) {
             unset($membros_familiares);
         }
         /*Dados Formacoes*/
         $membros_formacoes = \App\Models\membros_formacoes::select('formacoes_id as id', 'nome')->join('areas_formacao', 'areas_formacao.id', '=', 'membros_formacoes.formacoes_id')->where('membros_formacoes.empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('membros_formacoes.empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         if ($membros_formacoes->count() == 0) {
             unset($membros_formacoes);
         }
         /*Dados idiomas*/
         $membros_idiomas = \App\Models\membros_idiomas::select('idiomas_id as id')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         if ($membros_idiomas->count() == 0) {
             unset($membros_idiomas);
         }
         /*Dons*/
         $membros_dons = \App\Models\membros_dons::select('dons_id as id', 'dons.nome')->join('dons', 'dons.id', '=', 'membros_dons.dons_id')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         if ($membros_dons->count() == 0) {
             unset($membros_dons);
         }
         /*habilidades*/
         $membros_habilidades = \App\Models\membros_habilidades::select('habilidades_id as id', 'habilidades.nome')->join('habilidades', 'habilidades.id', '=', 'membros_habilidades.habilidades_id')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         if ($membros_habilidades->count() == 0) {
             unset($membros_habilidades);
         }
         /*atividades*/
         $membros_atividades = \App\Models\membros_atividades::select('atividades_id as id', 'atividades.nome')->join('atividades', 'atividades.id', '=', 'membros_atividades.atividades_id')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         if ($membros_atividades->count() == 0) {
             unset($membros_atividades);
         }
         /*ministerios*/
         $membros_ministerios = \App\Models\membros_ministerios::select('ministerios_id as id', 'ministerios.nome')->join('ministerios', 'ministerios.id', '=', 'membros_ministerios.ministerios_id')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('pessoas_id', $id)->get();
         if ($membros_ministerios->count() == 0) {
             unset($membros_ministerios);
         }
         /*membros Relacionamentos*/
         $membros_relacionamentos = \App\Models\membros_relacionamentos::select('tipos_relacionamentos_id as id', 'membros_relacionamentos.pessoas2_id', 'pessoas.razaosocial', 'tipos_relacionamentos.nome')->join('tipos_relacionamentos', 'tipos_relacionamentos.id', '=', 'membros_relacionamentos.tipos_relacionamentos_id')->join('pessoas', 'pessoas.id', '=', 'membros_relacionamentos.pessoas2_id')->where('membros_relacionamentos.empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('membros_relacionamentos.empresas_id', $this->dados_login->empresas_id)->where('membros_relacionamentos.pessoas_id', $id)->get();
         if ($membros_relacionamentos->count() == 0) {
             unset($membros_relacionamentos);
         }
     }
     if ($habilitar_interface->membro) {
         /*
         Para preencher combos Dados eclesiasticos
         */
         $cursos = \App\Models\cursos::where(['empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id])->orderBy('nome', 'ASC')->get();
         $igrejas = \App\Models\igrejas::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $situacoes = \App\Models\situacoes::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $idiomas = \App\Models\idiomas::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $status = \App\Models\status::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $profissoes = \App\Models\profissoes::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $ramos = \App\Models\ramos::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $cargos = \App\Models\cargos::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $graus = \App\Models\graus::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $formacoes = \App\Models\areas::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $estadoscivis = \App\Models\civis::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $disponibilidades = \App\Models\disponibilidades::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $dons = \App\Models\dons::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $tiposrelacionamentos = \App\Models\tiposrelacionamentos::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $habilidades = \App\Models\habilidades::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $religioes = \App\Models\religioes::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $atividades = \App\Models\atividades::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $ministerios = \App\Models\ministerios::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         $motivos = \App\Models\tiposmovimentacao::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
         /* FIM Para preencher combos Dados eclesiasticos*/
         $view_pessoas_movimentacoes = \DB::select("select * from view_pessoas_movimentacoes where id = ? ", [$id]);
         if ($bool_exibir_perfil == "true") {
             $perfil = \DB::select("select * from view_perfil where id = ? and empresas_id = ? and empresas_clientes_cloud_id = ? ", [$id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
             $pessoas_timeline = \DB::select("select to_char(datanasc, 'DD/MM/YYYY') AS datanasc,  to_char(to_date(data_entrada, 'yyyy-MM-dd'), 'DD/MM/YYYY') AS data_entrada, to_char(to_date(data_entrada_celula, 'yyyy-MM-dd'), 'DD/MM/YYYY') AS data_entrada_celula, to_char(to_date(data_saida, 'yyyy-MM-dd'), 'DD/MM/YYYY') AS data_saida, to_char(to_date(data_batismo, 'yyyy-MM-dd'), 'DD/MM/YYYY') AS data_batismo from view_pessoas_timeline where id = ? ", [$id]);
         } else {
             $perfil = null;
             $pessoas_timeline = null;
         }
         //COLLECTION COM DADOS DA PESSOA
         $var_collections = array('grupos' => $grupos, 'preview' => $preview, 'interface' => $habilitar_interface, 'bancos' => $bancos, 'pessoas' => $pessoas, 'igrejas' => $igrejas, 'situacoes' => $situacoes, 'status' => $status, 'idiomas' => $idiomas, 'profissoes' => $profissoes, 'ramos' => $ramos, 'graus' => $graus, 'formacoes' => $formacoes, 'religioes' => $religioes, 'disponibilidades' => $disponibilidades, 'dons' => $dons, 'habilidades' => $habilidades, 'estadoscivis' => $estadoscivis, 'motivos' => $motivos, 'atividades' => $atividades, 'ministerios' => $ministerios, 'cargos' => $cargos, 'celulas' => $celulas, 'perfil' => $perfil, 'cursos' => $cursos, 'pessoas_timeline' => $pessoas_timeline, 'view_pessoas_movimentacoes' => $view_pessoas_movimentacoes, 'tiposrelacionamentos' => $tiposrelacionamentos, 'tipos_pessoas' => $tipos_pessoas);
         //ACRESCENTA AS COLLECTIONS SOMENTE SE HOUVEREM DADOS
         if (isset($membros_celula)) {
             $var_collections = array_add($var_collections, 'membros_celula', $membros_celula);
         }
         if (isset($membros_situacoes)) {
             $var_collections = array_add($var_collections, 'membros_situacoes', $membros_situacoes);
         }
         if (isset($membros_formacoes)) {
             $var_collections = array_add($var_collections, 'membros_formacoes', $membros_formacoes);
         }
         if (isset($membros_idiomas)) {
             $var_collections = array_add($var_collections, 'membros_idiomas', $membros_idiomas);
         }
         if (isset($membros_atividades)) {
             $var_collections = array_add($var_collections, 'membros_atividades', $membros_atividades);
         }
         if (isset($membros_historico)) {
             $var_collections = array_add($var_collections, 'membros_historico', $membros_historico);
         }
         if (isset($membros_ministerios)) {
             $var_collections = array_add($var_collections, 'membros_ministerios', $membros_ministerios);
         }
         if (isset($membros_familiares)) {
             $var_collections = array_add($var_collections, 'membros_familiares', $membros_familiares);
         }
         if (isset($membros_dons)) {
             $var_collections = array_add($var_collections, 'membros_dons', $membros_dons);
         }
         if (isset($membros_filhos)) {
             $var_collections = array_add($var_collections, 'membros_filhos', $membros_filhos);
         }
         if (isset($membros_habilidades)) {
             $var_collections = array_add($var_collections, 'membros_habilidades', $membros_habilidades);
         }
         if (isset($membros_profissionais)) {
             $var_collections = array_add($var_collections, 'membros_profissionais', $membros_profissionais);
         }
         if (isset($membros_relacionamentos)) {
             $var_collections = array_add($var_collections, 'membros_relacionamentos', $membros_relacionamentos);
         }
         if (isset($membros_cursos)) {
             $var_collections = array_add($var_collections, 'membros_cursos', $membros_cursos);
         }
         if (isset($membros_dados_pessoais)) {
             $var_collections = array_add($var_collections, 'membros_dados_pessoais', $membros_dados_pessoais);
         }
         //dd($var_collections);
         return view($this->rota . ($bool_exibir_perfil == "true" ? '.perfil' : '.edit'), $var_collections);
     } else {
         return view($this->rota . '.edit', ['grupos' => $grupos, 'preview' => $preview, 'interface' => $habilitar_interface, 'bancos' => $bancos, 'pessoas' => $pessoas, 'tipos_pessoas' => $tipos_pessoas]);
     }
 }
Exemplo n.º 2
0
 /**
  * Excluir registro do banco.
  *
  * @param    int  $id
  * @return  \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     $dados = igrejas::findOrfail($id);
     $dados->delete();
     return redirect($this->rota);
 }