Ejemplo n.º 1
0
 public function salvar($request, $id)
 {
     /*Clausula where padrao para as tabelas auxiliares*/
     $where = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $id];
     /*Instancia biblioteca de funcoes globais*/
     $formatador = new \App\Functions\FuncoesGerais();
     /*Validação de campos - request*/
     $this->validate($request, ['emailprincipal' => 'email']);
     $image = $request->file('caminhologo');
     //Imagem / Logo
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     $pessoas = pessoas::findOrfail($id);
     $pessoas->endereco = $input['endereco'];
     $pessoas->numero = $input['numero'];
     $pessoas->bairro = $input['bairro'];
     $pessoas->cep = $input['cep'];
     $pessoas->complemento = $input['complemento'];
     $pessoas->cidade = $input['cidade'];
     $pessoas->estado = $input['estado'];
     $pessoas->fone_principal = $formatador->RetirarCaracteres($input['foneprincipal']);
     //preg_replace("/[^0-9]/", '', $input['foneprincipal']);
     $pessoas->fone_secundario = $formatador->RetirarCaracteres($input['fonesecundario']);
     //preg_replace("/[^0-9]/", '', $input['fonesecundario']);
     $pessoas->fone_recado = $input['fonerecado'];
     $pessoas->fone_celular = $input['celular'];
     $pessoas->emailprincipal = $input['email'];
     if ($image) {
         $pessoas->caminhofoto = str_replace(" ", "", $input['razaosocial']) . '.' . $image->getClientOriginalExtension();
     }
     $pessoas->save();
     /*------------------------------FIM  CADASTRO DE PESSOAS------------------- */
     /*-------------------------------------------------- UPLOAD IMAGEM */
     if ($image) {
         /*Regras validação imagem*/
         $rules = array('image' => 'image', 'image' => array('mimes:jpeg,jpg,png', 'max:2000kb'));
         // Validar regras
         $validator = \Validator::make([$image], $rules);
         // Check to see if validation fails or passes
         if ($validator->fails()) {
             \Session::flash('flash_message_erro', 'Os dados foram salvos, porém houve erro no envio da imagem.');
             return redirect($this->rota);
         } else {
             //caminho onde será gravado
             $destinationPath = base_path() . '/public/images/persons';
             // Cria uma instancia
             $img = \Image::make($image->getRealPath());
             //redimenciolna a imagem
             $img->resize(320, 240);
             //Salva a imagem no path definido, criando com nome da pessoa e a extencao original do arquivo
             $img->save($destinationPath . '/' . str_replace(" ", "", $input['razaosocial']) . '.' . $image->getClientOriginalExtension());
         }
     }
 }
Ejemplo n.º 2
0
 public function index()
 {
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.' . $this->rota)) == false) {
         return redirect('home');
     }
     $funcoes = new \App\Functions\FuncoesGerais();
     $lider_logado = $funcoes->verifica_se_lider();
     $motivos = \App\Models\tiposmovimentacao::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->orderBy('nome', 'ASC')->get();
     if ($lider_logado != null) {
         $celulas = \DB::select('select id, descricao_concatenada as nome from view_celulas_simples  where lider_pessoas_id = ? and  empresas_id = ? and empresas_clientes_cloud_id = ? ', [$lider_logado[0]->lider_pessoas_id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     } else {
         $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', 'celulas' => $celulas, 'motivos' => $motivos]);
 }
Ejemplo n.º 3
0
 /**
  * Description : Verificar se o CPF ou CNPJ informado já está cadastrado para outra pessoa
  * @param  $id = CPF ou CNPJ passado, tipo de validação (cpf ou cnpj)
  * @return  string = Nome da pessoa (se encontrar)
  */
 public function validar($id)
 {
     /*Instancia biblioteca de funcoes globais*/
     $formatador = new \App\Functions\FuncoesGerais();
     $cpf_cnpj = $formatador->RetirarCaracteres($id);
     //Verificar se CPF ou CNPJ passado está cadastrado para outra pessoa
     $buscar = \App\Models\pessoas::select('razaosocial')->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('empresas_id', $this->dados_login->empresas_id)->where('cnpj_cpf', $cpf_cnpj)->get();
     if ($buscar) {
         return $buscar[0]->razaosocial;
         //Retorna o nome da pessoa
     } else {
         return "";
         //Retorna vazio
     }
 }
 public function index()
 {
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.' . $this->rota)) == false) {
         return redirect('home');
     }
     $funcoes = new \App\Functions\FuncoesGerais();
     $lider_logado = $funcoes->verifica_se_lider();
     if ($lider_logado != null) {
         $celulas = \DB::select('select id, descricao_concatenada as nome from view_celulas_simples  where lider_pessoas_id = ? and  empresas_id = ? and empresas_clientes_cloud_id = ? ', [$lider_logado[0]->lider_pessoas_id, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     } else {
         $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]);
     }
     //get questions from database
     $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();
     return view($this->rota . '.atualizacao', ['preview' => 'false', 'tipo_operacao' => 'incluir', 'celulas' => $celulas, 'participantes' => '', 'questions' => $questions, 'questions_saved' => '', 'controle_materiais' => '']);
 }
Ejemplo n.º 5
0
 public function salvar($request, $id, $tipo_operacao)
 {
     /*Clausula where padrao para as tabelas auxiliares*/
     $where = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $id];
     /* ------------------ INICIA TRANSACTION -----------------------*/
     \DB::transaction(function () use($request, $id, $tipo_operacao, $where) {
         /*
             Se for UPDATE (houver conteudo variavel $id), exclui as tabelas auxiliares antes da TRANSACTION
         */
         if ($id != "") {
             /*Excluir antes atualizar*/
             $excluir = \App\Models\membros_dons::where($where)->delete();
             $excluir = \App\Models\membros_cursos::where($where)->delete();
             $excluir = \App\Models\membros_profissionais::where($where)->delete();
             $excluir = \App\Models\financpessoas::where($where)->delete();
             $excluir = \App\Models\membros_dados::where($where)->delete();
             $excluir = \App\Models\membros_familiares::where($where)->delete();
             $excluir = \App\Models\membros_situacoes::where($where)->delete();
             $excluir = \App\Models\membros_formacoes::where($where)->delete();
             $excluir = \App\Models\membros_idiomas::where($where)->delete();
             $excluir = \App\Models\membros_habilidades::where($where)->delete();
             $excluir = \App\Models\membros_atividades::where($where)->delete();
             $excluir = \App\Models\membros_filhos::where($where)->delete();
             $excluir = \App\Models\membros_ministerios::where($where)->delete();
             $excluir = \App\Models\membros_hist_eclesiasticos::where($where)->delete();
             $excluir = \App\Models\membros_relacionamentos::where($where)->delete();
         }
         /*Instancia biblioteca de funcoes globais*/
         $formatador = new \App\Functions\FuncoesGerais();
         /*Validação de campos - request*/
         $this->validate($request, ['razaosocial' => 'required|max:255:min:3', 'emailprincipal' => 'email', 'emailsecundario' => 'email', 'opPessoa' => 'required', 'opStatus' => 'required', 'cpf' => 'cpf', 'cnpj' => 'cnpj']);
         $image = $request->file('caminhologo');
         //Imagem / Logo
         $input = $request->except(array('_token', 'ativo'));
         //não levar o token
         //dd($input);
         /*--------------------------------- CADASTRO DE PESSOAS------------------- */
         if ($tipo_operacao == "create") {
             $pessoas = new pessoas();
         } else {
             $pessoas = pessoas::findOrfail($id);
         }
         $pessoas->razaosocial = $input['razaosocial'];
         $pessoas->nomefantasia = $input['nomefantasia'];
         $pessoas->cnpj_cpf = $formatador->RetirarCaracteres($input['cnpj'] != "" ? $input['cnpj'] : $input['cpf']);
         $pessoas->inscricaoestadual_rg = $input['inscricaoestadual_rg'];
         $pessoas->endereco = $input['endereco'];
         $pessoas->numero = $input['numero'];
         $pessoas->bairro = $input['bairro'];
         $pessoas->cep = $input['cep'];
         $pessoas->complemento = $input['complemento'];
         $pessoas->cidade = $input['cidade'];
         $pessoas->estado = $input['estado'];
         $pessoas->grupos_pessoas_id = $input['grupo'] == "" ? null : $input['grupo'];
         $pessoas->obs = $input['obs'];
         $pessoas->fone_principal = $formatador->RetirarCaracteres($input['foneprincipal']);
         //preg_replace("/[^0-9]/", '', $input['foneprincipal']);
         $pessoas->fone_secundario = $formatador->RetirarCaracteres($input['fonesecundario']);
         //preg_replace("/[^0-9]/", '', $input['fonesecundario']);
         $pessoas->fone_recado = $input['fonerecado'];
         $pessoas->fone_celular = $input['celular'];
         $pessoas->emailprincipal = $input['emailprincipal'];
         $pessoas->emailsecundario = $input['emailsecundario'];
         $pessoas->ativo = $input['opStatus'];
         $pessoas->tipos_pessoas_id = $input['tipos_pessoas_id'];
         $pessoas->datanasc = $formatador->FormatarData($input['datanasc']);
         $pessoas->tipopessoa = $input['opPessoa'];
         $pessoas->website = $input['website'];
         $pessoas->empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
         $pessoas->empresas_id = $this->dados_login->empresas_id;
         $nome_imagem = str_replace(" ", "", strtolower($input['razaosocial']) . date("his"));
         if ($image) {
             //$pessoas->caminhofoto = $image->getClientOriginalName();
             $pessoas->caminhofoto = $nome_imagem . '.' . $image->getClientOriginalExtension();
         }
         if ($input['mydata'] != "") {
             $pessoas->caminhofoto = $nome_imagem . '_webcam.jpg';
         }
         $pessoas->save();
         /*------------------------------FIM  CADASTRO DE PESSOAS------------------- */
         /*------------------------------DADOS FINANCEIROS------------------------------*/
         if ($input['banco'] != "" || $input['endereco_cobranca'] != "") {
             if ($tipo_operacao == "create") {
                 $financ = new \App\Models\financpessoas();
             } else {
                 $financ = \App\Models\financpessoas::firstOrNew($where);
             }
             $valores = ['pessoas_id' => $pessoas->id, 'endereco' => $input['endereco_cobranca'], 'numero' => $input['numero_cobranca'], 'bairro' => $input['bairro_cobranca'], 'cep' => $input['cep_cobranca'], 'complemento' => $input['complemento_cobranca'], 'cidade' => $input['cidade_cobranca'], 'estado' => $input['estado_cobranca'], 'bancos_id' => $input['banco'] == "" ? null : $input['banco'], 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
             $financ->fill($valores)->save();
             $financ->save();
         }
         /*------------------------------FIM - DADOS FINANCEIROS------------------------------*/
         /*Verifica o cadastro do tipo de pessoa (campo MEMBRO) para saber se grava dados eclesiasticos*/
         $habilitar_interface = \App\Models\tipospessoas::findOrfail($input['tipos_pessoas_id']);
         //Somente se for tipo MEMBRO
         if ($habilitar_interface->membro) {
             /*Se foi informado uma celula, associa o membro a celula*/
             if (isset($input['celulas'])) {
                 if ($input['celulas'] != "") {
                     if ($tipo_operacao == "create") {
                         $dados = new \App\Models\celulaspessoas();
                     } else {
                         $dados = \App\Models\celulaspessoas::firstOrNew($where);
                     }
                     /*input celulas vem com pipe separando celulas_id | lider_pessoas_id - nome*/
                     $strCampos = explode("|", $input['celulas']);
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'celulas_id' => $strCampos[0], 'lider_pessoas_id' => substr($strCampos[1], 0, 9)];
                     $dados->fill($valores)->save();
                     $dados->save();
                 }
             }
             /*------------------------------DADOS ECLESIASTICOS------------------------------*/
             if (isset($input['opSexo'])) {
                 if ($input['opSexo'] != "" || $input['status'] != "" || $input['graus'] != "" || $input['lingua'] != "" || $input['igreja'] != "" || $input['familia'] != "" || $input['opDoadorSangue'] != "" || $input['opDoadorOrgaos'] != "" || $input['naturalidade'] != "" || $input['ufnaturalidade'] != "" || $input['nacionalidade'] != "" || $input['grpsangue'] != "" || $input['necessidades'] != "" || $input['facebook'] != "" || $input['google'] != "" || $input['instagram'] != "" || $input['linkedin'] != "" || $input['estadoscivis'] != "") {
                     if ($tipo_operacao == "create") {
                         $eclesiasticos = new \App\Models\membros_dados();
                     } else {
                         $eclesiasticos = \App\Models\membros_dados::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'status_id' => $input['status'] == "" ? null : $input['status'], 'idiomas_id' => $input['lingua'] == "" ? null : $input['lingua'], 'igrejas_id' => $input['igreja'] == "" ? null : $input['igreja'], 'estadoscivis_id' => $input['estadoscivis'] == "" ? null : $input['estadoscivis'], 'disponibilidades_id' => $input['disponibilidades'] == "" ? null : $input['disponibilidades'], 'graus_id' => $input['graus'] == "" ? null : $input['graus'], 'familias_id' => $input['familia'] == "" ? null : substr($input['familia'], 0, 9), 'sexo' => $input['opSexo'] == "" ? null : $input['opSexo'], 'prefere_trabalhar_com' => $input['prefere_trabalhar_com'] == "" ? null : $input['prefere_trabalhar_com'], 'considera_se' => $input['considera_se'] == "" ? null : $input['considera_se'], 'doador_sangue' => $input['opDoadorSangue'] == "" ? null : $input['opDoadorSangue'], 'doador_orgaos' => $input['opDoadorOrgaos'] == "" ? null : $input['opDoadorOrgaos'], 'naturalidade' => $input['naturalidade'], 'uf_naturalidade' => $input['ufnaturalidade'], 'nacionalidade' => $input['nacionalidade'], 'grupo_sanguinio' => $input['grpsangue'] == "" ? null : strtoupper($input['grpsangue']), 'possui_necessidades_especiais' => $input['ck_necessidades'] == "" ? 0 : $input['ck_necessidades'], 'descricao_necessidade_especial' => $input['necessidades'], 'link_facebook' => $input['facebook'], 'link_google' => $input['google'], 'link_instagram' => $input['instagram'], 'link_outros' => '', 'link_linkedin' => $input['linkedin']];
                     $eclesiasticos->fill($valores)->save();
                     $eclesiasticos->save();
                 }
             }
             /*------------------------------FIM - DADOS ECLESIASTICOS------------------------------*/
             /*------------------------------MEMBROS FILHOS------------------------------*/
             if (isset($input['inc_filhos'])) {
                 if ($input['inc_filhos'] != "") {
                     $i_index = 0;
                     /*Inicia sequencia*/
                     /*Pode ser um ou vários, por isso percorre array de inputs gerados*/
                     foreach ($input['inc_filhos'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'nome_filho' => $selected];
                             if ($tipo_operacao == "create") {
                                 $filhos = new \App\Models\membros_filhos();
                             } else {
                                 $filhos = \App\Models\membros_filhos::firstOrNew($whereForEach);
                             }
                             /*Se houver conteudo, significa que usuario adicionou mais de 1 filho do cadastro*/
                             if ($input['hidden_id_filhos'][$i_index] != "") {
                                 $var_filhos_id = $input['hidden_id_filhos'][$i_index];
                             } else {
                                 $var_filhos_id = null;
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'nome_filho' => $input['inc_filhos'][$i_index], 'filhos_id' => $var_filhos_id, 'status_id' => $input['hidden_status'][$i_index] == "" ? null : $input['hidden_status'][$i_index], 'estadocivil_id' => $input['hidden_estadocivl'][$i_index] == "" ? null : $input['hidden_estadocivl'][$i_index], 'sexo' => $input['hidden_sexo'][$i_index] == "" ? null : $input['hidden_sexo'][$i_index], 'data_nasc' => $formatador->FormatarData($input['inc_datanasc'][$i_index]), 'data_falecimento' => $formatador->FormatarData($input['inc_datafalec'][$i_index])];
                             $filhos->fill($valores)->save();
                             $filhos->save();
                             $i_index = $i_index + 1;
                             //Incrementa sequencia do array para pegar proximos campos (se houver)
                         }
                     }
                 }
             }
             /*------------------------------FIM - MEMBROS FILHOS (SEM CADASTRO) ------------------------------*/
             /*------------------------------ Tabela CURSOS ---------------------------*/
             if (isset($input['hidden_cursos'])) {
                 if ($input['hidden_cursos'] != "") {
                     $i_index = 0;
                     /*Inicia sequencia*/
                     foreach ($input['hidden_cursos'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'cursos_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $cursos = new \App\Models\membros_cursos();
                             } else {
                                 $cursos = \App\Models\membros_cursos::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'cursos_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'ministrante_id' => $input['inc_ministrante_id'][$i_index] != "" ? $input['inc_ministrante_id'][$i_index] : null, 'data_inicio' => trim($input['inc_datainicio'][$i_index]) != "" ? $formatador->FormatarData(trim($input['inc_datainicio'][$i_index])) : "", 'data_fim' => trim($input['inc_datafim'][$i_index]) != "" ? $formatador->FormatarData(trim($input['inc_datafim'][$i_index])) : "", 'observacao' => $input['inc_obs'][$i_index]];
                             $cursos->fill($valores)->save();
                             $cursos->save();
                             $i_index = $i_index + 1;
                             //Incrementa sequencia do array para pegar proximos campos (se houver)
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela CURSOS---------------------------*/
             /*------------------------------ DADOS PROFISSIONAIS ------------------------------*/
             if (isset($input['nome_empresa'])) {
                 if ($input['nome_empresa'] != "" || $input['endereco_prof'] != "" || $input['numero_prof'] != "" || $input['bairro_prof'] != "" || $input['cep_prof'] != "" || $input['complemento_prof'] != "" || $input['cidade_prof'] != "" || $input['estado_prof'] != "" || $input['cargos'] != "" || $input['ramos'] != "" || $input['profissoes'] != "" || $input['emailprofissional'] != "") {
                     if ($tipo_operacao == "create") {
                         $profissionais = new \App\Models\membros_profissionais();
                     } else {
                         $profissionais = \App\Models\membros_profissionais::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'nome_empresa' => $input['nome_empresa'], 'endereco' => $input['endereco_prof'], 'numero' => $input['numero_prof'], 'bairro' => $input['bairro_prof'], 'cep' => $input['cep_prof'], 'complemento' => $input['complemento_prof'], 'cidade' => $input['cidade_prof'], 'estado' => $input['estado_prof'], 'cargos_id' => $input['cargos'] == "" ? null : $input['cargos'], 'ramos_id' => $input['ramos'] == "" ? null : $input['ramos'], 'profissoes_id' => $input['profissoes'] == "" ? null : $input['profissoes'], 'emailprofissional' => $input['emailprofissional']];
                     $profissionais->fill($valores)->save();
                     $profissionais->save();
                 }
             }
             /*------------------------------ FIM - DADOS PROFISSIONAIS ------------------------------*/
             /*------------------------------ DADOS FAMILIARES ------------------------------*/
             if (isset($input['conjuge'])) {
                 if ($input['conjuge'] != "" || $input['nome_conjuge'] != "" || $input['datanasc_conjuge'] != "" || $input['datafalecimento'] != "" || $input['datacasamento'] != "" || $input['igrejacasamento'] != "" || $input['pai'] != "" || $input['mae'] != "" || $input['nome_pai'] != "" || $input['nome_mae'] != "" || $input['status_pai'] != "" || $input['status_mae'] != "" || $input['datafalecimento_pai'] != "" || $input['datafalecimento_mae'] != "") {
                     if ($tipo_operacao == "create") {
                         $familiares = new \App\Models\membros_familiares();
                     } else {
                         $familiares = \App\Models\membros_familiares::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'conjuge_id' => $input['conjuge'] == "" ? null : substr($input['conjuge'], 0, 9), 'nome_conjuge' => $input['nome_conjuge'], 'data_nasc' => $formatador->FormatarData($input['datanasc_conjuge']), 'data_falecimento' => $formatador->FormatarData($input['datafalecimento']), 'data_casamento' => $formatador->FormatarData($input['datacasamento']), 'data_falecimento_pai' => $formatador->FormatarData($input['datafalecimento_pai']), 'data_falecimento_mae' => $formatador->FormatarData($input['datafalecimento_mae']), 'status_id' => $input['status_conjuge'] == "" ? null : $input['status_conjuge'], 'profissoes_id' => $input['profissao_conjuge'] == "" ? null : $input['profissao_conjuge'], 'igreja_casamento' => $input['igrejacasamento'], 'pai_id' => $input['pai'] == "" ? null : substr($input['pai'], 0, 9), 'mae_id' => $input['mae'] == "" ? null : substr($input['mae'], 0, 9), 'nome_pai' => $input['nome_pai'], 'nome_mae' => $input['nome_mae'], 'status_pai_id' => $input['status_pai'] == "" ? null : $input['status_pai'], 'status_mae_id' => $input['status_mae'] == "" ? null : $input['status_mae']];
                     $familiares->fill($valores)->save();
                     $familiares->save();
                 }
             }
             /*------------------------------ FIM - DADOS FAMILIARES ------------------------------*/
             /*------------------------------ Tabela MEMBROS_SITUACOES---------------------------*/
             if (isset($input['situacoes'])) {
                 if ($input['situacoes'] != "") {
                     foreach ($input['situacoes'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'situacoes_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $situacoes = new \App\Models\membros_situacoes();
                             } else {
                                 $situacoes = \App\Models\membros_situacoes::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'situacoes_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $situacoes->fill($valores)->save();
                             $situacoes->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_SITUACOES---------------------------*/
             /*------------------------------ Tabela MEMBROS_FORMAÇÕES ---------------------------*/
             if (isset($input['formacoes'])) {
                 if ($input['formacoes'] != "") {
                     foreach ($input['formacoes'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'formacoes_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $formacoes = new \App\Models\membros_formacoes();
                             } else {
                                 $formacoes = \App\Models\membros_formacoes::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'formacoes_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $formacoes->fill($valores)->save();
                             $formacoes->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_SITUACOES---------------------------*/
             /*------------------------------ Tabela MEMBROS_IDIOMAS ---------------------------*/
             if (isset($input['idiomas'])) {
                 if ($input['idiomas'] != "") {
                     foreach ($input['idiomas'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'idiomas_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $idiomas = new \App\Models\membros_idiomas();
                             } else {
                                 $idiomas = \App\Models\membros_idiomas::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'idiomas_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $idiomas->fill($valores)->save();
                             $idiomas->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_IDIOMAS---------------------------*/
             /*------------------------------ Tabela MEMBROS_DONS ---------------------------*/
             if (isset($input['dons'])) {
                 if ($input['dons'] != "") {
                     foreach ($input['dons'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'dons_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $dons = new \App\Models\membros_dons();
                             } else {
                                 $dons = \App\Models\membros_dons::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'dons_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $dons->fill($valores)->save();
                             $dons->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_DONS---------------------------*/
             /*------------------------------ Tabela MEMBROS_RELACIONAMENTOS ---------------------------*/
             if (isset($input['tiposrelacionamentos'])) {
                 if ($input['tiposrelacionamentos'] != "" && $input['pessoa_relacionamento'] != "") {
                     foreach ($input['tiposrelacionamentos'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'pessoas2_id' => $input['pessoa_relacionamento'] == "" ? null : substr($input['pessoa_relacionamento'], 0, 9), 'tipos_relacionamentos_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $relacionamentos = new \App\Models\membros_relacionamentos();
                             } else {
                                 $relacionamentos = \App\Models\membros_relacionamentos::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'pessoas2_id' => $input['pessoa_relacionamento'] == "" ? null : substr($input['pessoa_relacionamento'], 0, 9), 'tipos_relacionamentos_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $relacionamentos->fill($valores)->save();
                             $relacionamentos->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_RELACIONAMENTOS---------------------------*/
             /*------------------------------ Tabela MEMBROS_HABILIDADES ---------------------------*/
             if (isset($input['habilidades'])) {
                 if ($input['habilidades'] != "") {
                     foreach ($input['habilidades'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'habilidades_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $habilidades = new \App\Models\membros_habilidades();
                             } else {
                                 $habilidades = \App\Models\membros_habilidades::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'habilidades_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $habilidades->fill($valores)->save();
                             $habilidades->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_HABILIDADES---------------------------*/
             /*------------------------------ Tabela MEMBROS_ATIVIDADES ---------------------------*/
             if (isset($input['atividades'])) {
                 if ($input['atividades'] != "") {
                     foreach ($input['atividades'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'atividades_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $atividades = new \App\Models\membros_atividades();
                             } else {
                                 $atividades = \App\Models\membros_atividades::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'atividades_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $atividades->fill($valores)->save();
                             $atividades->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_ATIVIDADES---------------------------*/
             /*------------------------------ Tabela MEMBROS_MINISTERIOS ---------------------------*/
             if (isset($input['ministerios'])) {
                 if ($input['ministerios'] != "") {
                     foreach ($input['ministerios'] as $selected) {
                         if ($selected != "") {
                             $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'pessoas_id' => $pessoas->id, 'ministerios_id' => $selected];
                             if ($tipo_operacao == "create") {
                                 $ministerios = new \App\Models\membros_ministerios();
                             } else {
                                 $ministerios = \App\Models\membros_ministerios::firstOrNew($whereForEach);
                             }
                             $valores = ['pessoas_id' => $pessoas->id, 'ministerios_id' => $selected, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
                             $ministerios->fill($valores)->save();
                             $ministerios->save();
                         }
                     }
                 }
             }
             /*------------------------------ FIM Tabela MEMBROS_MINISTERIOS---------------------------*/
             /*------------------------------ DADOS HIST. ECLESIASTICOS ------------------------------*/
             if (isset($input['igreja_anterior'])) {
                 if ($input['igreja_anterior'] != "" || $input['fone_igreja_anterior'] != "" || $input['religioes'] != "" || $input['cep_igreja_anterior'] != "" || $input['endereco_igreja_anterior'] != "" || $input['numero_igreja_anterior'] != "" || $input['cidade_igreja_anterior'] != "" || $input['estado_igreja_anterior'] != "" || $input['bairro_igreja_anterior'] != "" || $input['data_batismo'] != "" || $input['igreja_batismo'] != "" || $input['celebrador'] != "" || $input['data_entrada'] != "" || $input['data_saida'] != "") {
                     if ($tipo_operacao == "create") {
                         $historico = new \App\Models\membros_hist_eclesiasticos();
                     } else {
                         $historico = \App\Models\membros_hist_eclesiasticos::firstOrNew($where);
                     }
                     $valores = ['pessoas_id' => $pessoas->id, 'empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'igreja_anterior' => $input['igreja_anterior'], 'fone_igreja_anterior' => $input['fone_igreja_anterior'], 'religioes_id' => $input['religioes'] == "" ? null : $input['religioes'], 'cep_igreja_anterior' => $input['cep_igreja_anterior'], 'endereco_igreja_anterior' => $input['endereco_igreja_anterior'], 'numero_igreja_anterior' => $input['numero_igreja_anterior'], 'bairro_igreja_anterior' => $input['bairro_igreja_anterior'], 'complemento_igreja_anterior' => $input['complemento_igreja_anterior'], 'cidade_igreja_anterior' => $input['cidade_igreja_anterior'], 'estado_igreja_anterior' => $input['estado_igreja_anterior'], 'data_batismo' => $formatador->FormatarData($input['data_batismo']), 'igreja_batismo' => $input['igreja_batismo'], 'celebrador' => $input['celebrador'], 'data_entrada' => $formatador->FormatarData($input['data_entrada']), 'data_saida' => $formatador->FormatarData($input['data_saida']), 'ata_entrada' => $input['ata_entrada'], 'ata_saida' => $input['ata_saida'], 'motivos_saida_id' => $input['motivosaida'] == "" ? null : $input['motivosaida'], 'motivos_entrada_id' => $input['motivo_entrada'] == "" ? null : $input['motivo_entrada'], 'observacoes_hist' => $input['observacoes_hist']];
                     $historico->fill($valores)->save();
                     $historico->save();
                 }
             }
             /*------------------------------ FIM - HIST. ECLESIASTICO ------------------------------*/
         }
         /*-------------------------------------------------- UPLOAD IMAGEM */
         if ($image) {
             /*Regras validação imagem*/
             $rules = array('image' => 'image', 'image' => array('mimes:jpeg,jpg,png', 'max:2000kb'));
             // Validar regras
             $validator = \Validator::make([$image], $rules);
             // Check to see if validation fails or passes
             if ($validator->fails()) {
                 \Session::flash('flash_message_erro', 'Os dados foram salvos, porém houve erro no envio da imagem.');
                 return redirect($this->rota);
             } else {
                 //caminho onde será gravado
                 $destinationPath = base_path() . '/public/images/persons';
                 // Cria uma instancia
                 $img = \Image::make($image->getRealPath());
                 //redimenciolna a imagem
                 $img->resize(320, 240);
                 //Salva a imagem no path definido, criando com nome da pessoa e a extencao original do arquivo
                 $img->save($destinationPath . '/' . $nome_imagem . '.' . $image->getClientOriginalExtension());
             }
         }
         if ($input['mydata'] != "") {
             $encoded_data = $input['mydata'];
             $binary_data = base64_decode($encoded_data);
             //caminho onde será gravado
             $destinationPath = base_path() . '/public/images/persons';
             // Salva no path definido, alterando o nome da imagem com o nome da pessoa
             $result = file_put_contents($destinationPath . '/' . str_replace(" ", "", $input['razaosocial']) . '_webcam.jpg', $binary_data);
         }
         /*-------------------------------------------------- FIM UPLOAD IMAGEM */
     });
     // ------------ FIM TRANSACTION
 }
 public function pesquisar(\Illuminate\Http\Request $request)
 {
     /*Pega todos campos enviados no post*/
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     /*Instancia biblioteca de funcoes globais*/
     $formatador = new \App\Functions\FuncoesGerais();
     $filtros = "";
     $descricao_status = "";
     $descricao_situacoes = "";
     $descricao_formacao = "";
     $descricao_tipos = "";
     $descricao_estado_civil = "";
     $descricao_motivo_ent = "";
     $descricao_motivo_sai = "";
     $descricao_profissao = "";
     $descricao_grupo = "";
     $descricao_nivel1 = "";
     $descricao_nivel2 = "";
     $descricao_nivel3 = "";
     $descricao_nivel4 = "";
     $descricao_nivel5 = "";
     $descricao_idiomas = "";
     $descricao_graus = "";
     $descricao_ramos = "";
     $descricao_cargos = "";
     $descricao_disponibilidade = "";
     $descricao_religiao = "";
     $descricao_dons = "";
     $descricao_habilidade = "";
     $descricao_atividade = "";
     $descricao_ministerio = "";
     if ($input["situacoes"] != "") {
         $descricao_situacoes = explode("|", $input["situacoes"]);
     }
     if ($input["estadoscivis"] != "") {
         $descricao_estado_civil = explode("|", $input["estadoscivis"]);
     }
     if ($input["tipos"] != "") {
         $descricao_tipos = explode("|", $input["tipos"]);
     }
     if ($input["status_id"] != "") {
         $descricao_status = explode("|", $input["status_id"]);
     }
     if ($input["idiomas_id"] != "") {
         $descricao_idiomas = explode("|", $input["idiomas_id"]);
     }
     if ($input["formacoes_id"] != "") {
         $descricao_formacao = explode("|", $input["formacoes_id"]);
     }
     if ($input["profissoes_id"] != "") {
         $descricao_profissao = explode("|", $input["profissoes_id"]);
     }
     if ($input["religioes_id"] != "") {
         $descricao_religiao = explode("|", $input["religioes_id"]);
     }
     if ($input["ramos_id"] != "") {
         $descricao_ramos = explode("|", $input["ramos_id"]);
     }
     if ($input["cargos_id"] != "") {
         $descricao_cargos = explode("|", $input["cargos_id"]);
     }
     if ($input["graus_id"] != "") {
         $descricao_graus = explode("|", $input["graus_id"]);
     }
     if ($input["habilidades_id"] != "") {
         $descricao_habilidade = explode("|", $input["habilidades_id"]);
     }
     if ($input["ministerios_id"] != "") {
         $descricao_ministerio = explode("|", $input["ministerios_id"]);
     }
     if ($input["dons_id"] != "") {
         $descricao_don = explode("|", $input["dons_id"]);
     }
     if ($input["atividades_id"] != "") {
         $descricao_atividade = explode("|", $input["atividades_id"]);
     }
     if ($input["disponibilidades_id"] != "") {
         $descricao_disponibilidade = explode("|", $input["disponibilidades_id"]);
     }
     if ($input["motivoentrada"] != "") {
         $descricao_motivo_ent = explode("|", $input["motivoentrada"]);
     }
     if ($input["motivosaida"] != "") {
         $descricao_motivo_sai = explode("|", $input["motivosaida"]);
     }
     if ($input["grupo"] != "") {
         $descricao_grupo = explode("|", $input["grupo"]);
     }
     if ($input["nivel1_up"] != "") {
         $descricao_nivel1 = explode("|", $input["nivel1_up"]);
     }
     if ($input["nivel2_up"] != "") {
         $descricao_nivel2 = explode("|", $input["nivel2_up"]);
     }
     if ($input["nivel3_up"] != "") {
         $descricao_nivel3 = explode("|", $input["nivel3_up"]);
     }
     if ($input["nivel4_up"] != "") {
         $descricao_nivel4 = explode("|", $input["nivel4_up"]);
     }
     if ($input["nivel5_up"] != "") {
         $descricao_nivel5 = explode("|", $input["nivel5_up"]);
     }
     $sWhere = "";
     $sFiltrosUtilizados = "";
     $filtros = array();
     /*CRIA ARRAY PARA GUARDAR FILTROS UTILIZADOS PARA PESQUISA*/
     $sWhere = " WHERE p.empresas_id = " . $this->dados_login->empresas_id . "  and p.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . "  ";
     //SE FOR RELATORIO PARA LISTAGEM DE EMAILS, FILTRAR SOMENTE COM EMAIL CADASTRADO
     if ($input["resultado"] == "email") {
         $sWhere .= " and (emailprincipal is not null and emailprincipal<> '') ";
     }
     /*Filtros utilizados*/
     if ($input["possui_necessidades_especiais"] != "") {
         $filtros = array_add($filtros, '1', ['find' => ['possui_necessidades_especiais' => $input["possui_necessidades_especiais"] == "true" ? "true" : "false"], 'label' => ['Possui Necessidades Especiais' => $input["possui_necessidades_especiais"] == "true" ? "Sim" : "Nao"]]);
     }
     if ($input["doador_orgaos"] != "") {
         $filtros = array_add($filtros, '2', ['find' => ['doador_orgaos' => $input["doador_orgaos"] == "1" ? "true" : "false"], 'label' => ['Doador Orgãos' => $input["doador_orgaos"] == "1" ? "Sim" : "Não"]]);
     }
     if ($input["doador_sangue"] != "") {
         $filtros = array_add($filtros, '3', ['find' => ['doador_sangue' => $input["doador_sangue"] == "true" ? "true" : "false"], 'label' => ['Doador Sangue' => $input["doador_sangue"] == "true" ? "Sim" : "Não"]]);
     }
     if ($input["status"] != "") {
         $filtros = array_add($filtros, '4', ['find' => ['ativo' => $input["status"] == "S" ? "'S'" : "'N'"], 'label' => ['Status Cadastro' => $input["status"] == "S" ? "Ativo" : "Inativo"]]);
     }
     if ($input["graus_id"] != "") {
         $filtros = array_add($filtros, '5', ['find' => ['graus_id' => $descricao_graus[0]], 'label' => ['Grau de Instrução' => $descricao_graus[1]]]);
     }
     if ($input["formacoes_id"] != "") {
         $filtros = array_add($filtros, '6', ['find' => ['formacoes_id' => $descricao_formacao[0]], 'label' => ['Area de Formação' => $descricao_formacao[1]]]);
     }
     if ($input["profissoes_id"] != "") {
         $filtros = array_add($filtros, '7', ['find' => ['mprof.profissoes_id' => $descricao_profissao[0]], 'label' => ['Profissão' => $descricao_profissao[1]]]);
     }
     if ($input["ramos_id"] != "") {
         $filtros = array_add($filtros, '8', ['find' => ['ramos_id' => $descricao_ramos[0]], 'label' => ['Ramo de Atividade' => $descricao_ramos[1]]]);
     }
     if ($input["cargos_id"] != "") {
         $filtros = array_add($filtros, '9', ['find' => ['cargos_id' => $descricao_cargos[0]], 'label' => ['Cargo' => $descricao_cargos[1]]]);
     }
     if ($input["disponibilidades_id"] != "") {
         $filtros = array_add($filtros, '10', ['find' => ['disponibilidades_id' => $descricao_disponibilidade[0]], 'label' => ['Disponibilidade' => $descricao_disponibilidade[1]]]);
     }
     if ($input["tipo_sangue"] != "") {
         $filtros = array_add($filtros, '11', ['find' => ['grupo_sanguinio' => "'" . strtoupper($input["tipo_sangue"]) . "'"], 'label' => ['Tipo Sanguineo' => strtoupper($input["tipo_sangue"])]]);
     }
     if ($input["religioes_id"] != "") {
         $filtros = array_add($filtros, '12', ['find' => ['religioes_id' => $descricao_religiao[0]], 'label' => ['Religião' => $descricao_religiao[1]]]);
     }
     if ($input["dons_id"] != "") {
         $filtros = array_add($filtros, '13', ['find' => ['dons_id' => $descricao_don[0]], 'label' => ['Don' => $descricao_don[1]]]);
     }
     if ($input["habilidades_id"] != "") {
         $filtros = array_add($filtros, '14', ['find' => ['habilidades_id' => $descricao_habilidade[0]], 'label' => ['Habilidade' => $descricao_habilidade[1]]]);
     }
     if ($input["atividades_id"] != "") {
         $filtros = array_add($filtros, '15', ['find' => ['atividades_id' => $descricao_atividade[0]], 'label' => ['Atividade' => $descricao_atividade[1]]]);
     }
     if ($input["ministerios_id"] != "") {
         $filtros = array_add($filtros, '16', ['find' => ['ministerios_id' => $descricao_ministerio[0]], 'label' => ['Ministério' => $descricao_ministerio[1]]]);
     }
     if ($input["idiomas_id"] != "") {
         $filtros = array_add($filtros, '17', ['find' => ['mi.idiomas_id' => $descricao_idiomas[0]], 'label' => ['Idioma' => $descricao_idiomas[1]]]);
     }
     if ($input["mes"] != "") {
         $filtros = array_add($filtros, '18', ['find' => ["date_part('month', p.datanasc)" => "'" . $input["mes"] . "'"], 'label' => ['Mês Aniversário' => $input["mes"]]]);
     }
     /*
     if ($input["ano_inicial"]!="" && $input["ano_final"]!="" )
     {
         $filtros = array_add($filtros, '19',
             [
                 'find' =>['to_char(p.datanasc, "YYYY")>='=>"'" . $input["ano_inicial"] . "'"] ,
                 'label' =>['Ano Inicial'=>$input["ano_inicial"]]
             ]);
     
         $filtros = array_add($filtros, '20',
             [
                 'find' =>['to_char(p.datanasc, "YYYY")<='=> "'" . $input["ano_final"] . "'"] ,
                 'label' =>['Ano Final'=>$input["ano_final"]]
             ]);
     }
     */
     if ($input["sexo"] != "") {
         $filtros = array_add($filtros, '21', ['find' => ['sexo' => "'" . $input["sexo"] . "'"], 'label' => ['Sexo' => $input["sexo"]]]);
     }
     if ($descricao_estado_civil != "") {
         $filtros = array_add($filtros, '22', ['find' => ['estadoscivis_id' => $descricao_estado_civil[0]], 'label' => ['Estado Civil' => $descricao_estado_civil[1]]]);
     }
     if ($descricao_grupo != "") {
         $filtros = array_add($filtros, '23', ['find' => ['grupos_pessoas_id' => $descricao_grupo[0]], 'label' => ['Grupo' => $descricao_grupo[1]]]);
     }
     if ($descricao_situacoes != "") {
         $filtros = array_add($filtros, '24', ['find' => ['situacoes_id' => $descricao_situacoes[0]], 'label' => ['Situação' => $descricao_situacoes[1]]]);
     }
     if ($descricao_tipos != "") {
         $filtros = array_add($filtros, '25', ['find' => ['tipos_pessoas_id' => $descricao_tipos[0]], 'label' => ['Tipo Pessoa' => $descricao_tipos[1]]]);
     }
     if ($descricao_status != "") {
         $filtros = array_add($filtros, '26', ['find' => ['mp.status_id' => $descricao_status[0]], 'label' => ['Status' => $descricao_status[1]]]);
     }
     if ($descricao_motivo_ent != "") {
         $filtros = array_add($filtros, '27', ['find' => ['motivos_entrada_id' => $descricao_motivo_ent[0]], 'label' => ['Motivo Entrada' => $descricao_motivo_ent[1]]]);
     }
     if ($descricao_motivo_sai != "") {
         $filtros = array_add($filtros, '28', ['find' => ['motivos_saida_id' => $descricao_motivo_sai[0]], 'label' => ['Motivo Saída' => $descricao_motivo_sai[1]]]);
     }
     if ($input["data_entrada"] != "") {
         $filtros = array_add($filtros, '29', ['find' => ['data_entrada>=' => "'" . $formatador->FormatarData($input["data_entrada"]) . "'"], 'label' => ['Dt. Entrada Inicial' => $input["data_entrada"]]]);
         $filtros = array_add($filtros, '30', ['find' => ['data_entrada<=' => "'" . $formatador->FormatarData($input["data_entrada_ate"]) . "'"], 'label' => ['Dt. Entrada Final' => $input["data_entrada_ate"]]]);
     }
     if ($input["data_saida"] != "") {
         $filtros = array_add($filtros, '31', ['find' => ['data_saida>=' => "'" . $formatador->FormatarData($input["data_saida"]) . "'"], 'label' => ['Dt. Saída Inicial' => $input["data_saida"]]]);
         $filtros = array_add($filtros, '32', ['find' => ['data_saida<=' => "'" . $formatador->FormatarData($input["data_saida_ate"]) . "'"], 'label' => ['Dt. Saída Final' => $input["data_saida_ate"]]]);
     }
     if ($input["data_batismo"] != "") {
         $filtros = array_add($filtros, '33', ['find' => ['data_batismo>=' => "'" . $formatador->FormatarData($input["data_batismo"]) . "'"], 'label' => ['Dt. Batismo Inicial' => $input["data_batismo"]]]);
         $filtros = array_add($filtros, '34', ['find' => ['data_batismo<=' => "'" . $formatador->FormatarData($input["data_batismo_ate"]) . "'"], 'label' => ['Dt. Batismo Final' => $input["data_batismo_ate"]]]);
     }
     if ($input["data_casamento"] != "") {
         //if ($input["ordem"]!="razaosocial" || $input["mes"]!="" || $input["ano_inicial"]!="" || $input["ano_final"]!="")
         //{
         //nothing
         //}
         //else
         //{
         $filtros = array_add($filtros, '35', ['find' => ['data_casamento>=' => "'" . $formatador->FormatarData($input["data_casamento"]) . "'"], 'label' => ['Dt. Casamento Inicial' => $input["data_casamento"]]]);
         $filtros = array_add($filtros, '35', ['find' => ['data_casamento<=' => "'" . $formatador->FormatarData($input["data_casamento_ate"]) . "'"], 'label' => ['Dt. Casamento Final' => $input["data_casamento_ate"]]]);
         //}
     }
     if ($input["nivel1_up"] != "0") {
         $filtros = array_add($filtros, '36', ['find' => ['celulas_nivel1_id' => $descricao_nivel1[0]], 'label' => \Session::get("nivel1") . ' - ' . $descricao_nivel1[1]]);
     }
     if ($input["nivel2_up"] != "0") {
         $filtros = array_add($filtros, '37', ['find' => ['celulas_nivel2_id' => $descricao_nivel2[0]], 'label' => \Session::get("nivel2") . ' - ' . $descricao_nivel2[1]]);
     }
     if ($input["nivel3_up"] != "0") {
         $filtros = array_add($filtros, '38', ['find' => ['celulas_nivel3_id' => $descricao_nivel3[0]], 'label' => \Session::get("nivel3") . ' - ' . $descricao_nivel3[1]]);
     }
     if ($input["nivel4_up"] != "0") {
         $filtros = array_add($filtros, '39', ['find' => ['celulas_nivel4_id' => $descricao_nivel4[0]], 'label' => \Session::get("nivel4") . ' - ' . $descricao_nivel4[1]]);
     }
     if ($input["nivel5_up"] != "0") {
         $filtros = array_add($filtros, '40', ['find' => ['celulas_nivel5_id' => $descricao_nivel5[0]], 'label' => \Session::get("nivel5") . ' - ' . $descricao_nivel5[1]]);
     }
     //QUANDO PESQUISAR E RESULTADO FOR CELULAR,  EMAIL OU PESQUISA NA TELA
     if ($input["resultado"] == "email" || $input["resultado"] == "celular" || $input["resultado"] == "html") {
         //Se for SMS, verifica se foi contratado o servico
         if ($input["resultado"] == "celular") {
             $parametros = \App\Models\parametros::where(['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id])->get();
             if ($parametros->count() <= 0) {
                 \Session::flash('flash_message_erro', 'Não foi configurado o serviço de envio. Acesse o menu Configurações / Config SMS/Whatsapp');
                 return redirect($this->rota);
             }
         }
         $strSql = " SELECT DISTINCT ";
         $strSql .= " p.id,  p.tipos_pessoas_id,  p.razaosocial, ";
         $strSql .= " to_char(p.datanasc::timestamp with time zone, 'MM'::text) AS mes, ";
         $strSql .= " to_char(p.datanasc::timestamp with time zone, 'YYYY'::text) AS ano, ";
         $strSql .= " date_part('day'::text, p.datanasc) AS dia, ";
         $strSql .= " to_char(date_part('years'::text, age(now(), p.datanasc::timestamp with time zone)), '9999'::text) AS idade, ";
         $strSql .= " p.nomefantasia,  p.fone_principal,  p.fone_celular,  p.emailprincipal,  p.ativo,  p.datanasc ";
         $strSql .= " FROM pessoas p ";
         $strSql .= "   LEFT JOIN membros_dados_pessoais mp ON mp.pessoas_id = p.id AND mp.empresas_id = p.empresas_id AND mp.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id ";
         $strSql .= "   LEFT JOIN celulas_pessoas cp ON cp.pessoas_id = p.id AND cp.empresas_id = p.empresas_id AND cp.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN celulas c ON cp.celulas_id = c.id AND cp.empresas_id = c.empresas_id AND cp.empresas_clientes_cloud_id = c.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_historicos mh ON mh.pessoas_id = p.id AND mh.empresas_id = p.empresas_id AND mh.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_formacoes mf ON mf.pessoas_id = p.id AND mf.empresas_id = p.empresas_id AND mf.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_familiares mfa ON mfa.pessoas_id = p.id AND mfa.empresas_id = p.empresas_id AND mfa.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_profissionais mprof ON mprof.pessoas_id = p.id AND mprof.empresas_id = p.empresas_id AND mprof.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_ministerios mm ON mm.pessoas_id = p.id AND mm.empresas_id = p.empresas_id AND mm.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_situacoes ms ON ms.pessoas_id = p.id AND ms.empresas_id = p.empresas_id AND ms.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_dons md ON md.pessoas_id = p.id AND md.empresas_id = p.empresas_id AND md.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_atividades ma ON ma.pessoas_id = p.id AND ma.empresas_id = p.empresas_id AND ma.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_habilidades mhab ON mhab.pessoas_id = p.id AND mhab.empresas_id = p.empresas_id AND mhab.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $strSql .= "   LEFT JOIN membros_idiomas mi ON mi.pessoas_id = p.id AND mi.empresas_id = p.empresas_id AND mi.empresas_clientes_cloud_id = p.empresas_clientes_cloud_id";
         $sFiltrosUtilizados = "<table class='table table-responsive table-hover'>";
         $sFiltrosUtilizados .= '<tr>';
         $iCol = 0;
         //PERCORRE ARRAY COM TODOS OS FILTROS INFORMADOS
         foreach ($filtros as $section => $items) {
             foreach ($items as $key => $value) {
                 // check whether the current item is an array!
                 if (is_array($value)) {
                     if ($key == "find") {
                         foreach ($value as $subKey => $subValue) {
                             if (preg_match("/>=/", $subKey) == 1 || preg_match("/<=/", $subKey) == 1) {
                                 $sWhere .= ' And ' . $subKey . $subValue;
                             } else {
                                 $sWhere .= ' And ' . $subKey . ' = ' . $subValue;
                             }
                         }
                     }
                     if ($key == "label") {
                         foreach ($value as $subKey => $subValue) {
                             if ($iCol == 4) {
                                 $sFiltrosUtilizados .= '</tr><tr>';
                                 $iCol = 0;
                             }
                             $sFiltrosUtilizados .= '<td>' . $subKey . ' : <b>' . $subValue . '</b></td>';
                             $iCol++;
                             //CONTA COLUNAS TABLE
                         }
                     }
                 }
             }
         }
         if ($input["ano_inicial"] != "" && $input["ano_final"] != "") {
             $sWhere .= " And to_char(p.datanasc, 'YYYY')>= '" . $input["ano_inicial"] . "'";
             $sWhere .= " And to_char(p.datanasc, 'YYYY')<= '" . $input["ano_final"] . "'";
         }
         $sFiltrosUtilizados .= "</tr></table>";
         //CONCATENA A STRING DA QUERY A CLAUSULA WHERE
         $strSql .= $sWhere;
         $strSql .= " ORDER BY dia, mes, p.razaosocial ";
         $emails = \DB::select($strSql);
         if ($input["resultado"] == "html") {
             return view($this->rota . '.relatorios', ['dados' => $emails, 'filtros' => $sFiltrosUtilizados]);
         } else {
             return view($this->rota . '.listaremails', ['parametros' => isset($parametros) ? $parametros : '', 'emails' => $emails, 'filtros' => $sFiltrosUtilizados, 'resultado' => $input["resultado"]]);
         }
     }
 }
 public function pesquisar(\Illuminate\Http\Request $request)
 {
     /*Pega todos campos enviados no post*/
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     /*------------------------------------------INICIALIZA PARAMETROS JASPER--------------------------------------------------*/
     //Pega dados de conexao com o banco para o JASPER REPORT
     $database = \Config::get('database.connections.jasper_report');
     $ext = $input["resultado"];
     //Tipo saída (PDF, XLS)
     $output = public_path() . '/relatorios/resultados/' . $ext . '/financeiro_' . $this->dados_login->empresas_id . '_' . Auth::user()->id;
     //Path para cada tipo de relatorio
     $path_download = '/relatorios/resultados/' . $ext . '/financeiro_' . $this->dados_login->empresas_id . '_' . Auth::user()->id;
     //Path para cada tipo de relatorio
     /*------------------------------------------INICIALIZA PARAMETROS JASPER--------------------------------------------------*/
     /*Instancia biblioteca de funcoes globais*/
     $formatador = new \App\Functions\FuncoesGerais();
     $filtros = "";
     $descricao_status = "";
     $descricao_centrocusto = "";
     $descricao_planocontas = "";
     $descricao_grupostitulos = "";
     $descricao_contas = "";
     if ($input["contas"] != "") {
         $descricao_contas = explode("|", $input["contas"]);
     }
     if ($input["planos_contas"] != "") {
         $descricao_planocontas = explode("|", $input["planos_contas"]);
     }
     if ($input["centros_custos"] != "") {
         $descricao_centrocusto = explode("|", $input["centros_custos"]);
     }
     if ($input["status_id"] != "") {
         $descricao_status = explode("|", $input["status_id"]);
     }
     if ($input["grupos"] != "") {
         $descricao_grupostitulos = explode("|", $input["grupos"]);
     }
     if ($input["opTipo"] == "P") {
         $filtros .= "   Tipo : Contas a Pagar";
     } else {
         $filtros .= "   Tipo : Contas a Receber";
     }
     if ($input["status_id"] != "T") {
         $filtros .= "   Status : " . ($input["status_id"] == "A" ? "Aberto" : ($input["status_id"] == "B" ? "Baixado" : "Ambos"));
     }
     if ($input["contas"] != "") {
         $filtros .= "   Conta : " . $descricao_contas[1];
     }
     if ($input["centros_custos"] != "") {
         $filtros .= "   Centro de Custo : " . $descricao_centrocusto[1];
     }
     if ($input['fornecedor'] != "") {
         $filtros .= "   Fornecedor/Cliente : " . $input['fornecedor'];
     }
     if ($input["planos_contas"] != "") {
         $filtros .= "   Plano de Contas : " . $descricao_planocontas[1];
     }
     if ($descricao_grupostitulos != "") {
         $filtros .= "   Grupo Titulos : " . $descricao_grupostitulos[1];
     }
     if ($input["data_vencimento"] != "") {
         $filtros .= "   Dt. Vencimento : " . $input["data_vencimento"] . " até " . $input["data_vencimento_ate"];
     }
     if ($input["data_pagamento"] != "") {
         $filtros .= "   Dt. Pagamento : " . $input["data_pagamento"] . " até " . $input["data_pagamento_ate"];
     }
     //Parametros JASPER REPORT
     $parametros = array("empresas_id" => $this->dados_login->empresas_id, "empresas_clientes_cloud_id" => $this->dados_login->empresas_clientes_cloud_id, "tipo" => "'" . $input["opTipo"] . "'", "centros_custos_id" => $descricao_centrocusto == "" ? 0 : $descricao_centrocusto[0], "planos_contas_id" => $descricao_planocontas == "" ? 0 : $descricao_planocontas[0], "grupos_titulos_id" => $descricao_grupostitulos == "" ? 0 : $descricao_grupostitulos[0], "pessoas_id" => $input['fornecedor'] == "" ? 0 : substr($input['fornecedor'], 0, 9), "filtros" => "'" . $filtros . "'", "REPORT_LOCALE" => "pt");
     //Ordem
     if ($input["ordem"] == "razaosocial") {
         $parametros = array_add($parametros, 'ordem', 'razaosocial');
     } else {
         if ($input["ordem"] == "data_vencimento") {
             $parametros = array_add($parametros, 'ordem', 'data_vencimento');
         } else {
             if ($input["ordem"] == "data_pagamento") {
                 $parametros = array_add($parametros, 'ordem', 'data_pagamento');
             } else {
                 if ($input["ordem"] == "descricao") {
                     $parametros = array_add($parametros, 'ordem', 'descricao');
                 }
             }
         }
     }
     //Se status for diferente de ambos
     if ($input["status_id"] != "T") {
         $parametros = array_add($parametros, 'status', $input["status_id"]);
     }
     //Filtra conta corrente
     if ($input["contas"] != "") {
         $parametros = array_add($parametros, 'contas_id', $descricao_contas == "" ? 0 : $descricao_contas[0]);
     }
     //Data de pagamento
     if ($input["data_pagamento"] != "" && $input["data_pagamento_ate"] != "") {
         $parametros = array_add($parametros, 'data_pagamento_inicial', $input["data_pagamento"] == "" ? '' : $formatador->FormatarData($input["data_pagamento"]));
         $parametros = array_add($parametros, 'data_pagamento_final', $input["data_pagamento_ate"] == "" ? '' : $formatador->FormatarData($input["data_pagamento_ate"]));
     }
     //Data de vencimento
     if ($input["data_vencimento"] != "" && $input["data_vencimento_ate"] != "") {
         $parametros = array_add($parametros, 'data_vencimento_inicial', $input["data_vencimento"] == "" ? '' : $formatador->FormatarData($input["data_vencimento"]));
         $parametros = array_add($parametros, 'data_vencimento_final', $input["data_vencimento_ate"] == "" ? '' : $formatador->FormatarData($input["data_vencimento_ate"]));
     }
     //Path relatorio
     $nome_relatorio = public_path() . '/relatorios/listagem_titulos_agrupado.jasper';
     \JasperPHP::process($nome_relatorio, $output, array($ext), $parametros, $database, false, false)->execute();
     $Mensagem = "";
     if (filesize($output . '.' . $ext) <= 1000) {
         $Mensagem = "Nenhum Registro Encontrado";
         return $this->CarregarView('', $Mensagem);
     } else {
         if ($ext == "pdf") {
             header('Content-Description: File Transfer');
             header('Content-Type: application/pdf');
             header('Content-Disposition: inline; filename=' . $output . ' . ' . $ext . '');
             //header('Content-Transfer-Encoding: binary');
             header('Expires: 0');
             header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
             header('Content-Length: ' . filesize($output . '.' . $ext));
             flush();
             readfile($output . '.' . $ext);
             unlink($output . '.' . $ext);
         } else {
             return $this->CarregarView($path_download . '.' . $ext, $Mensagem);
         }
     }
 }
Ejemplo n.º 8
0
 public function pesquisar(\Illuminate\Http\Request $request, $tipo_relatorio)
 {
     /*Pega todos campos enviados no post*/
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     /*------------------------------------------INICIALIZA PARAMETROS JASPER--------------------------------------------------*/
     //Pega dados de conexao com o banco para o JASPER REPORT
     $database = \Config::get('database.connections.jasper_report');
     $ext = $input["resultado"];
     //Tipo saída (PDF, XLS)
     $output = public_path() . '/relatorios/resultados/' . $ext . '/celulas_' . $this->dados_login->empresas_id . '_' . Auth::user()->id;
     //Path para cada tipo de relatorio
     $path_download = '/relatorios/resultados/' . $ext . '/celulas_' . $this->dados_login->empresas_id . '_' . Auth::user()->id;
     //Path para cada tipo de relatorio
     /*------------------------------------------INICIALIZA PARAMETROS JASPER--------------------------------------------------*/
     /*Instancia biblioteca de funcoes globais*/
     $formatador = new \App\Functions\FuncoesGerais();
     $filtros = "";
     $descricao_lider = "";
     $descricao_curso = "";
     $descricao_nivel1 = "";
     $descricao_nivel2 = "";
     $descricao_nivel3 = "";
     $descricao_nivel4 = "";
     $descricao_nivel5 = "";
     if (isset($input["nivel1_up"])) {
         if ($input["nivel1_up"] != "") {
             $descricao_nivel1 = explode("|", $input["nivel1_up"]);
         }
     }
     if (isset($input["nivel2_up"])) {
         if ($input["nivel2_up"] != "") {
             $descricao_nivel2 = explode("|", $input["nivel2_up"]);
         }
     }
     if (isset($input["nivel3_up"])) {
         if ($input["nivel3_up"] != "") {
             $descricao_nivel3 = explode("|", $input["nivel3_up"]);
         }
     }
     if (isset($input["nivel4_up"])) {
         if ($input["nivel4_up"] != "") {
             $descricao_nivel4 = explode("|", $input["nivel4_up"]);
         }
     }
     if (isset($input["nivel5_up"])) {
         if ($input["nivel5_up"] != "") {
             $descricao_nivel5 = explode("|", $input["nivel5_up"]);
         }
     }
     if (isset($input["nivel1_up"])) {
         if ($input["nivel1_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel1') . " : " . $descricao_nivel1[1];
         }
     }
     if (isset($input["nivel2_up"])) {
         if ($input["nivel2_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel2') . " : " . $descricao_nivel2[1];
         }
     }
     if (isset($input["nivel3_up"])) {
         if ($input["nivel3_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel3') . " : " . $descricao_nivel3[1];
         }
     }
     if (isset($input["nivel4_up"])) {
         if ($input["nivel4_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel4') . " : " . $descricao_nivel4[1];
         }
     }
     if (isset($input["nivel5_up"])) {
         if ($input["nivel5_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel5') . " : " . $descricao_nivel5[1];
         }
     }
     //make where clausure for query in jasper report
     //for report (encontro), set alias from field empresas_id (celulas.empresas_id)
     $sWhere = " c.empresas_id = " . $this->dados_login->empresas_id . " and c.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . "";
     //parameters fields to jasper report
     $parametros = array();
     if (isset($input["lideres"])) {
         if ($input["lideres"] != "") {
             $descricao_lider = explode("|", $input["lideres"]);
         }
         if ($descricao_lider[0] != "0") {
             $filtros .= "     Celula : " . $descricao_lider[1];
             $sWhere .= " and cel.lider_pessoas_id = " . $descricao_lider[0];
         }
     }
     if (isset($input["curso"])) {
         if ($input["curso"] != "") {
             $descricao_curso = explode("|", $input["curso"]);
             $filtros .= "     Curso / Evento : " . $descricao_curso[1];
             $sWhere .= " and cursos_id = " . $descricao_curso[0];
         }
     }
     if (isset($input["ministrante"])) {
         if ($input["ministrante"] != "") {
             $filtros .= "     Ministrante : " . $input["ministrante"];
             $sWhere .= " and ministrante_id = " . substr($input['ministrante'], 0, 9);
         }
     }
     if (isset($input["participante"])) {
         if ($input["participante"] != "") {
             $filtros .= "     Pessoa : " . $input["participante"];
             $sWhere .= " and cp.pessoas_id = " . substr($input['participante'], 0, 9);
         }
     }
     if (isset($input["data_inicio"])) {
         if (trim($input["data_inicio"]) != "") {
             $parametros = array_add($parametros, 'data_inicio', $formatador->FormatarData($input["data_inicio"]));
             $filtros .= "     Data Inicial : " . $input["data_inicio"];
         }
     }
     if (isset($input["data_fim"])) {
         if (trim($input["data_fim"]) != "") {
             $filtros .= "     Data Final : " . $input["data_fim"];
             $parametros = array_add($parametros, 'data_fim', $formatador->FormatarData($input["data_fim"]));
         }
     }
     if ($descricao_nivel1 != "" && $descricao_nivel1[0] != "0") {
         $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel1_id = " . $descricao_nivel1[0];
     }
     if ($descricao_nivel2 != "" && $descricao_nivel2[0] != "0") {
         $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel2_id = " . $descricao_nivel2[0];
     }
     if ($descricao_nivel3 != "" && $descricao_nivel3[0] != "0") {
         $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel3_id = " . $descricao_nivel3[0];
     }
     if ($descricao_nivel4 != "" && $descricao_nivel4[0] != "0") {
         $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel4_id = " . $descricao_nivel4[0];
     }
     if ($descricao_nivel5 != "" && $descricao_nivel5[0] != "0") {
         $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel5_id = " . $descricao_nivel5[0];
     }
     //Selecionar tipo de relatorio
     if ($input["tipo"] == "1") {
         $nome_relatorio = public_path() . '/relatorios/relatorio_pessoa_cursos.jasper';
     } else {
         if ($input["tipo"] == "2") {
             $nome_relatorio = public_path() . '/relatorios/relatorio_cursos_pessoas.jasper';
         } else {
             if ($input["tipo"] == "3") {
                 $nome_relatorio = public_path() . '/relatorios/relatorio_cursos_datas.jasper';
             }
         }
     }
     //set parameter sWhere for query in report
     $parametros = array_add($parametros, 'sWhere', "'" . $sWhere . "'");
     $parametros = array_add($parametros, 'filtros', "'" . $filtros . "'");
     //echo $nome_relatorio;
     //dd($parametros);
     \JasperPHP::process($nome_relatorio, $output, array($ext), $parametros, $database, false, false)->execute();
     $Mensagem = "";
     if (filesize($output . '.' . $ext) <= 1000) {
         $Mensagem = "Nenhum Registro Encontrado";
         if ($tipo_relatorio == "celulas") {
             return $this->CarregarView('', $Mensagem);
         } else {
             header('Content-Description: File Transfer');
             header('Content-Type: application/pdf');
             header('Content-Disposition: inline; filename=' . $output . ' . ' . $ext . '');
             header('Expires: 0');
             header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
             header('Content-Length: ' . filesize($output . '.' . $ext));
             flush();
             readfile($output . '.' . $ext);
             unlink($output . '.' . $ext);
         }
     } else {
         if ($ext == "pdf") {
             header('Content-Description: File Transfer');
             header('Content-Type: application/pdf');
             header('Content-Disposition: inline; filename=' . $output . ' . ' . $ext . '');
             header('Expires: 0');
             header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
             header('Content-Length: ' . filesize($output . '.' . $ext));
             flush();
             readfile($output . '.' . $ext);
             unlink($output . '.' . $ext);
         } else {
             return $this->CarregarView($path_download . '.' . $ext, $Mensagem);
         }
     }
 }
 public function pesquisar(\Illuminate\Http\Request $request, $tipo_relatorio)
 {
     /*Pega todos campos enviados no post*/
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     /*------------------------------------------INICIALIZA PARAMETROS JASPER--------------------------------------------------*/
     //Pega dados de conexao com o banco para o JASPER REPORT
     $database = \Config::get('database.connections.jasper_report');
     $ext = $input["resultado"];
     //Tipo saída (PDF, XLS)
     $output = public_path() . '/relatorios/resultados/' . $ext . '/celulas_' . $this->dados_login->empresas_id . '_' . Auth::user()->id;
     //Path para cada tipo de relatorio
     $path_download = '/relatorios/resultados/' . $ext . '/celulas_' . $this->dados_login->empresas_id . '_' . Auth::user()->id;
     //Path para cada tipo de relatorio
     /*------------------------------------------INICIALIZA PARAMETROS JASPER--------------------------------------------------*/
     $filtros = "";
     $descricao_publico_alvo = "";
     $descricao_faixa_etaria = "";
     $descricao_lider = "";
     $descricao_vice_lider = "";
     $descricao_nivel1 = "";
     $descricao_nivel2 = "";
     $descricao_nivel3 = "";
     $descricao_nivel4 = "";
     $descricao_nivel5 = "";
     $descricao_motivo = "";
     if (isset($input["data_movimentacao"])) {
         if ($input["data_movimentacao"] != "") {
             $filtros .= "     Data Mov. Inicial : " . $input["data_movimentacao"];
         }
     }
     if (isset($input["data_movimentacao_ate"])) {
         if ($input["data_movimentacao_ate"] != "") {
             $filtros .= "     Data Mov. Final : " . $input["data_movimentacao_ate"];
         }
     }
     if (isset($input["motivos"])) {
         if ($input["motivos"] != "") {
             $descricao_motivo = explode("|", $input["motivos"]);
         }
     }
     if (isset($input["publico_alvo"])) {
         if ($input["publico_alvo"] != "") {
             $descricao_publico_alvo = explode("|", $input["publico_alvo"]);
         }
         if ($descricao_publico_alvo[0] != "0") {
             $filtros .= "     Publico Alvo : " . $descricao_publico_alvo[1];
         }
     }
     if (isset($input["faixa_etaria"])) {
         if ($input["faixa_etaria"] != "") {
             $descricao_faixa_etaria = explode("|", $input["faixa_etaria"]);
         }
         if ($descricao_faixa_etaria[0] != "0") {
             $filtros .= "     Faixa Etaria : " . $descricao_faixa_etaria[1];
         }
     }
     if (isset($input["lideres"])) {
         if ($input["lideres"] != "") {
             $descricao_lider = explode("|", $input["lideres"]);
         }
         if ($descricao_lider[0] != "0") {
             if ($tipo_relatorio == "movimentacoes") {
                 $filtros .= "     Celula Anterior : " . $descricao_lider[1];
             } else {
                 $filtros .= "     Lider : " . $descricao_lider[1];
             }
         }
     }
     if (isset($input["vice_lider"])) {
         if ($input["vice_lider"] != "") {
             $descricao_vice_lider = explode("|", $input["vice_lider"]);
         }
         if ($descricao_vice_lider[0] != "0") {
             if ($tipo_relatorio == "movimentacoes") {
                 $filtros .= "     Nova Celula : " . $descricao_vice_lider[1];
             } else {
                 $filtros .= "     Lider em Treinamento: " . $descricao_vice_lider[1];
             }
         }
     }
     if (isset($input["nivel1_up"])) {
         if ($input["nivel1_up"] != "") {
             $descricao_nivel1 = explode("|", $input["nivel1_up"]);
         }
     }
     if (isset($input["nivel2_up"])) {
         if ($input["nivel2_up"] != "") {
             $descricao_nivel2 = explode("|", $input["nivel2_up"]);
         }
     }
     if (isset($input["nivel3_up"])) {
         if ($input["nivel3_up"] != "") {
             $descricao_nivel3 = explode("|", $input["nivel3_up"]);
         }
     }
     if (isset($input["nivel4_up"])) {
         if ($input["nivel4_up"] != "") {
             $descricao_nivel4 = explode("|", $input["nivel4_up"]);
         }
     }
     if (isset($input["nivel5_up"])) {
         if ($input["nivel5_up"] != "") {
             $descricao_nivel5 = explode("|", $input["nivel5_up"]);
         }
     }
     $sDiaEncontro = "";
     if (isset($input["dia_encontro"])) {
         switch ($input["dia_encontro"]) {
             case '1':
                 $sDiaEncontro = "Segunda-Feira";
                 break;
             case '2':
                 $sDiaEncontro = "Terca-Feira";
                 break;
             case '3':
                 $sDiaEncontro = "Quarta-Feira";
                 break;
             case '4':
                 $sDiaEncontro = "Quinta-Feira";
                 break;
             case '5':
                 $sDiaEncontro = "Sexta-Feira";
                 break;
             case '6':
                 $sDiaEncontro = "Sabado";
                 break;
             case '0':
                 $sDiaEncontro = "Domingo";
                 break;
             default:
                 $sDiaEncontro = "";
                 break;
         }
     }
     /*Instancia biblioteca de funcoes globais*/
     $formatador = new \App\Functions\FuncoesGerais();
     if ($tipo_relatorio == "celulas") {
         if ($input["dia_encontro"] != "") {
             $filtros .= "      Dia Encontro : " . $sDiaEncontro;
         }
         if ($input["turno"] != "") {
             $filtros .= "         Turno : " . $input["turno"];
         }
         if ($input["segundo_dia_encontro"] != "") {
             $filtros .= "      Segundo dia encontro : " . $input["segundo_dia_encontro"];
         }
     } else {
         if ($tipo_relatorio == "encontro") {
             $filtros .= "     Mes : " . $input["mes"];
             $filtros .= "     Ano : " . $input["ano"];
         }
     }
     if (isset($input["qtd_inicial"])) {
         if ($input["qtd_inicial"] != "") {
             $filtros .= "        Qtd. Multiplicacoes Inicial : " . $input["qtd_inicial"];
         }
     }
     if (isset($input["qtd_final"])) {
         if ($input["qtd_final"] != "") {
             $filtros .= "        Qtd. Multiplicacoes Final : " . $input["qtd_final"];
         }
     }
     if (isset($input["regiao"])) {
         if ($input["regiao"] != "") {
             $filtros .= "        Regiao : " . $input["regiao"];
         }
     }
     if (isset($input["nivel1_up"])) {
         if ($input["nivel1_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel1') . " : " . $descricao_nivel1[1];
         }
     }
     if (isset($input["nivel2_up"])) {
         if ($input["nivel2_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel2') . " : " . $descricao_nivel2[1];
         }
     }
     if (isset($input["nivel3_up"])) {
         if ($input["nivel3_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel3') . " : " . $descricao_nivel3[1];
         }
     }
     if (isset($input["nivel4_up"])) {
         if ($input["nivel4_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel4') . " : " . $descricao_nivel4[1];
         }
     }
     if (isset($input["nivel5_up"])) {
         if ($input["nivel5_up"] != "0") {
             $filtros .= "        " . \Session::get('nivel5') . " : " . $descricao_nivel5[1];
         }
     }
     //make where clausure for query in jasper report
     //for report (encontro), set alias from field empresas_id (celulas.empresas_id)
     if ($tipo_relatorio == "encontro") {
         $sWhere = " celulas.empresas_id = " . $this->dados_login->empresas_id . " and celulas.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . "";
     } else {
         $sWhere = " empresas_id = " . $this->dados_login->empresas_id . " and empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . "";
     }
     //parameters fields to jasper report
     $parametros = array("empresas_id" => $this->dados_login->empresas_id, "empresas_clientes_cloud_id" => $this->dados_login->empresas_clientes_cloud_id, "filtros" => "'" . $filtros . "'");
     if (isset($input["data_movimentacao"])) {
         $parametros = array_add($parametros, 'data_mov_inicial', $formatador->FormatarData($input["data_movimentacao"]));
     }
     if (isset($input["data_movimentacao_ate"])) {
         $parametros = array_add($parametros, 'data_mov_final', $formatador->FormatarData($input["data_movimentacao_ate"]));
     }
     if (isset($input["motivos"])) {
         if ($input["motivos"] != "") {
             $parametros = array_add($parametros, 'motivos_id', $descricao_motivo[0] == "" ? 0 : $descricao_motivo[0]);
         }
     }
     if (isset($input["qtd_inicial"]) && isset($input["qtd_final"])) {
         $parametros = array_add($parametros, 'qtd_inicial', $input["qtd_inicial"] == "" ? 0 : $input["qtd_inicial"]);
         if ($input["qtd_inicial"] != "") {
             $sWhere .= " and qtd_geracao between " . $input["qtd_inicial"] . " and " . $input["qtd_final"];
         }
     }
     if (isset($input["qtd_final"])) {
         $parametros = array_add($parametros, 'qtd_final', $input["qtd_final"] == "" ? 0 : $input["qtd_final"]);
     }
     if (isset($input["publico_alvo"])) {
         if ($input["publico_alvo"] != "0") {
             $parametros = array_add($parametros, 'publico_alvo', $descricao_publico_alvo[0] == "" ? 0 : $descricao_publico_alvo[0]);
             $sWhere .= " and publico_alvo_id = " . $descricao_publico_alvo[0];
         }
     }
     if (isset($input["faixa_etaria"])) {
         if ($input["faixa_etaria"] != "0") {
             $parametros = array_add($parametros, 'faixa_etaria', $descricao_faixa_etaria[0] == "" ? 0 : $descricao_faixa_etaria[0]);
             $sWhere .= " and faixa_etaria_id = " . $descricao_faixa_etaria[0];
         }
     }
     if (isset($input["regiao"])) {
         if ($input["regiao"] != "") {
             $parametros = array_add($parametros, 'regiao', $input["regiao"]);
         }
     }
     if ($tipo_relatorio != "movimentacoes") {
         //PARAMETROS
         $parametros = array_add($parametros, 'nivel1', $descricao_nivel1 == "" ? 0 : $descricao_nivel1[0]);
         if ($descricao_nivel1 != "" && $descricao_nivel1[0] != "0") {
             $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel1_id = " . $descricao_nivel1[0];
         }
         $parametros = array_add($parametros, 'nivel2', $descricao_nivel2 == "" ? 0 : $descricao_nivel2[0]);
         if ($descricao_nivel2 != "" && $descricao_nivel2[0] != "0") {
             $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel2_id = " . $descricao_nivel2[0];
         }
         $parametros = array_add($parametros, 'nivel3', $descricao_nivel3 == "" ? 0 : $descricao_nivel3[0]);
         if ($descricao_nivel3 != "" && $descricao_nivel3[0] != "0") {
             $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel3_id = " . $descricao_nivel3[0];
         }
         $parametros = array_add($parametros, 'nivel4', $descricao_nivel4 == "" ? 0 : $descricao_nivel4[0]);
         if ($descricao_nivel4 != "" && $descricao_nivel4[0] != "0") {
             $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel4_id = " . $descricao_nivel4[0];
         }
         $parametros = array_add($parametros, 'nivel5', $descricao_nivel5 == "" ? 0 : $descricao_nivel5[0]);
         if ($descricao_nivel5 != "" && $descricao_nivel5[0] != "0") {
             $sWhere .= " and " . ($tipo_relatorio == "encontro" ? "celulas." : "") . "celulas_nivel5_id = " . $descricao_nivel5[0];
         }
     }
     if (isset($input["mes"])) {
         if ($input["mes"] != "") {
             $parametros = array_add($parametros, 'mes', $input["mes"]);
             $sWhere .= " and mes = " . $input["mes"];
         }
     }
     if (isset($input["ano"])) {
         if ($input["ano"] != "") {
             $parametros = array_add($parametros, 'ano', $input["ano"]);
             $sWhere .= " and ano = " . $input["ano"];
         }
     }
     if ($tipo_relatorio == "celulas") {
         $parametros = array_add($parametros, 'segundo_dia_encontro', $input["segundo_dia_encontro"]);
         $parametros = array_add($parametros, 'turno', $input["turno"]);
         $parametros = array_add($parametros, 'dia_encontro', $input["dia_encontro"]);
         $parametros = array_add($parametros, 'id', 0);
         if ($input["tipo"] == "S") {
             $parametros = array_add($parametros, 'exibir_dados_lider', 'N');
         }
         if ($input["ckExibirDadosParticipantes"] == "") {
             $parametros = array_add($parametros, 'exibir_dados', 'N');
         }
         if ($descricao_lider[0] != "0") {
             $parametros = array_add($parametros, 'lideres', $descricao_lider[0]);
             $sWhere .= " and lider_pessoas_id = " . $descricao_lider[0];
         }
         if ($descricao_vice_lider[0] != "0") {
             $parametros = array_add($parametros, 'vice_lider', $descricao_vice_lider[0]);
             $sWhere .= " and vicelider_pessoas_id = " . $descricao_vice_lider[0];
         }
         if ($input["ckExibir"]) {
             if ($input["ckEstruturas"]) {
                 $nome_relatorio = public_path() . '/relatorios/listagem_celulas_pessoas_niveis.jasper';
             } else {
                 $nome_relatorio = public_path() . '/relatorios/listagem_celulas_pessoas_analitico.jasper';
             }
         } else {
             if ($input["ckEstruturas"]) {
                 $nome_relatorio = public_path() . '/relatorios/listagem_celulas_sintetico.jasper';
             } else {
                 $nome_relatorio = public_path() . '/relatorios/listagem_celulas.jasper';
             }
         }
     } else {
         if ($tipo_relatorio == "encontro") {
             //show/hiden sub report  cursos/eventos
             if (isset($input["ckExibirCurso"])) {
                 $parametros = array_add($parametros, 'exibir_cursos', $input["ckExibirCurso"] == "on" ? 1 : 0);
             } else {
                 $parametros = array_add($parametros, 'exibir_cursos', 0);
             }
             $parametros = array_add($parametros, 'SUBREPORT_DIR', public_path() . '/relatorios/');
             if ($descricao_lider[0] != "0") {
                 $parametros = array_add($parametros, 'lideres', $descricao_lider[0]);
                 $sWhere .= " and celulas.lider_pessoas_id = " . $descricao_lider[0];
             }
             //se houver logo informada
             if (rtrim(ltrim(\Session::get('logo'))) != "") {
                 $parametros = array_add($parametros, 'path_logo', public_path() . '/images/clients/' . \Session::get('logo'));
             }
             if ($input["ckExibir"] == "on") {
                 $parametros = array_add($parametros, 'exibir_pessoas', 1);
                 //$nome_relatorio = public_path() . '/relatorios/relatorio_encontro.jasper';
             } else {
                 //$nome_relatorio = public_path() . '/relatorios/relatorio_encontro_resumo_geral_lider2.jasper';
                 $parametros = array_add($parametros, 'exibir_pessoas', 0);
             }
             $nome_relatorio = public_path() . '/relatorios/relatorio_encontro.jasper';
         } else {
             if ($tipo_relatorio == "movimentacoes") {
                 $nome_relatorio = public_path() . '/relatorios/movimentacao_membros_niveis.jasper';
                 if ($descricao_lider[0] != "0") {
                     $parametros = array_add($parametros, 'celulas_id_atual', $descricao_lider[0]);
                 }
                 if ($descricao_vice_lider[0] != "0") {
                     $parametros = array_add($parametros, 'celulas_id_nova', $descricao_vice_lider[0]);
                 }
             }
         }
     }
     //set parameter sWhere for query in report
     //print_r($parametros);
     //dd($nome_relatorio);
     $parametros = array_add($parametros, 'sWhere', "'" . $sWhere . "'");
     \JasperPHP::process($nome_relatorio, $output, array($ext), $parametros, $database, false, false)->execute();
     $Mensagem = "";
     //dd($parametros);
     if (filesize($output . '.' . $ext) <= 1000) {
         $Mensagem = "Nenhum Registro Encontrado";
         if ($tipo_relatorio == "celulas") {
             return $this->CarregarView('', $Mensagem);
         } else {
             header('Content-Description: File Transfer');
             header('Content-Type: application/pdf');
             header('Content-Disposition: inline; filename=' . $output . ' . ' . $ext . '');
             header('Expires: 0');
             header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
             header('Content-Length: ' . filesize($output . '.' . $ext));
             flush();
             readfile($output . '.' . $ext);
             unlink($output . '.' . $ext);
         }
     } else {
         if ($ext == "pdf") {
             header('Content-Description: File Transfer');
             header('Content-Type: application/pdf');
             header('Content-Disposition: inline; filename=' . $output . ' . ' . $ext . '');
             header('Expires: 0');
             header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
             header('Content-Length: ' . filesize($output . '.' . $ext));
             flush();
             readfile($output . '.' . $ext);
             unlink($output . '.' . $ext);
         } else {
             return $this->CarregarView($path_download . '.' . $ext, $Mensagem);
         }
     }
 }
Ejemplo n.º 10
0
 /**
  * Show the application dashboard.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(\Illuminate\Http\Request $request)
 {
     //retirado da construct
     //Validação de permissão de acesso a pagina
     //Verificar se foi cadastrado os dados da igreja
     if (usuario::find(Auth::user()->id)) {
         $avisos = '';
         //Busca ID do cliente cloud e ID da empresa
         $this->dados_login = usuario::find(Auth::user()->id);
         /*VALIDAÇÃO PARA LOGIN UNICO.*/
         $log = \App\Models\log_users::find(Auth::user()->id);
         if ($log) {
             \Session::put('ultimo_acesso', $log->data_acesso);
             \Session::put('ip', $log->ip);
             if (\Session::get('token') == "") {
                 $token_acesso = str_random(30);
                 $log->token = $token_acesso;
                 \Session::put('token', $token_acesso);
             } else {
                 if (\Session::get('token') != $log->token) {
                     //dd('já logado :' . \Session::get('token'));
                     return redirect('userlogged')->withErrors(['msg', 'Usuário já logado em outra máquina.']);
                 }
             }
             $log->data_acesso = date('Y-m-d h:i:s');
             $log->ip = $request->ip();
             $log->save();
         } else {
             $token_acesso = str_random(30);
             $log = new \App\Models\log_users();
             $log->id = Auth::user()->id;
             $log->token = $token_acesso;
             $log->data_acesso = date('Y-m-d h:i:s');
             $log->empresas_id = $this->dados_login->empresas_id;
             $log->empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
             $log->ip = $request->ip();
             $log->save();
             \Session::put('token', $token_acesso);
             \Session::put('ultimo_acesso', $log->data_acesso);
             \Session::put('ip', $log->ip);
         }
         \Session::put('titulo', 'Home | Dashboard');
         \Session::put('subtitulo', '');
         \Session::put('route', '');
         \Session::put('dados_login', $this->dados_login);
         \Session::put('tour_rapido', $this->dados_login->tutorial);
         \Session::put('tour_visaogeral', $this->dados_login->tutorial_visaogeral);
         \Session::put('admin', $this->dados_login->admin);
         /*
         Busca Configuracao de labels para menu de estrutura de celulas
         */
         $menu_celulas = \App\Models\configuracoes::where('empresas_id', $this->dados_login->empresas_id)->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
         if ($menu_celulas) {
             \Session::put('nivel1', $menu_celulas[0]->celulas_nivel1_label);
             \Session::put('nivel2', $menu_celulas[0]->celulas_nivel2_label);
             \Session::put('nivel3', $menu_celulas[0]->celulas_nivel3_label);
             \Session::put('nivel4', $menu_celulas[0]->celulas_nivel4_label);
             \Session::put('nivel5', $menu_celulas[0]->celulas_nivel5_label);
             /*Variaveis para configuracoes gerais do sistema*/
             \Session::put('padrao_textos', $menu_celulas[0]->padrao_textos);
             \Session::put('label_celulas', $menu_celulas[0]->label_celulas);
             \Session::put('label_celulas_singular', $menu_celulas[0]->label_celulas_singular);
             \Session::put('label_encontros', $menu_celulas[0]->label_encontros);
             \Session::put('label_encontros_singular', $menu_celulas[0]->label_encontros_singular);
             \Session::put('label_lider_singular', $menu_celulas[0]->label_lider_singular);
             \Session::put('label_lider_plural', $menu_celulas[0]->label_lider_plural);
             \Session::put('label_lider_treinamento', $menu_celulas[0]->label_lider_treinamento);
             \Session::put('label_anfitriao', $menu_celulas[0]->label_anfitriao);
             \Session::put('label_lider_suplente', $menu_celulas[0]->label_lider_suplente);
             \Session::put('label_participantes', $menu_celulas[0]->label_participantes);
         }
         if (Auth::user()->membro != "S") {
             $avisos = \DB::select('select * from avisos where id not in (select avisos_id from log_avisos where users_id = ' . Auth::user()->id . ')');
             //Verificar se usuario logado é LIDER DE CELULA
             $funcoes = new \App\Functions\FuncoesGerais();
             $lider_logado = $funcoes->verifica_se_lider();
             //SE for lider, direciona para dashboard da célula
             if ($lider_logado != null) {
                 return redirect('dashboard_celulas');
             }
             $where = ['empresas_id' => $this->dados_login->empresas_id, 'empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id];
             //-------------------Functions no POSTGRES
             //Total de registro na tabela pessoas
             $retorno = \DB::select('select  fn_total_pessoas(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
             $total_pessoas = $retorno[0]->fn_total_pessoas;
             //Total de membros. Verifica-se no cadastro de tipo de pessoas o registro que contenha a aba membros configurada
             $retorno = \DB::select('select  fn_total_membros(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
             $total_membros = $retorno[0]->fn_total_membros;
             //Total de aniversariantes no mes
             $retorno = \DB::select('select  fn_total_niver(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
             $total_aniversariantes = $retorno[0]->fn_total_niver;
             $retorno = \DB::select('select  fn_total_niver_dia(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
             $total_aniversariantes_dia = $retorno[0]->fn_total_niver_dia;
             $retorno = \DB::select('select  fn_total_inativos(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
             $total_inativos = $retorno[0]->fn_total_inativos;
             $retorno = \DB::select('select  fn_total_familias(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
             $total_familias = $retorno[0]->fn_total_familias;
             //----------------- FIM Functions POSTGRES
             $pessoas_tipos = \DB::select('select * from view_total_pessoas_tipo vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
             $pessoas_sexo = \DB::select('select * from view_total_pessoas_sexo vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
             $pessoas_status = \DB::select('select * from view_total_pessoas_status vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
             $pessoas_estadoscivis = \DB::select('select * from view_total_pessoas_estadoscivis vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         } else {
             //busca informacoes do membro
             $membro = \DB::select('select * from view_login_membro vp where lower(email_membro) = ? and vp.empresas_id = ? and vp.empresas_clientes_cloud_id = ? ', [Auth::user()->email, $this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
             $vazio = \App\Models\tabela_vazia::get();
             if ($membro) {
                 if ($membro[0]->id != "") {
                     //Retorna próxima data de encontro em aberto
                     $strSql = " SELECT to_char(data_encontro::timestamp with time zone, 'DD-MM-YYYY'::text) AS data_encontro_formatada, ca.id as controle_id, * ";
                     $strSql .= " FROM controle_atividades ca ";
                     $strSql .= " left join controle_materiais cm on ca.id = cm.controle_atividades_id and ca.empresas_id = cm.empresas_id and ca.empresas_clientes_cloud_id = cm.empresas_clientes_cloud_id  ";
                     $strSql .= " where ";
                     $strSql .= " ca.celulas_id = " . $membro[0]->id . " AND ";
                     $strSql .= " ca.empresas_id = " . $this->dados_login->empresas_id . " AND ";
                     $strSql .= " ca.empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . " AND ";
                     $strSql .= " isnull(ca.encontro_encerrado,'N') = 'N' AND ";
                     $strSql .= " ca.data_encontro >=  to_char( now(), 'YYYY-MM-DD' ) ORDER BY data_encontro asc";
                     $materiais = \DB::select($strSql);
                     if ($materiais != null) {
                         $presenca = \App\Models\controle_presencas::select('presenca_simples', 'hora_check_in')->where('empresas_id', $this->dados_login->empresas_id)->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->where('controle_atividades_id', $materiais[0]->controle_id)->where('pessoas_id', $membro[0]->id_membro)->get();
                         if ($presenca->count() == 0) {
                             $presenca = $vazio;
                         }
                     } else {
                         $presenca = $vazio;
                     }
                 } else {
                     $materiais = $vazio;
                     $presenca = $vazio;
                 }
             } else {
                 $materiais = $vazio;
                 $membro = $vazio;
                 $presenca = $vazio;
             }
         }
         if (Auth::user()->membro == "S") {
             return view('pages.membros', ['presenca' => $presenca, 'membro' => $membro, 'materiais' => $materiais]);
         } else {
             return view('pages.dashboard', ['total_pessoas' => $total_pessoas, 'total_membros' => $total_membros, 'total_aniversariantes' => $total_aniversariantes, 'total_aniversariantes_dia' => $total_aniversariantes_dia, 'total_inativos' => $total_inativos, 'pessoas_tipos' => $pessoas_tipos, 'total_familias' => $total_familias, 'pessoas_sexo' => $pessoas_sexo, 'pessoas_status' => $pessoas_status, 'pessoas_estadoscivis' => $pessoas_estadoscivis, 'avisos' => $avisos]);
         }
     } else {
         return view('pages.dashboard_blank');
         //Ainda nao cadastrou, solicitar o cadastro
     }
 }