public function resetearevalasesor(Request $request)
 {
     $user = Auth::user();
     $idUsuario = $user->id;
     $pais = DB::table('SCC_OrganismosUsuarios')->join('SCC_Usuarios', 'SCC_OrganismosUsuarios.IdUsuario', '=', 'SCC_Usuarios.Id')->join('SCC_Organismos', 'SCC_Organismos.Id', '=', 'SCC_OrganismosUsuarios.IdOrganismo')->join('SCC_Estados', 'SCC_Estados.Id', '=', 'SCC_Organismos.IdEstado')->join('SCC_Regiones', 'SCC_Regiones.Id', '=', 'SCC_Estados.IdRegion')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_Regiones.IdPais')->select('SCC_Paises.Id')->where('SCC_OrganismosUsuarios.IdUsuario', '=', $idUsuario)->first();
     if ($request->Opcion == 1) {
         $validator = Validator::make($request->all(), ['NoControlAlumno' => 'required|min:10']);
         if ($validator->fails()) {
             return response()->json(['bandera' => false, 'message' => $validator->errors()]);
         } else {
             $alumno = Alumno::join('SCC_GrupoAlumnos', 'SCC_GrupoAlumnos.IdAlumno', '=', 'SCC_Alumnos.Id')->join('SCC_Grupos', 'SCC_Grupos.Id', '=', 'SCC_GrupoAlumnos.IdGrupo')->join('SCC_CiclosEscolares', 'SCC_CiclosEscolares.Id', '=', 'SCC_Grupos.IdCicloEscolar')->select('SCC_Grupos.Nombre AS Grupo', 'SCC_Alumnos.NoControl', 'SCC_Alumnos.NombreCompleto', 'SCC_Grupos.IdGrado')->where('SCC_Alumnos.NoControl', $request->NoControlAlumno)->where('SCC_CiclosEscolares.IsActivo', 1)->distinct()->first();
             $evaluaciones = DB::table('SCC_Evaluaciones')->join('SCC_EvaluacionesAlumno', 'SCC_EvaluacionesAlumno.IdEvaluacion', '=', 'SCC_Evaluaciones.Id')->join('SCC_GrupoAlumnos', 'SCC_GrupoAlumnos.Id', '=', 'SCC_EvaluacionesAlumno.IdGrupoAlumno')->join('SCC_Grupos', 'SCC_Grupos.Id', '=', 'SCC_GrupoAlumnos.IdGrupo')->join('SCC_CiclosEscolares', 'SCC_CiclosEscolares.Id', '=', 'SCC_Grupos.IdCicloEscolar')->join('SCC_Alumnos', 'SCC_Alumnos.Id', '=', 'SCC_GrupoAlumnos.IdAlumno')->select('SCC_Evaluaciones.Id', 'SCC_Evaluaciones.Nombre', 'SCC_EvaluacionesAlumno.IdStatus', 'SCC_GrupoAlumnos.Id as IdGrupoAlumno')->where('SCC_CiclosEscolares.IsActivo', '=', 1)->where('SCC_Evaluaciones.IsActivo', '=', 1)->where('SCC_Alumnos.NoControl', '=', $request->NoControlAlumno)->get();
             return response()->json(['bandera' => true, 'message' => $alumno, 'evaluaciones' => $evaluaciones]);
         }
     } else {
         $validator = Validator::make($request->all(), ['Estado' => 'required', 'Organismo' => 'required', 'Grado' => 'required', 'Grupo' => 'required']);
         if ($validator->fails()) {
             return response()->json(['bandera' => false, 'message' => $validator->errors()]);
         } else {
             $grupo = Grupo::join('SCC_CiclosEscolares', 'SCC_CiclosEscolares.Id', '=', 'SCC_Grupos.IdCicloEscolar')->select('SCC_Grupos.Nombre AS Grupo', 'SCC_Grupos.IdGrado', 'SCC_Grupos.Id AS IdGrupo')->where('SCC_Grupos.Id', $request->Grupo)->where('SCC_CiclosEscolares.IsActivo', 1)->distinct()->first();
             $evaluaciones = DB::table('SCC_Evaluaciones')->join('SCC_CiclosEscolares', 'SCC_CiclosEscolares.Id', '=', 'SCC_Evaluaciones.IdCicloEscolar')->select('SCC_Evaluaciones.Id', 'SCC_Evaluaciones.Nombre')->where('SCC_CiclosEscolares.IsActivo', '=', 1)->where('SCC_Evaluaciones.IsActivo', '=', 1)->where('SCC_Evaluaciones.IdGrado', '=', $grupo->IdGrado)->where('SCC_CiclosEscolares.IdPais', '=', $pais->Id)->get();
             return response()->json(['bandera' => true, 'message' => $grupo, 'evaluaciones' => $evaluaciones]);
         }
     }
 }
 /**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
     Validator::extend('invalid_group', function ($attribute, $value, $parameters) {
         $Nombre = $parameters[0];
         $IdGrado = $parameters[1];
         $IdCiclo = $parameters[2];
         $IdOrganismo = $parameters[3];
         $grupo = Grupo::where('Nombre', '=', trim($Nombre))->where('IdGrado', '=', trim($IdGrado))->where('IdCicloEscolar', '=', trim($IdCiclo))->where('IdOrganismo', '=', trim($IdOrganismo))->get();
         if (count($grupo) > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('eval_register', function ($attribute, $value, $parameters) {
         $grado = $parameters[0];
         $ciclo = $parameters[1];
         $evaluaciones = DB::table('SCC_Grados')->join('SCC_Evaluaciones', 'SCC_Evaluaciones.IdGrado', '=', 'SCC_Grados.Id')->where('SCC_Grados.Id', '=', $grado)->where('SCC_Evaluaciones.IdCicloEscolar', '=', $ciclo)->where('SCC_Evaluaciones.IsActivo', '=', 1)->get();
         if (count($evaluaciones) > 0) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('invalid_code', function ($attribute, $value, $parameters) {
         $code = $parameters[0];
         $codigo = Codigos::where('Codigo', '=', $code)->where('IdStatus', '=', 1)->where('IsActivo', '=', 1)->get()->toArray();
         if (count($codigo) > 0) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('student_in_cycle', function ($attribute, $value, $parameters) {
         $nocontrol = $parameters[0];
         $alumno = DB::table('SCC_Alumnos')->join('SCC_AlumnoCodigo', 'SCC_AlumnoCodigo.IdAlumno', '=', 'SCC_Alumnos.Id')->join('SCC_CiclosEscolares', 'SCC_CiclosEscolares.Id', '=', 'SCC_AlumnoCodigo.IdCicloEscolar')->select('SCC_Alumnos.Id')->where('SCC_Alumnos.NoControl', '=', $nocontrol)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->get();
         if (count($alumno) > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('invalid_nocontrol', function ($attribute, $value, $parameters) {
         $nocontrol = $parameters[0];
         $alumno = Alumno::where('NoControl', '=', $nocontrol)->where('IsActivo', '=', 1)->get()->toArray();
         if (count($alumno) > 0) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('invalid_student', function ($attribute, $value, $parameters) {
         $nombre = trim($parameters[0]);
         $appaterno = trim($parameters[1]);
         $apmaterno = trim($parameters[2]);
         $segundonombre = trim($parameters[3]);
         $fechanacimiento = trim($parameters[4]);
         if ($segundonombre == '') {
             $alumno = DB::table('SCC_Alumnos')->select('SCC_Alumnos.Id')->where('SCC_Alumnos.PrimerNombre', '=', $nombre)->where('SCC_Alumnos.ApellidoPaterno', '=', $appaterno)->where('SCC_Alumnos.ApellidoMaterno', '=', $apmaterno)->where('SCC_Alumnos.FechaNacimiento', '=', $fechanacimiento)->get();
         } else {
             $alumno = DB::table('SCC_Alumnos')->select('SCC_Alumnos.Id')->where('SCC_Alumnos.PrimerNombre', '=', $nombre)->where('SCC_Alumnos.SegundoNombre', '=', $segundonombre)->where('SCC_Alumnos.ApellidoPaterno', '=', $appaterno)->where('SCC_Alumnos.ApellidoMaterno', '=', $apmaterno)->where('SCC_Alumnos.FechaNacimiento', '=', $fechanacimiento)->get();
         }
         if (count($alumno) > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('invalid_grade', function ($attribute, $value, $parameters) {
         $nocontrol = trim($parameters[0]);
         $codigo = trim($parameters[1]);
         $grado = DB::table('SCC_AlumnoCodigo')->join('SCC_Alumnos', 'SCC_Alumnos.Id', '=', 'SCC_AlumnoCodigo.IdAlumno')->join('SCC_Codigos', 'SCC_Codigos.Id', '=', 'SCC_AlumnoCodigo.IdCodigo')->join('SCC_Ordenes', 'SCC_Ordenes.Id', '=', 'SCC_Codigos.IdOrden')->select(DB::raw('max(SCC_Ordenes.IdGrado) as IdGrado'))->where('SCC_Alumnos.NoControl', '=', $nocontrol)->first();
         $ultimogrado = $grado->IdGrado;
         $gradocodigo = DB::table('SCC_Codigos')->join('SCC_Ordenes', 'SCC_Ordenes.Id', '=', 'SCC_Codigos.IdOrden')->select('SCC_Ordenes.IdGrado')->where('SCC_Codigos.Codigo', '=', $codigo)->first();
         $gradoacursar = $gradocodigo->IdGrado;
         if ($gradoacursar >= $ultimogrado) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('unique_in_country', function ($attribute, $value, $parameters) {
         $nameCycle = $parameters[0];
         $user = Auth::user();
         $Id = $user->id;
         $pais = DB::table('SCC_Usuarios')->join('SCC_UsuarioPaisRegion', 'SCC_UsuarioPaisRegion.IdUsuario', '=', 'SCC_Usuarios.id')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_UsuarioPaisRegion.IdPais')->select('SCC_Paises.Nombre', 'SCC_Paises.Id')->where('SCC_UsuarioPaisRegion.IdUsuario', '=', $Id)->where('SCC_Paises.IsActivo', '=', 1)->first();
         $ciclo = DB::table('SCC_CiclosEscolares')->select('SCC_CiclosEscolares.Id')->where('SCC_CiclosEscolares.IdPais', '=', $pais->Id)->where('SCC_CiclosEscolares.Nombre', '=', $nameCycle)->count();
         if ($ciclo > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('region_unique_in_country', function ($attribute, $value, $parameters) {
         $nameRegion = $parameters[0];
         $user = Auth::user();
         $Id = $user->id;
         $pais = DB::table('SCC_Usuarios')->join('SCC_UsuarioPaisRegion', 'SCC_UsuarioPaisRegion.IdUsuario', '=', 'SCC_Usuarios.id')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_UsuarioPaisRegion.IdPais')->select('SCC_Paises.Nombre', 'SCC_Paises.Id')->where('SCC_UsuarioPaisRegion.IdUsuario', '=', $Id)->where('SCC_Paises.IsActivo', '=', 1)->first();
         $region = DB::table('SCC_Regiones')->select('SCC_Regiones.Id')->where('SCC_Regiones.IdPais', '=', $pais->Id)->where('SCC_Regiones.Nombre', '=', $nameRegion)->count();
         if ($region > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('region_unique_in_country_sa', function ($attribute, $value, $parameters) {
         $nameRegion = $parameters[0];
         $IdPais = $parameters[1];
         $region = DB::table('SCC_Regiones')->select('SCC_Regiones.Id')->where('SCC_Regiones.IdPais', '=', $IdPais)->where('SCC_Regiones.Nombre', '=', $nameRegion)->count();
         if ($region > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('unique_in_evaluacion', function ($attribute, $value, $parameters) {
         $namePProyecto = $parameters[0];
         $type = $parameters[1];
         $evaluacion = $parameters[2];
         $user = Auth::user();
         $Id = $user->id;
         $practicaproyecto = DB::table('SCC_PracticasProyectos')->select('SCC_PracticasProyectos.Id')->where('SCC_PracticasProyectos.IdEvaluacion', '=', $evaluacion)->where('SCC_PracticasProyectos.Nombre', '=', $namePProyecto)->where('SCC_PracticasProyectos.IdTipo', '=', $type)->count();
         if ($practicaproyecto > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('unique_in_grade', function ($attribute, $value, $parameters) {
         $nameEval = $parameters[0];
         $ciclo = $parameters[1];
         $grado = $parameters[2];
         $user = Auth::user();
         $Id = $user->id;
         $evaluacion = DB::table('SCC_Evaluaciones')->select('SCC_Evaluaciones.Id')->where('SCC_Evaluaciones.Nombre', '=', $nameEval)->where('SCC_Evaluaciones.IdCicloEscolar', '=', $ciclo)->where('SCC_Evaluaciones.IdGrado', '=', $grado)->count();
         if ($evaluacion > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('state_unique_in_country', function ($attribute, $value, $parameters) {
         $nameState = $parameters[0];
         $user = Auth::user();
         $Id = $user->id;
         $pais = DB::table('SCC_Usuarios')->join('SCC_UsuarioPaisRegion', 'SCC_UsuarioPaisRegion.IdUsuario', '=', 'SCC_Usuarios.id')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_UsuarioPaisRegion.IdPais')->select('SCC_Paises.Nombre', 'SCC_Paises.Id')->where('SCC_UsuarioPaisRegion.IdUsuario', '=', $Id)->where('SCC_Paises.IsActivo', '=', 1)->first();
         $regiones = DB::table('SCC_Regiones')->select('SCC_Regiones.Id')->where('SCC_Regiones.IdPais', '=', $pais->Id)->get();
         $num = count($regiones);
         $i = 1;
         if ($num > 0) {
             foreach ($regiones as $region) {
                 $ids[$i] = $region->Id;
                 $i++;
             }
         }
         $estado = DB::table('SCC_Estados')->join('SCC_Regiones', 'SCC_Regiones.Id', '=', 'SCC_Estados.IdRegion')->select('SCC_Estados.Id')->whereIn('SCC_Regiones.Id', $ids)->where('SCC_Estados.Nombre', '=', $nameState)->count();
         if ($estado > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('state_unique_in_country_sa', function ($attribute, $value, $parameters) {
         $nameState = $parameters[0];
         $IdCountry = $parameters[1];
         $pais = DB::table('SCC_Paises')->select('SCC_Paises.Nombre', 'SCC_Paises.Id')->where('SCC_Paises.Id', '=', $IdCountry)->where('SCC_Paises.IsActivo', '=', 1)->first();
         $regiones = DB::table('SCC_Regiones')->select('SCC_Regiones.Id')->where('SCC_Regiones.IdPais', '=', $pais->Id)->get();
         $num = count($regiones);
         $i = 1;
         if ($num > 0) {
             foreach ($regiones as $region) {
                 $ids[$i] = $region->Id;
                 $i++;
             }
         }
         $estado = DB::table('SCC_Estados')->join('SCC_Regiones', 'SCC_Regiones.Id', '=', 'SCC_Estados.IdRegion')->select('SCC_Estados.Id')->whereIn('SCC_Regiones.Id', $ids)->where('SCC_Estados.Nombre', '=', $nameState)->count();
         if ($estado > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('validating_dates', function ($attribute, $value, $parameters) {
         $start = $parameters[0];
         $finish = $parameters[1];
         if ($start > $finish) {
             return false;
         } else {
             if ($start == $finish) {
                 return false;
             } else {
                 return true;
             }
         }
     });
     Validator::extend('active_schoolcycle', function ($attribute, $value, $parameters) {
         $user = Auth::user();
         $Id = $user->id;
         $pais = DB::table('SCC_Usuarios')->join('SCC_UsuarioPaisRegion', 'SCC_UsuarioPaisRegion.IdUsuario', '=', 'SCC_Usuarios.id')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_UsuarioPaisRegion.IdPais')->select('SCC_Paises.Nombre', 'SCC_Paises.Id')->where('SCC_UsuarioPaisRegion.IdUsuario', '=', $Id)->where('SCC_Paises.IsActivo', '=', 1)->first();
         $ciclo = DB::table('SCC_CiclosEscolares')->select('SCC_CiclosEscolares.Id')->where('SCC_CiclosEscolares.IdPais', '=', $pais->Id)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->count();
         if ($ciclo > 0) {
             return false;
         } else {
             return true;
         }
     });
     Validator::extend('invalid_schoolcycle', function ($attribute, $value, $parameters) {
         $idinstitucion = $parameters[0];
         $ciclo = DB::table('SCC_CiclosEscolares')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_CiclosEscolares.IdPais')->join('SCC_Regiones', 'SCC_Regiones.IdPais', '=', 'SCC_Paises.Id')->join('SCC_Estados', 'SCC_Estados.IdRegion', '=', 'SCC_Regiones.Id')->join('SCC_Organismos', 'SCC_Organismos.IdEstado', '=', 'SCC_Estados.Id')->select('SCC_CiclosEscolares.Id')->where('SCC_Organismos.Id', '=', $idinstitucion)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->count();
         if (count($ciclo) > 0) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('invalid_grade_transfer', function ($attribute, $value, $parameters) {
         $actual = $parameters[0];
         $deseado = $parameters[1];
         if (trim($deseado) == trim($actual)) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('invalid_student_group', function ($attribute, $value, $parameters) {
         $NoControl = $parameters[0];
         $Grado = $parameters[1];
         $Grupo = $parameters[2];
         $IdInstitucion = Session::get('IdInstitucion');
         $ciclo = DB::table('SCC_CiclosEscolares')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_CiclosEscolares.IdPais')->join('SCC_Regiones', 'SCC_Regiones.IdPais', '=', 'SCC_Paises.Id')->join('SCC_Estados', 'SCC_Estados.IdRegion', '=', 'SCC_Regiones.Id')->join('SCC_Organismos', 'SCC_Organismos.IdEstado', '=', 'SCC_Estados.Id')->select('SCC_CiclosEscolares.Id')->where('SCC_Organismos.Id', '=', $IdInstitucion)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->first();
         $idCiclo = $ciclo->Id;
         $data = DB::table('SCC_Alumnos')->join('SCC_GrupoAlumnos', 'SCC_GrupoAlumnos.IdAlumno', '=', 'SCC_Alumnos.Id')->join('SCC_Grupos', 'SCC_Grupos.Id', '=', 'SCC_GrupoAlumnos.IdGrupo')->join('SCC_Grados', 'SCC_Grados.Id', '=', 'SCC_Grupos.IdGrado')->select('SCC_Grupos.Id', 'SCC_Grupos.IdGrado')->where('SCC_Alumnos.NoControl', '=', $NoControl)->where('SCC_Alumnos.IsActivo', '=', 1)->where('SCC_Grupos.IdOrganismo', '=', $IdInstitucion)->where('SCC_Grupos.IdCicloEscolar', '=', $idCiclo)->first();
         $IdGradoActual = $data->IdGrado;
         if ($IdGradoActual == trim($Grado)) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('array_size', function ($attribute, $value, $parameters) {
         $size = $parameters[0];
         if ($size > 0) {
             return true;
         } else {
             return false;
         }
     });
     Validator::extend('array_size_muestreo', function ($attribute, $value, $parameters) {
         $tam = $parameters[0];
         $grado = $parameters[1];
         $ciclo = $parameters[2];
         $grupo = $parameters[3];
         $IdInstitucion = Session::get('IdInstitucion');
         $data = DB::table('SCC_Usuarios')->join('SCC_RolesUsuario', 'SCC_RolesUsuario.IdUsuario', '=', 'SCC_Usuarios.id')->join('SCC_Roles', 'SCC_Roles.Id', '=', 'SCC_RolesUsuario.IdRol')->join('SCC_OrganismosUsuarios', 'SCC_OrganismosUsuarios.IdUsuario', '=', 'SCC_Usuarios.id')->join('SCC_Organismos', 'SCC_Organismos.Id', '=', 'SCC_OrganismosUsuarios.IdOrganismo')->join('SCC_Grupos', 'SCC_Grupos.IdUsuario', '=', 'SCC_Usuarios.id')->join('SCC_CiclosEscolares', 'SCC_CiclosEscolares.Id', '=', 'SCC_Grupos.IdCicloEscolar')->select(DB::raw('count(distinct(SCC_Grupos.IdUsuario)) as total'))->where('SCC_Organismos.Id', '=', $IdInstitucion)->where('SCC_Roles.Id', '=', 5)->where('SCC_Usuarios.IsActivo', '=', 1)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->where('SCC_Grupos.IsActivo', '=', 1)->where('SCC_Grupos.IdGrado', '=', $grado)->first();
         $docentesdelgrado = $data->total;
         $current = DB::connection()->select('EXEC GetEvalToReview ?,?', array($ciclo, $grado));
         $orden = $current[0]->Evaluacion;
         $user = Auth::user();
         $idUsuario = $user->id;
         $mactualdocente = DB::table('SCC_GrupoAlumnos')->join('SCC_Grupos', 'SCC_Grupos.Id', '=', 'SCC_GrupoAlumnos.IdGrupo')->select('SCC_GrupoAlumnos.Id')->where('SCC_Grupos.IdOrganismo', '=', $IdInstitucion)->where('SCC_Grupos.IsActivo', '=', 1)->where('SCC_Grupos.IdGrado', '=', $grado)->where('SCC_Grupos.IdUsuario', '=', $idUsuario)->where('SCC_Grupos.IdCicloEscolar', '=', $ciclo)->where('SCC_GrupoAlumnos.IsMuestra', '=', 1)->count();
         if ($tam > 0) {
             if ($docentesdelgrado > 1) {
                 if ($orden == 1) {
                     $muestreo = 6;
                     $muestrapordocente = ceil($muestreo / $docentesdelgrado);
                     $derechoa = $muestrapordocente - $mactualdocente;
                     if ($derechoa >= $tam) {
                         return true;
                     } else {
                         return false;
                     }
                 } else {
                     if ($orden > 1) {
                         if ($orden == 2) {
                             $muestreo = 6 + $docentesdelgrado;
                         } else {
                             if ($orden == 3) {
                                 $muestreo = 6 + $docentesdelgrado + $docentesdelgrado;
                             } else {
                                 if ($orden == 4) {
                                     $muestreo = 6 + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado;
                                 } else {
                                     if ($orden == 5) {
                                         $muestreo = 6 + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado;
                                     } else {
                                         if ($orden == 6) {
                                             $muestreo = 6 + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado;
                                         } else {
                                             if ($orden == 7) {
                                                 $muestreo = 6 + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado + $docentesdelgrado;
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                         $muestrapordocente = ceil($muestreo / $docentesdelgrado);
                         $derechoa = $muestrapordocente - $mactualdocente;
                         if ($derechoa >= $tam) {
                             return true;
                         } else {
                             return false;
                         }
                     } else {
                         if ($orden == null) {
                             return false;
                         }
                     }
                 }
             } else {
                 if ($orden == 1) {
                     $muestreo = 5;
                     $restantes = $muestreo - $mactualdocente;
                     if ($tam > $restantes) {
                         return false;
                     } else {
                         return true;
                     }
                 } else {
                     if ($orden > 1) {
                         $muestreo = 5 + $orden - 1;
                         $restantes = $muestreo - $mactualdocente;
                         if ($tam > $restantes) {
                             return false;
                         } else {
                             return true;
                         }
                     } else {
                         if ($orden == null) {
                             return false;
                         }
                     }
                 }
             }
         } else {
             return false;
         }
     });
 }
Ejemplo n.º 3
0
 public function addAlumno(Request $request)
 {
     $nuevoIngreso = $request->NuevoIngreso;
     if ($request->Mes < 10) {
         $Mes = '0' . $request->Mes;
     } else {
         $Mes = $request->Mes;
     }
     if ($request->Dia < 10) {
         $Dia = '0' . $request->Dia;
     } else {
         $Dia = $request->Dia;
     }
     $fechaNacimiento = $request->Anio . '' . $Mes . '' . $Dia;
     if ($nuevoIngreso == 1) {
         $validator = Validator::make($request->all(), ['Pais' => 'required', 'Estado' => 'required', 'Institucion' => 'required|invalid_schoolcycle:' . $request->Institucion . '', 'Codigo' => 'required|invalid_code:' . $request->Codigo . '', 'NuevoIngreso' => 'required', 'NombreAlumno' => 'required', 'ApellidoPaterno' => 'required', 'ApellidoMaterno' => 'required|invalid_student:' . $request->NombreAlumno . ',' . $request->ApellidoPaterno . ',' . $request->ApellidoMaterno . ',' . $request->SNombre . ',' . $fechaNacimiento . '', 'sexo' => 'required', 'Dia' => 'required', 'Mes' => 'required', 'Anio' => 'required']);
     } else {
         if ($nuevoIngreso == 2) {
             $validator = Validator::make($request->all(), ['Pais' => 'required', 'Estado' => 'required', 'Institucion' => 'required|invalid_schoolcycle:' . $request->Institucion . '', 'Codigo' => 'required|invalid_code:' . $request->Codigo . '', 'NuevoIngreso' => 'required', 'NoControlAlumno' => 'required|invalid_nocontrol:' . $request->NoControlAlumno . '|student_in_cycle:' . $request->NoControlAlumno . '|invalid_grade:' . $request->NoControlAlumno . ',' . $request->Codigo . '']);
         } else {
             $validator = Validator::make($request->all(), ['Pais' => 'required', 'Estado' => 'required', 'Institucion' => 'required|invalid_schoolcycle:' . $request->Institucion . '', 'NuevoIngreso' => 'required']);
         }
     }
     if ($validator->fails()) {
         return response()->json(['bandera' => false, 'message' => $validator->errors()]);
     } else {
         $date = date("Ymd H:i:s");
         $fechaN = $request->Anio . '-' . $request->Mes . '-' . $request->Dia;
         $FechaN = new DateTime($fechaN);
         $FechaN->format('H:i:s');
         if ($request->NuevoIngreso == 1) {
             $alumno = new Alumno();
             $alumno->IdGenero = $request->sexo;
             $alumno->PrimerNombre = trim(strtoupper($request->NombreAlumno));
             if ($request->SNombre != "") {
                 $alumno->SegundoNombre = trim(strtoupper($request->SNombre));
                 $alumno->NombreCompleto = trim(strtoupper($request->NombreAlumno)) . ' ' . trim(strtoupper($request->SNombre)) . ' ' . trim(strtoupper($request->ApellidoPaterno)) . ' ' . trim(strtoupper($request->ApellidoMaterno));
             } else {
                 $alumno->NombreCompleto = trim(strtoupper($request->NombreAlumno)) . ' ' . trim(strtoupper($request->ApellidoPaterno)) . ' ' . trim(strtoupper($request->ApellidoMaterno));
             }
             $alumno->ApellidoMaterno = trim(strtoupper($request->ApellidoMaterno));
             $alumno->ApellidoPaterno = trim(strtoupper($request->ApellidoPaterno));
             $alumno->FechaNacimiento = $fechaNacimiento;
             $alumno->IsActivo = 1;
             $alumno->FechaAdd = $date;
             $alumno->FechaUpdate = $date;
             $alumno->save();
             $LastInsertId = $alumno->id;
             $noControl = 'SCC-0' . $alumno->id;
             if ($LastInsertId > 99999) {
                 $noControl = 'SCC-' . $alumno->id;
             }
             $query = DB::table('SCC_Alumnos')->where('Id', $LastInsertId)->update(['NoControl' => $noControl]);
             $codigo = DB::table('SCC_Codigos')->select('SCC_Codigos.Id')->where('SCC_Codigos.Codigo', '=', $request->Codigo)->first();
             $idCodigo = $codigo->Id;
             $ciclo = DB::table('SCC_CiclosEscolares')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_CiclosEscolares.IdPais')->join('SCC_Regiones', 'SCC_Regiones.IdPais', '=', 'SCC_Paises.Id')->join('SCC_Estados', 'SCC_Estados.IdRegion', '=', 'SCC_Regiones.Id')->join('SCC_Organismos', 'SCC_Organismos.IdEstado', '=', 'SCC_Estados.Id')->select('SCC_CiclosEscolares.Id')->where('SCC_Organismos.Id', '=', $request->Institucion)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->first();
             $idCiclo = $ciclo->Id;
             $alumnocodigo = new AlumnoCodigo();
             $alumnocodigo->IdAlumno = $LastInsertId;
             $alumnocodigo->IdCodigo = $idCodigo;
             $alumnocodigo->IdOrganismo = $request->Institucion;
             $alumnocodigo->IsNuevoIngreso = 1;
             $alumnocodigo->IdCicloEscolar = $idCiclo;
             $alumnocodigo->IsActivo = 1;
             $alumnocodigo->FechaAdd = $date;
             $alumnocodigo->FechaUpdate = $date;
             $alumnocodigo->save();
             $query = DB::table('SCC_Codigos')->where('Id', $idCodigo)->update(['IdStatus' => 2]);
             if ($query) {
                 return response()->json(['bandera' => true, 'message' => 'El alumno se registro correctamente']);
             } else {
                 return response()->json(['bandera' => false, 'message' => 'Ocurrio un error, intente nuevamente']);
             }
         } else {
             $alumno = DB::table('SCC_Alumnos')->select('SCC_Alumnos.Id')->where('SCC_Alumnos.NoControl', '=', $request->NoControlAlumno)->first();
             $idAlumno = $alumno->Id;
             $codigo = DB::table('SCC_Codigos')->select('SCC_Codigos.Id')->where('SCC_Codigos.Codigo', '=', $request->Codigo)->first();
             $idCodigo = $codigo->Id;
             $ciclo = DB::table('SCC_CiclosEscolares')->join('SCC_Paises', 'SCC_Paises.Id', '=', 'SCC_CiclosEscolares.IdPais')->join('SCC_Regiones', 'SCC_Regiones.IdPais', '=', 'SCC_Paises.Id')->join('SCC_Estados', 'SCC_Estados.IdRegion', '=', 'SCC_Regiones.Id')->join('SCC_Organismos', 'SCC_Organismos.IdEstado', '=', 'SCC_Estados.Id')->select('SCC_CiclosEscolares.Id')->where('SCC_Organismos.Id', '=', $request->Institucion)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->first();
             $idCiclo = $ciclo->Id;
             $alumnocodigo = new AlumnoCodigo();
             $alumnocodigo->IdAlumno = $idAlumno;
             $alumnocodigo->IdCodigo = $idCodigo;
             $alumnocodigo->IdOrganismo = $request->Institucion;
             $alumnocodigo->IsNuevoIngreso = 0;
             $alumnocodigo->IdCicloEscolar = $idCiclo;
             $alumnocodigo->IsActivo = 1;
             $alumnocodigo->FechaAdd = $date;
             $alumnocodigo->FechaUpdate = $date;
             $alumnocodigo->save();
             $query = DB::table('SCC_Codigos')->where('Id', $idCodigo)->update(['IdStatus' => 2]);
             if ($query) {
                 return response()->json(['bandera' => true, 'message' => 'El alumno se registro correctamente']);
             } else {
                 return response()->json(['bandera' => false, 'message' => 'Ocurrio un error, intente nuevamente']);
             }
         }
     }
 }