Sindbad~EG File Manager

Current Path : /var/www/html/aventurasolar.sumar.com.py/app/Http/Livewire/
Upload File :
Current File : /var/www/html/aventurasolar.sumar.com.py/app/Http/Livewire/Ranking.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\Equipo;
use App\Models\Puntos;
use App\Models\Matricula;
use Auth; 
use DB;
use Carbon\Carbon;

class Ranking extends Component{

    public $fecha_inicio,$fecha_fin,$ranking;

    public function render(){
        $totalpuntos=0;
        $totalpuntosextras=0;
        $porcentajeperdido=0;
        $porcentajeganado=0;
        if($this->ranking){
            if($this->fecha_inicio && $this->fecha_fin){ 
                $equipos=DB::table('puntos as p')
                    ->join('equipos as e','p.equipo_id','e.id')
                    ->select(DB::raw('sum(p.puntos) as puntos,sum(p.puntos_extras) as puntos_extras,e.nombre'))
                    ->where('e.estado',1)->where('e.nivel',$this->ranking)
                    ->whereDate('p.created_at','>=',Carbon::parse($this->fecha_inicio)->toDateString())
                    ->whereDate('p.created_at','<=',Carbon::parse($this->fecha_fin)->toDateString())
                    ->groupBy('e.nombre')
                    ->orderByRaw('SUM(p.puntos+p.puntos_extras) DESC')->get();
            }else{
                $equipos=DB::table('puntos as p')
                    ->join('equipos as e','p.equipo_id','e.id')
                    ->select(DB::raw('sum(p.puntos) as puntos,sum(p.puntos_extras) as puntos_extras,e.nombre'))
                    ->where('e.estado',1)
                    ->where('e.nivel',$this->ranking)
                    ->groupBy('e.nombre')
                    ->orderByRaw('SUM(p.puntos+p.puntos_extras) DESC')->get();
            }
        }else{
            $matricula=Matricula::where('usuario_id',Auth::id())->first();

            $equipo=Equipo::where('id',$matricula->equipo_id)->first();

            if($this->fecha_inicio && $this->fecha_fin){
                $equipos=DB::table('puntos as p')
                    ->join('equipos as e','p.equipo_id','e.id')
                    ->select(DB::raw('sum(p.puntos) as puntos,sum(p.puntos_extras) as puntos_extras,e.nombre'))
                    ->where('e.estado',1)
                    ->where('e.nivel',$equipo->nivel)
                    ->whereDate('p.created_at','>=',Carbon::parse($this->fecha_inicio)->toDateString())
                    ->whereDate('p.created_at','<=',Carbon::parse($this->fecha_fin)->toDateString())
                    ->groupBy('e.nombre')
                    ->orderByRaw('SUM(p.puntos+p.puntos_extras) DESC')->get();
            }else{
                $equipos=DB::table('puntos as p')
                    ->join('equipos as e','p.equipo_id','e.id')
                    ->select(DB::raw('sum(p.puntos) as puntos,sum(p.puntos_extras) as puntos_extras,e.nombre'))
                    ->where('e.estado',1)
                    ->where('e.nivel',$equipo->nivel)
                    ->groupBy('e.nombre')
                    ->orderByRaw('SUM(p.puntos+p.puntos_extras) DESC')->get();
            }
            $totalpuntos=DB::table('mision_matriculas as mm')
                ->join('misions as m','mm.mision_id','m.id')
                ->where('mm.equipo_id',$matricula->equipo_id)
                ->sum('m.puntos');
            $totalpuntosextras=DB::table('mision_matriculas as mm')
                ->join('misions as m','mm.mision_id','m.id')
                ->where('mm.equipo_id',$matricula->equipo_id)
                ->sum('m.puntos_extras');
            $sumapuntos=DB::table('puntos as p')
                ->where('p.equipo_id',$matricula->equipo_id)->sum('p.puntos');
            $sumapuntosextras=DB::table('puntos as p')
                ->where('p.equipo_id',$matricula->equipo_id)->sum('p.puntos_extras');
            
            $porcentajeperdido=((($totalpuntos+$totalpuntosextras)-($sumapuntos+$sumapuntosextras))*100)/($totalpuntos+$totalpuntosextras);
            $porcentajeganado=(($sumapuntos+$sumapuntosextras)*100)/($totalpuntos+$totalpuntosextras);
        }

        

        return view('livewire.ranking',[
            "equipos" => $equipos,
            "totalpuntos" => $totalpuntos,
            "totalpuntosextras" => $totalpuntosextras,
            "porcentajeperdido" => $porcentajeperdido,
            "porcentajeganado" => $porcentajeganado
        ]);  
    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists