public function delete(Request $request)
 {
     $iddocente = $request->IdDocente;
     $Grupos = Grupo::where('IdUsuario', '=', $iddocente)->count();
     $Ordenes = Ordenes::where('IdUsuario', '=', $iddocente)->count();
     $OrganismosUsuarios = OrganismosUsuarios::where('IdUsuario', '=', $iddocente)->count();
     $UsuarioPaisRegion = UsuarioPaisRegion::where('IdUsuario', '=', $iddocente)->count();
     if ($Grupos > 0) {
         $existe = true;
     } elseif ($Ordenes > 0) {
         $existe = true;
     } elseif ($OrganismosUsuarios > 0) {
         $existe = true;
     } elseif ($UsuarioPaisRegion > 0) {
         $existe = true;
     } else {
         $existe = false;
     }
     if ($existe) {
         $fecha = date("Ymd H:i:s");
         $query = DB::table('SCC_Usuarios')->where('id', $iddocente)->update(['isactivo' => 0, 'fechaadd' => $fecha]);
         if ($query) {
             return response()->json(['bandera' => true, 'message' => 'El Docente se elimino correctamente']);
         } else {
             return response()->json(['bandera' => false, 'message' => 'Error al eliminar el docente, intente nuevamente']);
         }
     } else {
         $query = DB::table('SCC_Usuarios')->where('id', '=', $iddocente)->delete();
         if ($query) {
             return response()->json(['bandera' => true, 'message' => 'El docente se elimino correctamente']);
         } else {
             return response()->json(['bandera' => false, 'message' => 'Error al eliminar el docente, intente nuevamente']);
         }
     }
 }
 public function delete(Request $request)
 {
     $idinstitucion = $request->IdInstitucion;
     $AlumnoCodigo = AlumnoCodigo::where('IdOrganismo', '=', $idinstitucion)->count();
     $Comprobantes = Comprobantes::where('idorganismo', '=', $idinstitucion)->count();
     $DistUsuarioOrg = DistUsuarioOrg::where('idOrganismo', '=', $idinstitucion)->count();
     $Grupos = Grupo::where('IdOrganismo', '=', $idinstitucion)->count();
     $OrganismosUsuarios = OrganismosUsuarios::where('IdOrganismo', '=', $idinstitucion)->count();
     $PeticionesDatosAlumnos = PeticionesDatosAlumnos::where('IdOrganismo', '=', $idinstitucion)->count();
     if ($AlumnoCodigo > 0) {
         $existe = true;
     } else {
         if ($Comprobantes > 0) {
             $existe = true;
         } else {
             if ($DistUsuarioOrg > 0) {
                 $existe = true;
             } else {
                 if ($Grupos > 0) {
                     $existe = true;
                 } else {
                     if ($OrganismosUsuarios > 0) {
                         $existe = true;
                     } else {
                         if ($PeticionesDatosAlumnos > 0) {
                             $existe = true;
                         } else {
                             $existe = false;
                         }
                     }
                 }
             }
         }
     }
     if ($existe) {
         $user = Auth::user();
         $idUsuario = $user->id;
         $query = DB::table('SCC_Organismos')->where('Id', $idinstitucion)->update(['IsActivo' => 0, 'IdUpdateUser' => $idUsuario]);
         if ($query) {
             return response()->json(['bandera' => true, 'message' => 'La institucion se elimino correctamente']);
         } else {
             return response()->json(['bandera' => false, 'message' => 'Error al eliminar la institucion, intente nuevamente']);
         }
     } else {
         $query = DB::table('SCC_Organismos')->where('Id', '=', $idinstitucion)->delete();
         if ($query) {
             $asesores = DB::table('SCC_OrganismosUsuarios')->join('SCC_RolesUsuario', 'SCC_RolesUsuario.IdUsuario', '=', 'SCC_OrganismosUsuarios.IdUsuario')->select('SCC_OrganismosUsuarios.Id')->where('SCC_OrganismosUsuarios.IdOrganismo', '=', $idinstitucion)->where('SCC_RolesUsuario.IdRol', '=', 4)->get();
             foreach ($asesores as $key => $value) {
                 $ids[] = $value->Id;
             }
             if (count($ids) > 0) {
                 $affectedRows = OrganismosUsuarios::whereIn('Id', $ids)->delete();
             }
             return response()->json(['bandera' => true, 'message' => 'La institucion se elimino correctamente']);
         } else {
             return response()->json(['bandera' => false, 'message' => 'Error al eliminar la institucion, intente nuevamente']);
         }
     }
 }
 /**
  * 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;
         }
     });
 }
 public function addGrupo(Request $request)
 {
     $user = Auth::user();
     $idUsuario = $user->id;
     $IdInstitucion = Session::get('IdInstitucion');
     $pais = DB::table('SCC_Usuarios')->join('SCC_OrganismosUsuarios', '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_Usuarios.Id', '=', $idUsuario)->first();
     $ciclo = DB::table('SCC_CiclosEscolares')->select('SCC_CiclosEscolares.Id')->where('SCC_CiclosEscolares.IdPais', '=', $pais->Id)->where('SCC_CiclosEscolares.IsActivo', '=', 1)->first();
     $validator = Validator::make($request->all(), ['Nombre' => 'required|min:4', 'Grados' => 'required', 'Descripcion' => 'required|invalid_group:' . $request->Nombre . ',' . $request->Grados . ',' . $ciclo->Id . ',' . $IdInstitucion . '']);
     if ($validator->fails()) {
         return response()->json(['bandera' => false, 'message' => $validator->errors()]);
     } else {
         $fecha = date("Ymd H:i:s");
         $data = $request->all();
         $grupo = new Grupo();
         $grupo->IdOrganismo = $IdInstitucion;
         $grupo->IdUsuario = $idUsuario;
         $grupo->IdCicloEscolar = $ciclo->Id;
         $grupo->IdGrado = $data['Grados'];
         $grupo->Nombre = $data['Nombre'];
         $grupo->Descripcion = $data['Descripcion'];
         $grupo->IsActivo = 1;
         $grupo->FechaAdd = $fecha;
         $grupo->FechaUpdate = $fecha;
         if ($grupo->save()) {
             return response()->json(['bandera' => true, 'message' => 'El grupo fue creado correctamente']);
         } else {
             return response()->json(['bandera' => true, 'message' => 'El grupo no pudo registrarse, por favor intente nuevamente']);
         }
     }
 }
 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]);
         }
     }
 }
 public function delete(Request $request)
 {
     $idciclo = $request->IdCiclo;
     $AlumnoCodigo = AlumnoCodigo::where('IdCicloEscolar', '=', $idciclo)->count();
     $Comprobantes = Comprobantes::where('idcicloescolar', '=', $idciclo)->count();
     $Evaluaciones = Evaluaciones::where('IdCicloEscolar', '=', $idciclo)->count();
     $FechasEvidencias = FechasEvidencias::where('IdCicloEscolar', '=', $idciclo)->count();
     $Grupos = Grupo::where('IdCicloEscolar', '=', $idciclo)->count();
     $Ordenes = Ordenes::where('IdCicloEscolar', '=', $idciclo)->count();
     if ($AlumnoCodigo > 0) {
         $existe = true;
     } else {
         if ($Comprobantes > 0) {
             $existe = true;
         } else {
             if ($Evaluaciones > 0) {
                 $existe = true;
             } else {
                 if ($FechasEvidencias > 0) {
                     $existe = true;
                 } else {
                     if ($Grupos > 0) {
                         $existe = true;
                     } else {
                         if ($Ordenes > 0) {
                             $existe = true;
                         } else {
                             $existe = false;
                         }
                     }
                 }
             }
         }
     }
     if ($existe) {
         $query = DB::table('SCC_CiclosEscolares')->where('Id', $idciclo)->update(['IsActivo' => 0]);
         if ($query) {
             return response()->json(['bandera' => true, 'message' => 'El ciclo escolar se elimino correctamente']);
         } else {
             return response()->json(['bandera' => false, 'message' => 'Error al eliminar el estado, intente nuevamente']);
         }
     } else {
         $query = DB::table('SCC_CiclosEscolares')->where('Id', '=', $idciclo)->delete();
         if ($query) {
             return response()->json(['bandera' => true, 'message' => 'El ciclo escolar se elimino correctamente']);
         } else {
             return response()->json(['bandera' => false, 'message' => 'Error al eliminar el estado, intente nuevamente']);
         }
     }
 }