<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\{LineaInvestigacion,Personal,LineaPersonal,PersonalVista,CVU};
use Illuminate\Support\Facades\DB;


class LineasPersonalController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $data=$request->all();
        $personal=null;
        if(count($data)>0){
            $bandera=true;
            if ($data['nombre']!=null) {
                if ($data['nombre']!="") {
                    //dd($data['nombre']);
                    $personal=PersonalVista::where(DB::raw("CONCAT(nombre,' ',apellido_paterno,' ',apellido_materno)"), 'LIKE', '%' . $data['nombre'] . '%');
                    $bandera=false;
                    //dd($personal->get());
                }
            }
           if ($bandera) {
           
                if ($data['estado']=="2") {
                    $personal=PersonalVista::where('idDepto',27)->orwhere('idPuesto',30)->orwhere('idPuesto',33);

                }else{
                   if ($data['estado']=="0") {
                    $personal=PersonalVista::where('idDepto',27)->where('idPuesto',33);
                   }else{
                    $personal=PersonalVista::where('idDepto',27)->where('idPuesto',30);
                   }
                }
           }else {
            if ($data['estado']=="2") {
                $personal=$personal->where('idDepto',27)->where('idPuesto',30)->orwhere(DB::raw("CONCAT(nombre,' ',apellido_paterno,' ',apellido_materno)"), 'LIKE', '%' . $data['nombre'] . '%')->where('idDepto',27)->where('idPuesto',33);

            }else{
                

               if ($data['estado']=="0") {
                $personal=$personal->where('idDepto',27)->where('idPuesto',33);
               }else{
                $personal=$personal->where('idDepto',27)->where('idPuesto',30);
               }
            }
           }
           $personal=$personal->with('personalLinea.linea')->distinct()->get();

        }else{
            $personal=PersonalVista::where('idDepto',27)->orwhere('idPuesto',30)->where('idPuesto',33)->with('personalLinea.linea')->distinct()->get();
        }
        //->with('personalLinea.linea')
        return view('admin.nucleo.listadoPersonal',compact('personal','data'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create(Request $request)
    {
        $idPersonal=$request['id'];
        $personal=PersonalVista::where('id',$idPersonal)->first();
        $lineas=LineaInvestigacion::all();
        return view('admin.nucleo.nuevoPersonal',compact('personal','lineas'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        // sesion
        if(isset($_COOKIE['dip'])){
            $usuario=json_decode($_COOKIE['dip']);
            $ide=$usuario->idDP;
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Su sesión a caducado por favor inicie de nuevo.'
            ]); 
        }
        $idPersonal=$request['idPersonal'];
        $lineas=json_decode($request['lineas']);
        if ($idPersonal!=null&&$lineas!=null) {
            foreach ($lineas as $linea) {
                LineaPersonal::create(['linea_id'=>$linea->id,'personal_id'=>$idPersonal]);
            }
            return response()->json([
                'estado'=>'success',
                'mensaje'=>'Sean agregado las líneas con éxito.'
            ]);
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Por favor llena los campos obligatorios.'
            ]);
        }

        
    }

    /**
     * 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)
    {

        $idPersonal=$id;
        $personal=PersonalVista::where('id',$idPersonal)->with('personalLinea.linea')->first();
        $lineas=LineaInvestigacion::all();
        return view('admin.nucleo.editPersonal',compact('personal','lineas'));
        }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        if(isset($_COOKIE['dip'])){
                
            $usuario=json_decode($_COOKIE['dip']);
            $ide=$usuario->idDP;
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Su sesión a caducado por favor inicie de nuevo.'
            ]); 
        }
        $idPersonal=$id;
        $lineas=json_decode($request['lineas']);
        if ($idPersonal!=null&&$lineas!=null) {
            LineaPersonal::where('personal_id','=',$id)->delete();
            foreach ($lineas as $linea) {
                LineaPersonal::create(['linea_id'=>$linea->id,'personal_id'=>$idPersonal]);
            }
            return response()->json([
                'estado'=>'success',
                'mensaje'=>'Sean agregado las líneas con éxito.'
            ]);
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Por favor llena los campos obligatorios.'
            ]);
        }
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
    }
    public function indexDocentes(Request $request)
    {
       
    }
    public function docentesCVUVista($id)
    {
        
        $cvu=CVU::where('personal_id',$id)->first();
        $docente=PersonalVista::where('id',$id)->first();
        return view('admin.nucleo.nuevoCVU',compact('docente','cvu'));
    }
    public function docentesCVUGuardar(Request $request)
    {
        if(isset($_COOKIE['dip'])){
                
            $usuario=json_decode($_COOKIE['dip']);
            $ide=$usuario->idDP;
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Su sesión a caducado por favor inicie de nuevo.'
            ]); 
        }

        $id=$request['idDocente'];
        $documento=$request->file('documentos');
        $ruta = '/pdf/cvu/';

            if ($documento!=null) {
                $nombd="cvu_".$id.".pdf";
                $archi =$nombd;


                if (file_exists(getcwd().$ruta.$nombd)) {
                    if (unlink(getcwd().$ruta.$nombd)) {
                    }
                }
                $documento->move(getcwd().$ruta, $nombd);
                $cvu=CVU::where('personal_id',$id)->first();
                if ($cvu==null) {
                    CVU::create(['cvu'=>$archi,'id_usuario'=>$ide,'personal_id'=>$id]);
                }else {
                    $cvu->cvu=$archi;
                    $cvu->id_usuario=$ide;
                    $cvu->save();
                }
                return response()->json([
                    'estado'=>'success',
                    'mensaje'=>'CUV agregado con éxito.'
                ]);
                    
            }else {
                return response()->json([
                    'estado'=>'error',
                    'mensaje'=>'Por favor llena los campos obligatorios.'
                ]);
            }
       dd($request);
    }
}
//where(DB::raw("CONCAT(nombre,' ',ap,' ',am)")