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' => '']); }
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'); }
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; }
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]); } }
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'); }
/** * 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; } }); }
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'); }
/** * 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 } }
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]); } }