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); }
/** * 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')); }