public function index()
 {
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.' . $this->rota)) == false) {
         return redirect('home');
     }
     $publicos = \App\Models\publicos::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
     $faixas = \App\Models\faixas::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
     /*Busca Lideres*/
     $lideres = \DB::select('select * from view_lideres where empresas_id = ? and empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     /*Busca vice - Lideres*/
     $vice_lider = \DB::select('select * from view_vicelideres where empresas_id = ? and empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     $var_download = "";
     $var_mensagem = "";
     /*Busca Niveis*/
     $view1 = \DB::select('select * from view_celulas_nivel1 v1 where v1.empresas_id = ? and v1.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     $view2 = \DB::select('select * from view_celulas_nivel2 v2 where v2.empresas_id = ? and v2.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     $view3 = \DB::select('select * from view_celulas_nivel3 v3 where v3.empresas_id = ? and v3.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     $view4 = \DB::select('select * from view_celulas_nivel4 v4 where v4.empresas_id = ? and v4.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     $view5 = \DB::select('select * from view_celulas_nivel5 v5 where v5.empresas_id = ? and v5.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     $celulas_faixas = \DB::select('select * from view_total_celulas_faixa_etaria vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     $celulas_publicos = \DB::select('select * from view_total_celulas_publico_alvo vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
     //Busca ID do cliente cloud e ID da empresa
     $this->dados_login = \App\Models\usuario::find(Auth::user()->id);
     return view($this->rota . '.index', ['dados' => '', 'celulas_faixas' => $celulas_faixas, 'celulas_publicos' => $celulas_publicos, 'vice_lider' => $vice_lider, 'nivel1' => $view1, 'nivel2' => $view2, 'nivel3' => $view3, 'nivel4' => $view4, 'nivel5' => $view5, 'publicos' => $publicos, 'faixas' => $faixas, 'lideres' => $lideres, 'var_download' => '', 'var_mensagem' => '']);
 }
示例#2
0
 public function __construct()
 {
     if (\App\Models\usuario::find(Auth::user()->id)) {
         //Busca ID do cliente cloud e ID da empresa
         $this->dados_login = \App\Models\usuario::find(Auth::user()->id);
     }
 }
 public function checkin(\Illuminate\Http\Request $request, $controle_id, $pessoa_id, $user_id)
 {
     $this->dados_login = \App\Models\usuario::find($user_id);
     $whereForEach = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id, 'controle_atividades_id' => $controle_id, 'pessoas_id' => $pessoa_id];
     $controle_presencas = \App\Models\controle_presencas::firstOrNew($whereForEach);
     $controle_presencas->presenca_simples = "S";
     $controle_presencas->check_in = "S";
     $controle_presencas->hora_check_in = date("H:i:s");
     $controle_presencas->save();
     return redirect('home');
 }
示例#4
0
 public function verifica_se_lider()
 {
     if (\App\Models\usuario::find(Auth::user()->id)) {
         //Busca ID do cliente cloud e ID da empresa
         $this->dados_login = \App\Models\usuario::find(Auth::user()->id);
     }
     $email = Auth::user()->email;
     $strSql = " SELECT id, lider_pessoas_id ";
     $strSql .= " FROM celulas ";
     $strSql .= " where ";
     $strSql .= " (lider_pessoas_id in (select id from pessoas where upper(emailprincipal) = '" . strtoupper($email) . "') or vicelider_pessoas_id in (select id from pessoas where upper(emailprincipal) = '" . strtoupper($email) . "'))";
     $strSql .= " and empresas_id = " . $this->dados_login->empresas_id . " ";
     $strSql .= " and empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id . " ";
     $lider_logado = \DB::select($strSql);
     return $lider_logado;
 }
示例#5
0
 public function index()
 {
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.' . $this->rota)) == false) {
         return redirect('home');
     }
     //Verificar se foi cadastrado os dados da igreja
     if (usuario::find(Auth::user()->id)) {
         //Busca ID do cliente cloud e ID da empresa
         $this->dados_login = usuario::find(Auth::user()->id);
         //$dados = bancos::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
         $retorno = \DB::select('select  fn_total_titulos_aberto(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ', ' . "'R'" . ')');
         $total_receber_aberto = $retorno[0]->fn_total_titulos_aberto;
         $retorno = \DB::select('select  fn_total_titulos_mes(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ', ' . "'R'" . ')');
         $total_receber_mes = $retorno[0]->fn_total_titulos_mes;
         $retorno = \DB::select('select  fn_total_titulos_aberto(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ', ' . "'P'" . ')');
         $total_pagar_aberto = $retorno[0]->fn_total_titulos_aberto;
         $retorno = \DB::select('select  fn_total_titulos_mes(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ', ' . "'P'" . ')');
         $total_pagar_mes = $retorno[0]->fn_total_titulos_mes;
         $retorno = \DB::select('select  fn_saldo_contas(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
         $saldo_contas = $retorno[0]->fn_saldo_contas;
         return view($this->rota . '.dashboard', ['total_receber_aberto' => $total_receber_aberto, 'total_receber_mes' => $total_receber_mes, 'total_pagar_aberto' => $total_pagar_aberto, 'total_pagar_mes' => $total_pagar_mes, 'saldo_contas' => $saldo_contas]);
     }
 }
示例#6
0
 public function validar($id)
 {
     //Verifica se existe usuário para a congregação e retorna a quantidade de registros. Caso seja nullo, trataremos a mensagem para a view
     //dizendo que não existe usuário e o primeiro deverá ser o ADMIN
     $where = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $id];
     $quantidade = \App\Models\usuario::where($where)->count();
     //Se não existir usuário e a igreja for diferente da sede = Avisar o usuário para cadastrar o primeiro usuario como ADMIN
     if ($quantidade == 0 && $id != $this->dados_login->empresas_id) {
         return 0;
     } else {
         if ($quantidade > 0 && $id != $this->dados_login->empresas_id) {
             return 1;
         } else {
             if ($quantidade > 0 && $id == $this->dados_login->empresas_id) {
                 return 2;
             }
         }
     }
 }
 public function store(\Illuminate\Http\Request $request)
 {
     //Validação de campos - request
     $this->validate($request, ['razaosocial' => 'required|max:255:min:3', 'foneprincipal' => 'required|min:8', 'emailprincipal' => 'email', 'emailsecundario' => 'email', 'cnpj' => 'cnpj']);
     //---------------------------------Cadastro do cliente cloud
     $image = $request->file('caminhologo');
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     $clientes_cloud = new clientescloud();
     $clientes_cloud->razaosocial = $input['razaosocial'];
     $clientes_cloud->nomefantasia = $input['nomefantasia'];
     $clientes_cloud->cnpj = preg_replace("/[^0-9]/", '', $input['cnpj']);
     $clientes_cloud->inscricaoestadual = $input['inscricaoestadual'];
     $clientes_cloud->endereco = $input['endereco'];
     $clientes_cloud->numero = $input['numero'];
     $clientes_cloud->bairro = $input['bairro'];
     $clientes_cloud->cep = $input['cep'];
     $clientes_cloud->complemento = $input['complemento'];
     $clientes_cloud->cidade = $input['cidade'];
     $clientes_cloud->estado = $input['estado'];
     $clientes_cloud->foneprincipal = preg_replace("/[^0-9]/", '', $input['foneprincipal']);
     $clientes_cloud->fonesecundario = preg_replace("/[^0-9]/", '', $input['fonesecundario']);
     $clientes_cloud->emailprincipal = $input['emailprincipal'];
     $clientes_cloud->emailsecundario = $input['emailsecundario'];
     $clientes_cloud->nomecontato = $input['nomecontato'];
     $clientes_cloud->celular = $input['celular'];
     $clientes_cloud->ativo = 'S';
     //Sempre ativo quando cadastrar ?
     $clientes_cloud->website = $input['website'];
     if ($image) {
         $clientes_cloud->caminhologo = $image->getClientOriginalName();
     }
     $clientes_cloud->save();
     //--------------------------------- FIM - Cadastro do cliente cloud
     //Busca id da tabela empresas vinculada a tabela clientes_cloud
     $id_empresas = empresas::where('clientes_cloud_id', $clientes_cloud->id)->select('id')->first();
     /*------------------------- Vinculo tabela users com usuarios
      *
      * Grava o id (users, clientes_cloud e empresas) na tabela usuarios (id, empresas_clientes_cloud_id, empresas_id)
      */
     $usuarios = new usuario();
     $usuarios->id = Auth::user()->id;
     //id do usuário logado (tabela users)
     $usuarios->empresas_id = $id_empresas['id'];
     //Pegar ID do registro recém criado (clientes_cloud)
     $usuarios->empresas_clientes_cloud_id = $clientes_cloud->id;
     $usuarios->master = 1;
     //Criada a empresa a primeira vez, o usuario que cadastrou será o master e nao podera ser removido
     $usuarios->admin = 1;
     //O Master também é ADMIN
     $usuarios->save();
     //------------------------- FIM - Vinculo tabela users com usuarios
     //---------------------------Upload da imagem
     if ($image) {
         /*Regras validação imagem*/
         $rules = array('image' => 'image', 'image' => array('mimes:jpeg,jpg,png', 'max:200px'));
         // Validar regras
         $validator = Validator::make([$image], $rules);
         // Check to see if validation fails or passes
         if ($validator->fails()) {
             dd($validator);
         } else {
             $destinationPath = base_path() . '/public/images/clients';
             //caminho onde será gravado
             if (!$image->move($destinationPath, $image->getClientOriginalName())) {
                 return $this->errors(['message' => 'Erro ao salvar imagem.', 'code' => 400]);
             }
         }
     }
     //---------------------------FIM - Upload da imagem
     //----------------------------------Cria grupo padrão Administrador
     //A tabela grupos, dispara a triiger de INSERT e chama a  spCriarPermissoesPadrao(NEW.id) que cria as permissoes padrao para o Administrador
     $grupo_padrao = new \App\Models\grupos();
     $grupo_padrao->nome = "Administrador";
     $grupo_padrao->empresas_id = $id_empresas['id'];
     $grupo_padrao->empresas_clientes_cloud_id = $clientes_cloud->id;
     $grupo_padrao->default = 1;
     //Grupo padrão
     $grupo_padrao->save();
     //Ira disparar a trigger e chamar a spCriarPermissoesPadrao
     //----------------------------------FIM - Cria grupo padrão Administrador
     //------------------------------------Grava usuario e grupo
     //Usuario Admin com grupo padrão admin (com todas permissões)
     $usuarios_grupo = new \App\Models\usuarios_grupo();
     $usuarios_grupo->usuarios_id = Auth::user()->id;
     $usuarios_grupo->usuarios_empresas_id = $id_empresas['id'];
     $usuarios_grupo->usuarios_empresas_clientes_cloud_id = $clientes_cloud->id;
     $usuarios_grupo->grupos_id = $grupo_padrao->id;
     $usuarios_grupo->save();
     //------------------------------------FIM Grava usuario e grupo
     \Session::flash('flash_message', 'Dados Atualizados com Sucesso!!!');
     return redirect('clientes');
 }
示例#8
0
 /**
  * Register any application authentication / authorization services.
  *
  * @param  \Illuminate\Contracts\Auth\Access\Gate  $gate
  * @return void
  */
 public function boot(GateContract $gate)
 {
     $this->registerPolicies($gate);
     //Verificação : Se for usuário recém cadastrado, verifica se já cadastrou os dados da empresa
     $gate->define('verifica_permissao', function ($user, $pagina, $acao) {
         //--------Verificar se o usuario ja cadastrou os dados da empresa
         $cadastrou = \App\Models\usuario::find($user->id);
         if ($cadastrou) {
             //Verifica se a empresa logada é sede, para das as devidas permissoes ao master
             $verifica_sede = \App\Models\empresas::select('igreja_sede')->findOrfail($cadastrou->empresas_id);
             $nome_igreja = \App\Models\empresas::select('razaosocial', 'caminhologo')->findOrfail($cadastrou->empresas_id);
             \Session::put('master_sede', $verifica_sede);
             \Session::put('nome_igreja', $nome_igreja->razaosocial);
             \Session::put('logo', $nome_igreja->caminhologo);
             \Session::put('dados_login', $cadastrou);
             \Session::put('tour_rapido', $cadastrou->tutorial);
             \Session::put('admin', $cadastrou->admin);
             \Session::put('tour_visaogeral', $cadastrou->tutorial_visaogeral);
             \Session::put('membro', $cadastrou->membro);
             //Ler todas permissoes do usuarios
             $permissoes = \DB::select('select incluir, alterar, excluir, visualizar, exportar, acessar, imprimir from view_permissoes_grupo where view_permissoes_grupo.usuario = ? and id_pagina = ? ', [$user->id, $pagina]);
             if ($permissoes) {
                 switch ($acao) {
                     case 'incluir':
                         if ($permissoes[0]->incluir == 1) {
                             return true;
                         }
                         break;
                     case 'alterar':
                         if ($permissoes[0]->alterar == 1) {
                             return true;
                         }
                         break;
                     case 'excluir':
                         if ($permissoes[0]->excluir == 1) {
                             return true;
                         }
                         break;
                     case 'visualizar':
                         if ($permissoes[0]->visualizar == "1") {
                             return true;
                         }
                         break;
                     case 'exportar':
                         if ($permissoes[0]->exportar == 1) {
                             return true;
                         }
                         break;
                     case 'imprimir':
                         if ($permissoes[0]->imprimir == 1) {
                             return true;
                         }
                         break;
                     case 'acessar':
                         if ($permissoes[0]->acessar == "1") {
                             return true;
                         }
                         break;
                     default:
                         return true;
                         //retorna true mesmo nao encontrando a ação, pois pode ser validacao somente se o usuario cadastrou os dados da empresa
                         break;
                 }
             } else {
                 return false;
             }
         } else {
             return false;
         }
     });
     //Verificação : Se for usuário recém cadastrado, verifica se já cadastrou os dados da empresa
     $gate->define('verifica_permissao_modulo', function ($user, $modulo) {
         if ($user) {
             //--------Verificar se o usuario ja cadastrou os dados da empresa
             $cadastrou = \App\Models\usuario::find($user->id);
             if ($cadastrou != null) {
                 //Ler todas permissoes do usuarios
                 $permissoes_modulos = \DB::select('select sum(acessar) as permissao_modulo, menu from view_permissoes_grupo where usuario = ? and menu = ? group by menu', [$user->id, $modulo]);
                 if ($permissoes_modulos) {
                     if ($permissoes_modulos[0]->permissao_modulo > 0) {
                         return true;
                     }
                 } else {
                     return false;
                 }
             } else {
                 return false;
             }
         } else {
             return false;
         }
     });
 }
示例#9
0
 public function store(\Illuminate\Http\Request $request)
 {
     /*Validação de campos - request*/
     $this->validate($request, ['razaosocial' => 'required|max:255:min:3', 'foneprincipal' => 'required|min:10', 'emailprincipal' => 'email', 'emailsecundario' => 'email']);
     $image = $request->file('caminhologo');
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     $usuarios = new usuario();
     $empresas = new empresas();
     $empresas->razaosocial = $input['razaosocial'];
     $empresas->nomefantasia = $input['nomefantasia'];
     $empresas->cnpj = preg_replace("/[^0-9]/", '', $input['cnpj']);
     $empresas->inscricaoestadual = $input['inscricaoestadual'];
     $empresas->endereco = $input['endereco'];
     $empresas->numero = $input['numero'];
     $empresas->bairro = $input['bairro'];
     $empresas->cep = $input['cep'];
     $empresas->complemento = $input['complemento'];
     $empresas->cidade = $input['cidade'];
     $empresas->estado = $input['estado'];
     $empresas->foneprincipal = preg_replace("/[^0-9]/", '', $input['foneprincipal']);
     $empresas->fonesecundario = preg_replace("/[^0-9]/", '', $input['fonesecundario']);
     $empresas->emailprincipal = $input['emailprincipal'];
     $empresas->emailsecundario = $input['emailsecundario'];
     $empresas->nomecontato = $input['nomecontato'];
     $empresas->celular = $input['celular'];
     $empresas->ativo = 'S';
     //Sempre ativo quando cadastrar ?
     $empresas->website = $input['website'];
     $cadastrou = usuario::find(Auth::user()->id);
     if ($cadastrou) {
         $empresas->clientes_cloud_id = $cadastrou['empresas_clientes_cloud_id'];
     }
     if ($image) {
         $empresas->caminhologo = $image->getClientOriginalName();
     }
     $empresas->save();
     if ($image) {
         /*Regras validação imagem*/
         $rules = array('image' => 'image', 'image' => array('mimes:jpeg,jpg,png', 'max:200px'));
         // Validar regras
         $validator = Validator::make([$image], $rules);
         // Check to see if validation fails or passes
         if ($validator->fails()) {
             dd($validator);
         } else {
             $destinationPath = base_path() . '/public/images/clients';
             //caminho onde será gravado
             if (!$image->move($destinationPath, $image->getClientOriginalName())) {
                 return $this->errors(['message' => 'Erro ao salvar imagem.', 'code' => 400]);
             }
         }
     }
     \Session::flash('flash_message', 'Dados Atualizados com Sucesso!!!');
     return redirect('empresas');
 }
示例#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
     }
 }
示例#11
0
 public function dashboard()
 {
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.controle_atividades')) || \App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.celulas'))) {
         $this->dados_login = \Session::get('dados_login');
         //Verificar se usuario logado é LIDER
         $this->lider_logado = $this->formatador->verifica_se_lider();
     } else {
         return redirect('home');
     }
     //Verificar se foi cadastrado os dados da igreja
     if (\App\Models\usuario::find(Auth::user()->id)) {
         $publicos = \App\Models\publicos::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
         $faixas = \App\Models\faixas::where('clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
         //busca da proxima multiplicacao
         $strSql = "SELECT * FROM view_lideres ";
         $strSql .= " WHERE  empresas_id = " . $this->dados_login->empresas_id;
         $strSql .= " AND empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id;
         //Busca LIDERES, se for lider logado retorna somente dados dele mesmo
         if ($this->lider_logado != null) {
             $strSql .= " AND id  = '" . $this->lider_logado[0]->lider_pessoas_id . "'";
         }
         $lideres = \DB::select($strSql);
         /*Busca vice - Lideres*/
         $vice_lider = \DB::select('select * from view_vicelideres where empresas_id = ? and empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $var_download = "";
         $var_mensagem = "";
         /*Busca Niveis*/
         $view1 = \DB::select('select * from view_celulas_nivel1 v1 where v1.empresas_id = ? and v1.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $view2 = \DB::select('select * from view_celulas_nivel2 v2 where v2.empresas_id = ? and v2.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $view3 = \DB::select('select * from view_celulas_nivel3 v3 where v3.empresas_id = ? and v3.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $view4 = \DB::select('select * from view_celulas_nivel4 v4 where v4.empresas_id = ? and v4.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $view5 = \DB::select('select * from view_celulas_nivel5 v5 where v5.empresas_id = ? and v5.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $retorno = \DB::select('select  fn_total_celulas(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
         $total_celulas = $retorno[0]->fn_total_celulas;
         $retorno = \DB::select('select  fn_total_participantes(' . $this->dados_login->empresas_clientes_cloud_id . ', ' . $this->dados_login->empresas_id . ')');
         $total_participantes = $retorno[0]->fn_total_participantes;
         $celulas_faixas = \DB::select('select * from view_total_celulas_faixa_etaria vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $celulas_publicos = \DB::select('select * from view_total_celulas_publico_alvo vw where vw.empresas_id = ? and vw.empresas_clientes_cloud_id = ? ', [$this->dados_login->empresas_id, $this->dados_login->empresas_clientes_cloud_id]);
         $resumo = $this->resumo_presencas(date('m'), date('Y'));
         $resumo_geral = $this->resumo_geral(date('m'), date('Y'));
         $resumo_tipo_pessoas = $this->resumo_tipo_pessoas(date('m'), date('Y'), 'Geral');
         $resumo_perguntas = $this->resumo_perguntas(date('m'), date('Y'));
         //AQUI
         //Busca ID do cliente cloud e ID da empresa
         $this->dados_login = \App\Models\usuario::find(Auth::user()->id);
         //SE for lider, direciona para dashboard da célula
         if ($this->lider_logado != null) {
             $qual_pagina = ".dashboard_lider";
             $participantes_presenca = $this->participantes_presenca();
             //busca da proxima multiplicacao
             $strSql = "SELECT data_previsao_multiplicacao from view_celulas_simples ";
             $strSql .= " WHERE  empresas_id = " . $this->dados_login->empresas_id;
             $strSql .= " AND empresas_clientes_cloud_id = " . $this->dados_login->empresas_clientes_cloud_id;
             $strSql .= " AND lider_pessoas_id  = '" . $this->lider_logado[0]->lider_pessoas_id . "'";
             $dados = \DB::select($strSql);
             //Verifica se ultimo encontro ja foi encerrado
             $strSql = " SELECT  to_char(to_date(data_encontro, 'yyyy-MM-dd'), 'DD-MM-YYYY') AS data_encontro, id from controle_atividades ";
             $strSql .= " WHERE ";
             $strSql .= " lider_pessoas_id  = '" . $this->lider_logado[0]->lider_pessoas_id . "'";
             $strSql .= " AND encontro_encerrado <> 'S' and  ";
             $strSql .= " to_char(to_date(data_encontro, 'yyyy-MM-dd'), 'DD-MM-YYYY') < to_char( now(), 'yyyy-MM-dd' ) ";
             $aberto = \DB::select($strSql);
             $gerar_treeview = '';
         } else {
             $gerar_treeview = $this->getEstruturas();
             $qual_pagina = ".dashboard";
             $participantes_presenca = '';
             $dados = '';
             $aberto = '';
         }
         return view($this->rota . $qual_pagina, ['aberto' => $aberto, 'dados' => $dados, 'resumo' => $resumo, 'resumo_geral' => $resumo_geral, 'resumo_tipo_pessoas' => $resumo_tipo_pessoas, 'total_celulas' => $total_celulas, 'total_participantes' => $total_participantes, 'celulas_faixas' => $celulas_faixas, 'celulas_publicos' => $celulas_publicos, 'resumo_perguntas' => $resumo_perguntas, 'vice_lider' => $vice_lider, 'nivel1' => $view1, 'nivel2' => $view2, 'nivel3' => $view3, 'nivel4' => $view4, 'nivel5' => $view5, 'publicos' => $publicos, 'faixas' => $faixas, 'lideres' => $lideres, 'var_download' => '', 'var_mensagem' => '', 'participantes_presenca' => $participantes_presenca, 'gerar_treeview' => $gerar_treeview]);
     }
 }