Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function index(){
- //----------- PEGANDO INTERVALOS DE DATAS A SEREM APLICADOS A CONSULTA
- date_default_timezone_set('America/Sao_Paulo');
- // Pega data do Dia
- $dt2 = date('Y-m-d') ;
- // Pega Dia Anterior
- $dt1 = date('Y-m-d', strtotime($dt2. ' - 1 days'));
- $date = date('d/m/Y');
- $horaAuxiliar = date('H');
- $minuto = date('i');
- $minutoAnterior1 = $minuto-1;
- $minutoAnterior5 = $minuto-5;
- $tempoAnterior1 = (string) $horaAuxiliar.':'.$minutoAnterior1;
- $tempoAnterior5 = (string) $horaAuxiliar.':'.$minutoAnterior5;
- //----------------------- VERIFICA OS COMPUTADORES ONLINE
- $online= DB::table('dados_computador')
- ->where('data','=', $date)
- ->where('email', '=', Auth::user()->email)
- ->whereBetween(DB::raw('substr(informacoes,1,5)'), [$tempoAnterior5,$tempoAnterior1])->
- ->OrderBy('id','desc')
- ->LIMIT(250)
- ->count(DB::raw('DISTINCT usuario'));
- //------------------------- MEDE O DESEMPENHO DAS APLICAÇÕES
- $vlTotalDesempenho=0;
- $desempenho = DB::table('dados_computador')
- ->where('email', '=', Auth::user()->email)
- ->where('aplicacao', '!=', '0')
- ->whereBetween(DB::raw("date_format(STR_TO_DATE(data, '%d/%m/%Y'),'%Y-%m-%d')"),[$dt1,$dt2])
- ->select('aplicacao','informacoes', DB::raw('count(*) as total'))
- ->groupBy('aplicacao')
- ->OrderBy('id','ASC')
- ->get();
- foreach($desempenho as $d){
- $vlTotalDesempenho += $d->total;
- }
- $desempenhoGeral = $vlTotalDesempenho;
- //----------------------------- VERIFICA OS COMPUTADORES OCIOSOS
- $ocioso = DB::table('dados_computador')
- ->where('email', '=', Auth::user()->email)
- ->whereBetween(DB::raw("date_format(STR_TO_DATE(data, '%d/%m/%Y'),'%Y-%m-%d')"),[$dt1,$dt2])
- ->OrderBy('id','ASC')
- ->get();
- //--VERIFICA SE O DADO ATUAL É IGUAL AO ANTERIOR
- $ociosoCont = 0;
- $ociosoAux = 0;
- foreach($ocioso as $o){
- if(substr($o->informacoes,5)== $ociosoAux)
- $ociosoCont++;
- $ociosoAux =substr($o->informacoes,5);
- }
- //---------------------------VERIFICA O DESEMEPNHO UTILIZANDO SOFTWARE
- $desempenhoSoftware = DB::table('dados_computador')
- ->where('email', '=', Auth::user()->email)
- ->where('aplicacao', '!=', '0')
- -> where('aplicacao', '!=', ' ')
- ->where('aplicacao', '!=', ' Google Chrome')
- ->where('aplicacao', '!=', ' Mozilla Firefox')
- ->whereBetween(DB::raw("date_format(STR_TO_DATE(data, '%d/%m/%Y'),'%Y-%m-%d')"),[$dt1,$dt2])
- ->select( DB::raw('count(*) as total'))
- ->OrderBy('id','ASC')
- ->get();
- //---------------------------------VERIFICA O DESEMEPNHO UTILIZANDO NAVEGADORES ESPECIFICOS
- $desempenhoNavegador = DB::table('dados_computador')
- ->where('email', '=', Auth::user()->email)
- ->whereIn('aplicacao', [' Google Chrome',' Mozilla Firefox'])
- ->select('aplicacao', DB::raw('count(*) as total'))
- ->whereBetween(DB::raw("date_format(STR_TO_DATE(data, '%d/%m/%Y'),'%Y-%m-%d')"),[$dt1,$dt2])
- ->OrderBy('id','ASC')
- ->get();
- //--------------------------------- VERIFICA OS ACESSOS INDEVIDOS
- $indevidosCont = DB::table('tempindevidos')
- ->where('email', '=', Auth::user()->email)
- ->whereBetween(DB::raw("date_format(STR_TO_DATE(data, '%d/%m/%Y'),'%Y-%m-%d')"),[$dt1,$dt2])
- ->select('acesso','nome','hora','horaTemp','id', DB::raw('count(*) as total'))
- -> groupBy('acesso')->get();
- //--------------------------------- PEGA OS USUARIOS DOS COMPUTADORES
- $computador = DB::table('dados_usuario')->
- where('email', '=', Auth::user()->email)->
- select(DB::raw('usuario', 'count(*) as valorTotal'))->
- groupBy('usuario')->get();
- //--------------------------------- CONTAS PARA EXIBIR NÚMEROS GERAIS
- $geral = 0;
- $geral += $desempenhoGeral;
- $contP = 0;
- foreach( $desempenhoSoftware as $d){
- $contP = $d->total;
- }
- $contN = 0;
- foreach( $desempenhoNavegador as $n){
- $contN = $n->total;
- }
- if($contN!=0 && $contP!=0){
- $vlInternet = ($contN*100)/$geral;
- $vlProgramas = ($contP*100)/$geral;
- $vlInternet = round($vlInternet);
- $vlProgramas = round($vlProgramas );
- }else{
- $vlInternet = 0;
- $vlProgramas = 0;
- }
- //----------------------- PEGA OS DADOS DE IMPRESSÕES
- $impressora = DB::table('impressora')
- ->whereBetween(DB::raw("date_format(STR_TO_DATE(data, '%d/%m/%Y'),'%Y-%m-%d')"),[$dt1,$dt2])
- ->where('email', '=', Auth::user()->email)
- ->groupBy('impressora')
- ->get();
- //----------------------- QUANTIDADE DE IMPRESSÕES
- $qtdImpressora = DB::table('impressora')
- ->whereBetween(DB::raw("date_format(STR_TO_DATE(data, '%d/%m/%Y'),'%Y-%m-%d')"),[$dt1,$dt2] )
- ->where('email', '=', Auth::user()->email)
- ->Select(DB::raw('count(*) as vlx'))
- ->get();
- //------- CRUZA OS DADOS PARA ENCONTRAR O SOFTWARE QUE EFETUOU A IMPRESSÃO
- $ar = array();
- $novo = array();
- foreach($impressora as $a){
- $ar[] = appImpressora($a->data,$a->hora,$a->email,$a->computador);
- }
- $qtd = count($ar);
- for ($i=0; $i < $qtd ; $i++) {
- if(!empty($ar[$i]->aplicacao))
- $novo[] = $ar[$i]->aplicacao;
- }
- $impGrafico = array_count_values($novo);
- //--------------------------------- CONTA O NÚMERO DE COMPUTADORES VINCULADO A CONTA
- $vlx = 0;
- $numeroComputador = DB::table('dados_usuario')
- ->where('email', '=', Auth::user()->email)
- ->select('usuario')
- ->GroupBy('usuario')
- ->get();
- foreach($numeroComputador as $n){
- $vlx+=1;
- }
- $numeroComputador = $vlx;
- //--------------------------------- MOSTRA OS 50 RECENTES ACESSOS INDEVIDOS
- $aviso = DB::table('tempindevidos')
- ->where('email', '=', Auth::user()->email)
- ->where('segundos', '=','10')
- ->orderBy('id','asc')
- ->take('50');
- //-------------- RETORNA PARA HOME
- return view('home')
- ->with('usuarios', $online)->with('desempenho', $desempenho)->with('ocioso',0)
- ->with('indevidos', 0)->with('indevidosCont',$indevidosCont)
- ->with('Programa', $vlProgramas)->with('navegador', $vlInternet)
- ->with('nComputador', $numeroComputador)->with('nRegistro', 0)->with('computador', $computador )
- ->with('contadorOnline',$online)->with('ocioso',$ociosoCont)->with('impressora',$impressora)
- ->with('tdGeral',$geral)->with('aviso',$aviso)
- ->with('impGrafico',$impGrafico)
- ->with('dt1',$dt1)
- ->with('dt2',$dt2)
- ->with('qtdImpressora',$qtdImpressora);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement