/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { if (strlen($request['nome']) > 0) { if ($request['iniciativa'][0] != 0) { $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('usuarios.nome', 'like', "%{$request['nome']}%")->where('role_user.role_id', '=', 2)->whereIn('iniciativas.idIniciativa', $request['iniciativa'])->paginate(10); } else { $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('usuarios.nome', 'like', "%{$request['nome']}%")->where('role_user.role_id', '=', 2)->paginate(10); } } else { if ($request['iniciativa'][0] != 0) { $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('role_user.role_id', '=', 2)->whereIn('iniciativas.idIniciativa', $request['iniciativa'])->paginate(10); } else { $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('role_user.role_id', '=', 2)->paginate(10); } } $ufs = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf'); $iniciativas = Iniciativa::all()->lists('nome', 'idIniciativa'); $selected = isset($request['iniciativa']) ? $request['iniciativa'] : array(0); return view('iniciativas.gestores.index', compact('gestores', 'ufs', 'iniciativas', 'selected')); }
private function reportInicativaTipoGeral() { $dados = \Lava::DataTable(); $dados->addStringColumn('Tipos')->addNumberColumn('Qtd'); $dados->addRow(['Total Iniciativas', Iniciativa::all()->count()]); $tipos = DB::table('iniciativaTipos')->get(); foreach ($tipos as $tp) { $dados->addRow([$tp->tipo, Iniciativa::where('tipo_id', '=', $tp->idTipo)->count()]); } $aux = Iniciativa::where('tipo_id', '=', null)->count(); if ($aux > 0) { $dados->addRow(['Não Informado', $aux]); } return $dados; }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { if (isset($request['ativo'])) { switch ($request['ativo']) { case 1: $ativo = [1]; break; case 2: $ativo = [0]; break; case 3: $ativo = [1, 0]; break; } } else { $ativo = [1]; } if (strlen($request['nome']) > 0) { if ($request['uf'] != 0) { if ($request['cidade_id'] != 0) { //cidade + nome if (Defender::hasRole('gestor')) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->where('cidades.idCidade', '=', $request['cidade_id'])->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { if ($request['iniciativa'][0] != 0) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('pids.nome', 'like', "%{$request['nome']}%")->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } } } else { //uf + nome if (Defender::hasRole('gestor')) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('pids.nome', 'like', "%{$request['nome']}%")->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { if ($request['iniciativa'][0] != 0) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('pids.nome', 'like', "%{$request['nome']}%")->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } } } } else { //nome if (Defender::hasRole('gestor')) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('pids.nome', 'like', "%{$request['nome']}%")->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { if ($request['iniciativa'][0] != 0) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('pids.nome', 'like', "%{$request['nome']}%")->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } } } } else { if ($request['uf'] != 0) { if ($request['cidade_id'] != 0) { //cidade if (Defender::hasRole('gestor')) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { if ($request['iniciativa'][0] != 0) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } } } else { //uf if (Defender::hasRole('gestor')) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { if ($request['iniciativa'][0] != 0) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } } } } else { //todos if (Defender::hasRole('gestor')) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { if ($request['iniciativa'][0] != 0) { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } else { $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10); } } } } $ufs = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf'); $iniciativas = Iniciativa::all()->lists('nome', 'idIniciativa'); $selected = isset($request['iniciativa']) ? $request['iniciativa'] : array(0); return view('pids.index', compact('pids', 'ufs', 'iniciativas', 'selected')); }