Example #1
0
 public function __construct()
 {
     $this->rota = "mensagens";
     //Define nome da rota que será usada na classe
     $this->middleware('auth');
     //Validação de permissão de acesso a pagina
     if (Gate::allows('verifica_permissao', [\Config::get('app.' . $this->rota), 'acessar'])) {
         $this->dados_login = \Session::get('dados_login');
         //Busca configuracao do provedor SMS
         $where = ['empresas_clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id, 'empresas_id' => $this->dados_login->empresas_id];
         $this->parametros = \App\Models\parametros::where($where)->get();
     }
 }
 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"]]);
         }
     }
 }
Example #3
0
 /**
  * Atualiza dados no banco
  *
  * @param    \Illuminate\Http\Request  $request
  * @param    int  $id
  * @return  \Illuminate\Http\Response
  */
 public function update(\Illuminate\Http\Request $request, $id)
 {
     /*Validação de campos - request*/
     $this->validate($request, ['email' => 'required', 'password' => 'required|min:6', 'ddd' => 'required|min:2']);
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     //-------------Atualiza Usuario
     $dados = parametros::findOrfail($id);
     $dados->empresas_id = $this->dados_login->empresas_id;
     $dados->empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
     $dados->login_provedor_mensagens = $input['email'];
     $dados->senha_provedor_mensagens = $input['password'];
     $dados->sms_marketing = isset($input['sms_marketing']) ? "S" : "N";
     $dados->sms_corporativo = isset($input['sms_corporativo']) ? "S" : "N";
     $dados->whatsapp = isset($input['whatsapp']) ? "S" : "N";
     $dados->ddd = $input['ddd'];
     $dados->save();
     //-------------FIM - Atualiza Usuario
     \Session::flash('flash_message', 'Dados Atualizados com Sucesso!!!');
     return redirect('home');
 }