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