MINI MINI MANI MO

Path : /var/www/html/sistemas/saplxi/app/Http/Controllers/
File Upload :
Current File : /var/www/html/sistemas/saplxi/app/Http/Controllers/ComisionesController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\CddComisiones;
use App\Models\CddSesionComision;
use App\Models\CddDiputadosLxi;
use App\Models\CddIntegrantesLXI;
use App\Models\CddIniciativas;
use App\Models\CddSubtemas;
use App\Http\Controllers\RecientesController;

class ComisionesController extends Controller
{
    public $request;
    public function __construct(Request $request){
        $this->request = $request;
    }
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        if(isset($this->request->alf)){
            $comisionOrdinaria = CddComisiones::where("tipo", "ordinaria")->where("id",'!=', 1)->where("id",'!=', 2)->orderBy("nombre", 'ASC')->get();
            $comisionEspecial = CddComisiones::where("tipo", "especial")->orderBy("nombre", 'ASC')->get();
            $comisionPermanente = CddComisiones::where("tipo", "comite")->orderBy("nombre", 'ASC')->get();
            $alf = "1";
            // dd($alf);
            return view("pages.comisiones.index", compact("comisionOrdinaria", "comisionEspecial", "comisionPermanente","alf"));

        }else{
            $comisionOrdinaria = CddComisiones::where("tipo", "ordinaria")->where("id",'!=', 1)->where("id",'!=', 2)->orderBy("id", 'ASC')->get();
            $comisionEspecial = CddComisiones::where("tipo", "especial")->get();
            $comisionPermanente = CddComisiones::where("tipo", "comite")->get();
        }
        // dd($this->request->alf);


        return view("pages.comisiones.index", compact("comisionOrdinaria", "comisionEspecial", "comisionPermanente"));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }

    public function obtenerComision($id)
    {

        $id = base64_decode(base64_decode($id));
        $comision = CddComisiones::find($id);

        if($id != 1 && $id != 2 && $id != 51 && $id != 52 && $id != 54 && $id != 55 && $id != 56 && $id != 57 && $id != 58 && $id != 59 && $id != 60 && $id != 61 && $id != 62 && $id != 64 && $id != 66 && $id != 67 && $id != 68 && $id != 69 && $id != 70 ){
            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->first();
            $prosecretario = $comision->integrantes()->where('cargo','=','Prosecretario')->first();
            $integrantes = $comision->integrantes()->where('cargo','=','Miembro')->orderBy('id', 'ASC')->get();
            $integrantes->prepend($prosecretario);
            $integrantes->prepend($secretario);
            $integrantes->prepend($presidente);

        }elseif($id == 2 || $id == 52 || $id == 58 ){

            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $vicePres = $comision->integrantes()->where('cargo','=','Vicepresidenta')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->first();
            $miembros = $comision->integrantes()->where('cargo','=','Miembro')->get();
            $integrantes = $comision->integrantes()->where('cargo','=','Suplente')->get();
            foreach ($miembros as $item){
                $integrantes->prepend($item);
            }
            $integrantes->prepend($secretario);
            $integrantes->prepend($vicePres);
            $integrantes->prepend($presidente);

        }elseif($id == 70){

//            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $vicePres = $comision->integrantes()->where('cargo','=','Vicepresidenta')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->first();
            $miembros = $comision->integrantes()->where('cargo','=','Miembro')->get();
            $integrantes = $comision->integrantes()->where('cargo','=','Suplente')->get();
            foreach ($miembros as $item){
            $integrantes->prepend($item);
            }
            $integrantes->prepend($secretario);
            $integrantes->prepend($vicePres);
//            $integrantes->prepend($presidente);

            } elseif($id == 1){
            $integrantes = $comision->integrantes;

        }elseif($id == 51 || $id == 54 || $id == 55 || $id == 56 || $id == 57 || $id == 59 || $id == 60 || $id == 61 || $id == 62 || $id == 66 || $id == 67 || $id == 68 || $id == 69) {
            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $vicePres = $comision->integrantes()->where('cargo','=','Vicepresidente')->get();
            $integrantes = $comision->integrantes()->where('cargo','=','Secretaria')->get();
            foreach ($vicePres as $data) {
                $integrantes->prepend($data);
            }
            $integrantes->prepend($presidente);

        }elseif($id == 64) {
            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->get();
            $integrantes = $comision->integrantes()->where('cargo','=','Miembro')->get();
            $integrantes->prepend($secretario);
            $integrantes->prepend($presidente);

        }
//        dd($integrantes);

//        dd($integrantes);
        return view("pages.comisiones.integrantes", compact("comision", "integrantes"));
    }

    public function eventoComisiones()
    {
        $eventoComision = CddSesionComision::orderBy('date', 'DESC')->get();

        return view("pages.eventosComision.index",compact('eventoComision'));
    }

    public function asitenciasComision($id)
    {
        $id = base64_decode(base64_decode($id));
        $comision = CddSesionComision::find($id);
        $estatus = [
            1 => "Asistencia",
            2 => "Inasistencia",
            3 => "Justificación",
        ];
        $estatusVotos = [
            1 => "Favor",
            2 => "Contra",
            3 => "Abstencion",
            4 => "Sin registro",
        ];
        $diputados = [];
        if($comision->comision_unida){

            $idcomisiones =  json_decode($comision->id_comision);
            if (count($comision->asistencia)) {
                foreach ($idcomisiones as $value) {

                    $presidente = $comision->asistencias()->where('id_comision', $value)->where('cargo','=','Presidente')->first();
                    $secretario = $comision->asistencias()->where('id_comision', $value)->where('cargo','=','Secretario')->first();
                    $prosecretario = $comision->asistencias()->where('id_comision', $value)->where('cargo','=','Prosecretario')->first();
                    $integrantes = $comision->asistencias()->where('id_comision', $value)->where('cargo','=','Miembro')->orderBy('id', 'ASC')->get();
                    $integrantes->prepend($prosecretario);
                    $integrantes->prepend($secretario);
                    $integrantes->prepend($presidente);

                    $diputados[$value] =  $integrantes;
                }

            }

        }else{

            if (count($comision->asistencia)) {
                $presidente = $comision->asistencias()->where('id_comision', $comision->id_comision)->where('cargo','=','Presidente')->first();
                $secretario = $comision->asistencias()->where('id_comision', $comision->id_comision)->where('cargo','=','Secretario')->first();
                $prosecretario = $comision->asistencias()->where('id_comision', $comision->id_comision)->where('cargo','=','Prosecretario')->first();
                $integrantes = $comision->asistencias()->where('id_comision', $comision->id_comision)->where('cargo','=','Miembro')->orderBy('id', 'ASC')->get();
                $integrantes->prepend($prosecretario);
                $integrantes->prepend($secretario);
                $integrantes->prepend($presidente);

                $diputados[$comision->id_comision] =  $integrantes;

            }
        }

        return view("pages.eventosComision.asistencias", compact("diputados", "comision", "estatus", "estatusVotos"));
    }


    public function TemasVotos($id,$tema,$tipo)
    {
        $id = base64_decode(base64_decode($id));
        $tema = base64_decode(base64_decode($tema));
        $tipo = base64_decode(base64_decode($tipo));
        $comision = CddSesionComision::find($id);
        if($tipo == 1 || $tipo == 0 ){
            $DataTema = $comision->temas()->where('id',$tema)->first();
            if($DataTema->tipo == 1 || $DataTema->tipo == 2){
                $nombreTema = $DataTema->Iniciativa->iniciativa;
            }elseif($DataTema->tipo == 0){
                $nombreTema = $DataTema->tema;
            }

        }else{
            $subtemas = CddSubtemas::find($tema);
            $nombreTema = $subtemas->subtema;
        }

        $estatus = [
            1 => "Favor",
            2 => "Contra",
            3 => "Abstencion",
            4 => "Sin registro",
            5=> "Votos sin registrar",
        ];
        if($comision->comision_unida){
            $idcomisiones =  json_decode($comision->id_comision);

            foreach ($idcomisiones as $value) {

                $presidente = $comision->asistencias()->where('asistencia',1)->where('id_comision',$value)->where('cargo','=','Presidente')->first();
                $secretario = $comision->asistencias()->where('asistencia',1)->where('id_comision',$value)->where('cargo','=','Secretario')->first();
                $prosecretario = $comision->asistencias()->where('asistencia',1)->where('id_comision',$value)->where('cargo','=','Prosecretario')->first();
                $integrantes = $comision->asistencias()->where('asistencia',1)->where('id_comision',$value)->where('cargo','=','Miembro')->orderBy('id', 'ASC')->get();
                $integrantes->prepend($prosecretario);
                $integrantes->prepend($secretario);
                $integrantes->prepend($presidente);
                $diputados[$value] =  $integrantes;

            }

        }else{

            $asistenciasDip = $comision->asistencias()->where('asistencia',1)->get()->pluck('id_diputado');
            $diputados[$comision->id_comision] =  CddDiputadosLxi::whereIn("id", $asistenciasDip )->withTrashed()->get();
            $presidente = $comision->asistencias()->where('asistencia',1)->where('cargo','=','Presidente')->first();
            $secretario = $comision->asistencias()->where('asistencia',1)->where('cargo','=','Secretario')->first();
            $prosecretario = $comision->asistencias()->where('asistencia',1)->where('cargo','=','Prosecretario')->first();
            $integrantes = $comision->asistencias()->where('asistencia',1)->where('cargo','=','Miembro')->orderBy('id', 'ASC')->get();
            $integrantes->prepend($prosecretario);
            $integrantes->prepend($secretario);
            $integrantes->prepend($presidente);

            $diputados[$comision->id_comision] =  $integrantes;
        }

        return view('pages.comisiones.votos', compact('comision', 'diputados', 'estatus', 'tema', 'nombreTema'));
    }

    public function AsuntosComision($id)
    {
        $id = base64_decode(base64_decode($id));
        $comision = CddComisiones::find($id);
        $iniciativas = CddIniciativas::where('categoria','Iniciativa')->orderby('folio','desc')->get();
        $collection = collect();

        foreach ($iniciativas as $value) {
            if(json_decode($value->comisiones) != null){
                $comisionesId = json_decode($value->comisiones);
                foreach ($comisionesId as $data) {
                    if( $comision->id == $data){
                        $collection->push($value);
                    }
                }

            }
        }
        //dd($collection);

        return view('pages.comisiones.asuntos', compact('collection', 'comision'));
    }

    public function ReunionesComision($id)
    {
        $id = base64_decode(base64_decode($id));
        $comision = CddComisiones::find($id);
        $reunioneSola = CddSesionComision::where('id_comision',$comision->id)->where('comision_unida',0)->get();
        $reunionesUnidas = CddSesionComision::where('comision_unida',1)->get();
        $collection = collect();
        foreach ($reunionesUnidas as $value) {
            $comisionesId = json_decode($value->id_comision);
            foreach ($comisionesId as $data) {
                if( $comision->id == $data){
                    $collection->push($value);
                }
            }

        }
        $reuniones = $reunioneSola->merge($collection)->sortByDesc('date');
        //dd($reuniones);
        return view('pages.comisiones.reuniones', compact('reuniones', 'comision'));
    }


    public function ReunionesCompletas()
    {
        $reuniones = CddSesionComision::all()->sortByDesc('sesion');
        return view('pages.comisiones.reunionesCom', compact('reuniones'));
    }
    public function comites()
    {
        if(isset($this->request->alf)){
            $comisionOrdinaria = CddComisiones::where("tipo", "ordinaria")->where("id",'!=', 1)->where("id",'!=', 2)->orderBy("nombre", 'ASC')->get();
            $comisionEspecial = CddComisiones::where("tipo", "especial")->orderBy("nombre", 'ASC')->get();
            $comisionPermanente = CddComisiones::where("tipo", "comite")->orderBy("nombre", 'ASC')->get();
            $alf = "1";
            // dd($alf);
            return view("pages.comisiones.index", compact("comisionOrdinaria", "comisionEspecial", "comisionPermanente","alf"));

        }else{
            $comisionOrdinaria = CddComisiones::where("tipo", "ordinaria")->where("id",'!=', 1)->where("id",'!=', 2)->orderBy("id", 'ASC')->get();
            $comisionEspecial = CddComisiones::where("tipo", "especial")->get();
            $comisionPermanente = CddComisiones::where("tipo", "comite")->get();
        }
        // dd($this->request->alf);


        return view("pages.comites.index", compact("comisionOrdinaria", "comisionEspecial", "comisionPermanente"));
    }
    public function obtenerComites($id)
    {

        $id = base64_decode(base64_decode($id));
        $comision = CddComisiones::find($id);

        if($id != 1 && $id != 2 && $id != 51 && $id != 52 && $id != 54 && $id != 55 && $id != 56 && $id != 57 && $id != 58 && $id != 59 && $id != 60 && $id != 61 && $id != 62 && $id != 64 && $id != 66  && $id != 67 && $id != 68 || $id == 69 || $id == 70){
            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->first();
            $prosecretario = $comision->integrantes()->where('cargo','=','Prosecretario')->first();
            $integrantes = $comision->integrantes()->where('cargo','=','Miembro')->orderBy('id', 'ASC')->get();
            $integrantes->prepend($prosecretario);
            $integrantes->prepend($secretario);
            $integrantes->prepend($presidente);

        }elseif($id == 2 || $id == 52 || $id == 58 ){

            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $vicePres = $comision->integrantes()->where('cargo','=','Vicepresidenta')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->first();
            $miembros = $comision->integrantes()->where('cargo','=','Miembro')->get();
            $integrantes = $comision->integrantes()->where('cargo','=','Suplente')->get();
            $integrantes->prepend($miembros);
            $integrantes->prepend($secretario);
            $integrantes->prepend($vicePres);
            $integrantes->prepend($presidente);



        }elseif($id == 70){

//            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $vicePres = $comision->integrantes()->where('cargo','=','Vicepresidenta')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->first();
            $miembros = $comision->integrantes()->where('cargo','=','Miembro')->get();
            $integrantes = $comision->integrantes()->where('cargo','=','Suplente')->get();
            foreach ($miembros as $item){
            $integrantes->prepend($item);
            }
            $integrantes->prepend($secretario);
            $integrantes->prepend($vicePres);
            //            $integrantes->prepend($presidente);

            } elseif($id == 1){
            $integrantes = $comision->integrantes;

        }elseif($id == 51 || $id == 54 || $id == 55 || $id == 56 || $id == 57 || $id == 59 || $id == 60 || $id == 61 || $id == 62 || $id == 66 || $id == 67 || $id == 68 || $id == 69){
            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $vicePres = $comision->integrantes()->where('cargo','=','Vicepresidente')->get();
            $integrantes = $comision->integrantes()->where('cargo','=','Secretaria')->get();
            foreach ($vicePres as $data) {
                $integrantes->prepend($data);
            }
            $integrantes->prepend($presidente);

        }elseif($id == 64) {
            $presidente = $comision->integrantes()->where('cargo','=','Presidente')->first();
            $secretario = $comision->integrantes()->where('cargo','=','Secretario')->first();
            $integrantes = $comision->integrantes()->where('cargo','=','Miembro')->get();
            $integrantes->prepend($secretario);
            $integrantes->prepend($presidente);

        }
//        dd($integrantes);




        return view("pages.comites.integrantes", compact("comision", "integrantes"));
    }
}

OHA YOOOO