Exemplo n.º 1
0
 public function getEditarhorarios(Request $request)
 {
     if (!$request->ajax()) {
         abort(403);
     }
     $dhorarios = \App\Detalleshorarios::select('idmateria', 'iduser', 'idtipoclass', 'idlab', 'idsalon')->where('id', $request->input('id'))->first();
     return \Response::json($dhorarios);
 }
Exemplo n.º 2
0
    /**
     * Update the specified resource in storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function update(Request $request, $id)
    {
        //recuperacion de data para ser prosezada en la base de datos
        $plancpm = \DB::table('horarioss')->where('id', '=', $request->input('id'))->pluck('idplan');
        //-------------------------------------------
        $idsemestre = \DB::table('horarioss')->where('id', '=', $request->input('id'))->pluck('idsemestre');
        //-------------------------------------------
        $idagno = \DB::table('horarioss')->where('id', '=', $request->input('id'))->pluck('idagno');
        $hcpm = \DB::table('cxpxm')->where('idmateria', '=', $request->input('idmateria'))->where('idplan', '=', $plancpm)->get();
        $horasl = \DB::table('cxpxm')->where('idmateria', '=', $request->input('idmateria'))->where('idplan', '=', $plancpm)->pluck('horaslab');
        $horast = \DB::table('cxpxm')->where('idmateria', '=', $request->input('idmateria'))->where('idplan', '=', $plancpm)->pluck('horasteoricas');
        $countlap = \DB::table('detalleshorarios')->where('idhorarioss', '=', $request->input('id'))->where('idmateria', '=', $request->input('idmateria'))->count();
        $countsalon = \DB::table('detalleshorarios')->where('idhorarioss', '=', $request->input('id'))->where('idmateria', '=', $request->input('idmateria'))->count();
        $iduser = \DB::table('detalleshorarios')->where('iduser', '=', $request->input('iduser'))->where('idhora', '=', $request->input('idhora'))->where('iddia', '=', $request->input('iddia'))->pluck('iduser');
        $idhora = \DB::table('detalleshorarios')->where('iduser', '=', $request->input('iduser'))->where('idhora', '=', $request->input('idhora'))->where('iddia', '=', $request->input('iddia'))->pluck('idhora');
        $iddia = \DB::table('detalleshorarios')->where('iduser', '=', $request->input('iduser'))->where('idhora', '=', $request->input('idhora'))->where('iddia', '=', $request->input('iddia'))->pluck('iddia');
        $user2 = \DB::table('detalleshorarios')->where('idmateria', '=', $request->input('idmateria'))->where('idhorarioss', '=', $request->input('id'))->where('idtipoclass', '=', $request->input('idtipoclass'))->pluck('iduser');
        $salon = \DB::table('detalleshorarios')->where('idsalon', '=', $request->input('idsalon'))->where('idtipoclass', '=', $request->input('idtipoclass'))->where('idhora', '=', $request->input('idhora'))->where('iddia', '=', $request->input('iddia'))->where('idagno', '=', $idagno)->where('idsemestre', '=', $idsemestre)->count();
        $lab = \DB::table('detalleshorarios')->where('idlab', '=', $request->input('idlab'))->where('idtipoclass', '=', $request->input('idtipoclass'))->where('idhora', '=', $request->input('idhora'))->where('iddia', '=', $request->input('iddia'))->where('idagno', '=', $idagno)->where('idsemestre', '=', $idsemestre)->count();
        $iddetalles = \DB::table('detalleshorarios')->where('idagno', '=', $idagno)->where('idsemestre', '=', $idsemestre)->where('iduser', '=', $request->input('iduser'))->where('idhora', '=', $request->input('idhora'))->where('iddia', '=', $request->input('iddia'))->count();
        $blockmateria = \DB::table('detalleshorarios')->where('idhorarioss', '=', $request->input('id'))->where('idagno', '=', $idagno)->where('idsemestre', '=', $idsemestre)->where('iddia', '=', $request->input('iddia'))->where('idmateria', '=', $request->input('idmateria'))->count();
        //---------------------------------------------------------------------------------------------
        //filtrado de profesores y coliciones
        if ($request->input('iduser') == 0) {
            $b1 = 1;
            \Session::flash('alert1', 'Usted no a ingresado a un profesor para esta materia');
        }
        if ($iddetalles == 0) {
            $b1 = 2;
        } else {
            $b1 = 1;
            \Session::flash('alert1', 'Usted a tratado de ingresar un profesor que a ya a sido asignado a esta hora y día  en otra facultad o carrera');
        }
        //---------------------------------------------------------------------------------------------------------------
        //filtrado para evitar insertar o sobrepasar el limite de horas teoricas y lab
        if ($request->input('idtipoclass') == 3) {
            if ($horasl == 0) {
                $bloquear = 1;
                \Session::flash('alert1', 'usted a seleccionado una materia que no tiene horas de laboratorio');
            } else {
                if ($horasl == $countlap) {
                    if ($request->input('iddivin') == 1) {
                        $bloquear = 1;
                        \Session::flash('alert1', 'usted a llegado al limite de horas de laboratorio de esta materia ');
                    } else {
                        $bloquear = 2;
                        \Session::flash('alert2', 'aun no a completado la cantidad de horas de laboratorio de esta materia la cantidad limite es ' . $horasl . '');
                        \Session::flash('alert3', 'Este grupo a sido dividido para esta hora y materia. ');
                    }
                } else {
                    $bloquear = 2;
                    \Session::flash('alert2', 'aun no a completado la cantidad de horas de laboratorio de esta materia la cantidad limite es ' . $horasl . '');
                }
            }
        }
        if ($request->input('idtipoclass') == 2) {
            if ($horast == 0) {
                $bloquear = 1;
                \Session::flash('alert1', 'usted a seleccionado una materia que no tiene horas de teoria');
            } else {
                if ($horast == $countsalon) {
                    if ($request->input('iddivin') == 1) {
                        $bloquear = 1;
                        \Session::flash('alert1', 'usted a llegado al limite de horas de laboratorio de esta materia ');
                    } else {
                        $bloquear = 2;
                        \Session::flash('alert2', 'aun no a completado la cantidad de horas de teoria de esta materia la cantidad limite es ' . $horast . '');
                        \Session::flash('alert3', 'Este grupo a sido dividido para esta hora y materia. ');
                    }
                } else {
                    $bloquear = 2;
                    \Session::flash('alert2', 'aun no a completado la cantidad de horas de teoria de esta materia la cantidad limite es ' . $horast . '');
                }
            }
        }
        if ($salon == 0 or $lab == 0) {
            $bloquear3 = 2;
        } else {
            $bloquear3 = 1;
            \Session::flash('alert1', 'El salón o laboratorio seleccionado ya esta en uso a esta hora ');
        }
        //-----------------------------------------------------------------------------
        //filtrado para mantener el mismo profesor	mientras sea una materia teorica
        if ($request->input('idtipoclass') == 2) {
            if ($user2 == $request->input('iduser') or $user2 == 0) {
                $bloquear2 = 2;
            } else {
                $bloquear2 = 1;
                \Session::flash('alert1', 'usted ha seleccionado un profesor diferente al seleccionado  para esta  materia teórica ');
            }
        } else {
            $bloquear2 = 2;
        }
        //--------------------------------------------------------------------------------------------------------------------
        if ($blockmateria == 3 and $request->input('iddivin') == 1) {
            $bloquear4 = 1;
            \Session::flash('alert1', 'Usted a tratado de ingresar mas de 3 horas de esta misma materia en este día.
									Recuerde que debe distribuir las horas de clase de esta materia en los demás días de esta semana. ');
        } else {
            $bloquear4 = 2;
        }
        //bloquea el insert si las horas de la boratorio o clases no coinsiden o has llegado al limite de horas de esa materia
        if ($b1 == 2) {
            if ($bloquear == 2) {
                if ($bloquear2 == 2) {
                    if ($bloquear3 == 2) {
                        if ($bloquear4 == 2) {
                            $Detalleshorarios = Detalleshorarios::find($id);
                            $Detalleshorarios->iddia = $request->input('iddia');
                            $Detalleshorarios->idhorarioss = $request->input('id');
                            $Detalleshorarios->idhora = $request->input('idhora');
                            $Detalleshorarios->iduser = $request->input('iduser');
                            $Detalleshorarios->idtipoclass = $request->input('idtipoclass');
                            $Detalleshorarios->idmateria = $request->input('idmateria');
                            $Detalleshorarios->idlab = $request->input('idlab');
                            $Detalleshorarios->idsalon = $request->input('idsalon');
                            $Detalleshorarios->save();
                            \Session::flash('alert3', 'Datos actualizados  con éxito');
                            return $this->show($Detalleshorarios->idhorarioss);
                        }
                        return $this->show($request->input('id'));
                    }
                    return $this->show($request->input('id'));
                }
                return $this->show($request->input('id'));
            }
            return $this->show($request->input('id'));
            //---------------------------------------------------------------------------------
        }
        return $this->show($request->input('id'));
    }