public function getDetailed($asignatura_id) { $user = User::fromToken(); $resultado = []; $unidades = Unidad::where('asignatura_id', '=', $asignatura_id)->where('periodo_id', '=', $user->periodo_id)->orderBy('orden')->get(); $asignatura = (object) Asignatura::detallada($asignatura_id, $user->year_id); foreach ($unidades as $unidad) { $subunidades = Subunidad::where('unidad_id', '=', $unidad->id)->orderBy('orden')->get(); foreach ($subunidades as $subunidad) { $notas = Nota::where('subunidad_id', '=', $subunidad->id)->get(); if (count($notas) == 0) { $notasTemp = Nota::crearNotas($asignatura->grupo_id, $subunidad); $subunidad->notas = $notasTemp; } else { $notas = Nota::verificarCrearNotas($asignatura->grupo_id, $subunidad); $subunidad->notas = $notas; } } $unidad->subunidades = $subunidades; } $alumnos = Grupo::alumnos($asignatura->grupo_id); foreach ($alumnos as $alumno) { $userData = Alumno::userData($alumno->alumno_id); $alumno->userData = $userData; } // No cambiar el orden! array_push($resultado, $asignatura); array_push($resultado, $alumnos); array_push($resultado, $unidades); return $resultado; }
public function getShowProfesor($profesor_id) { $user = User::fromToken(); $year = Year::datos_basicos($user->year_id); $asignaturas = Profesor::asignaturas($user->year_id, $profesor_id); $periodos = Periodo::where('year_id', '=', $user->year_id)->get(); $year->periodos = $periodos; $profesor = Profesor::detallado($profesor_id); foreach ($asignaturas as $keyAsig => $asignatura) { $alumnos = Grupo::alumnos($asignatura->grupo_id); $asignatura->nombres_profesor = $profesor->nombres_profesor; $asignatura->apellidos_profesor = $profesor->apellidos_profesor; $asignatura->foto_nombre = $profesor->foto_nombre; $asignatura->foto_id = $profesor->foto_id; $asignatura->sexo = $profesor->sexo; $asignatura->periodosProm = Periodo::where('year_id', '=', $user->year_id)->get(); // A cada alumno le daremos los periodos y la definitiva de cada periodo foreach ($alumnos as $keyAl => $alumno) { $periodosTemp = Periodo::where('year_id', '=', $user->year_id)->get(); foreach ($periodosTemp as $keyPer => $periodo) { // Unidades y subunidades de la asignatura en el periodo $asignaturaTemp = Asignatura::find($asignatura->asignatura_id); $asignaturaTemp->unidades = Unidad::deAsignatura($asignaturaTemp->id, $periodo->id); foreach ($asignaturaTemp->unidades as $unidad) { $unidad->subunidades = Subunidad::deUnidad($unidad->unidad_id); } // Traemos las notas de esta asignatura segun las unidades y subunidades calculadas arriba Asignatura::calculoAlumnoNotas($asignaturaTemp, $alumno->alumno_id); $periodo->nota_asignatura = $asignaturaTemp->nota_asignatura; unset($asignaturaTemp); } $alumno->periodos = $periodosTemp; unset($periodosTemp); foreach ($asignatura->periodosProm as $keyPer => $periodo) { if (!$periodo->sumatoria) { $periodo->sumatoria = 0; } foreach ($alumno->periodos as $keyPerAl => $periodo_alum) { if ($periodo_alum->id == $periodo->id) { $periodo->sumatoria += $periodo_alum->nota_asignatura; } } } } $asignatura->alumnos = $alumnos; } return array($year, $asignaturas); }
public function putCopiar() { $user = User::fromToken(); $grupo_from_id = Request::input('grupo_from_id'); $grupo_to_id = Request::input('grupo_to_id'); $asignatura_to_id = Request::input('asignatura_to_id'); $copiar_subunidades = Request::input('copiar_subunidades'); $copiar_notas = Request::input('copiar_notas'); $periodo_from_id = Request::input('periodo_from_id'); $periodo_to_id = Request::input('periodo_to_id'); $unidades_ids = Request::input('unidades_ids'); $unidades_copiadas = 0; $subunidades_copiadas = 0; $notas_copiadas = 0; foreach ($unidades_ids as $unidad_id) { $unidad_curr = Unidad::findOrFail($unidad_id); $unidad_new = new Unidad(); $unidad_new->definicion = $unidad_curr->definicion; $unidad_new->porcentaje = $unidad_curr->porcentaje; $unidad_new->orden = $unidad_curr->orden; $unidad_new->created_by = $user->user_id; $unidad_new->periodo_id = $periodo_to_id; $unidad_new->asignatura_id = $asignatura_to_id; $unidad_new->save(); $unidades_copiadas++; if ($copiar_subunidades) { $subunidades = Subunidad::deUnidad($unidad_id); foreach ($subunidades as $subunidad) { $sub_new = new Subunidad(); $sub_new->definicion = $subunidad->definicion_subunidad; $sub_new->porcentaje = $subunidad->porcentaje_subunidad; $sub_new->unidad_id = $unidad_new->id; $sub_new->nota_default = $subunidad->nota_default; $sub_new->orden = $subunidad->orden_subunidad; $sub_new->inicia_at = $subunidad->inicia_at; $sub_new->finaliza_at = $subunidad->finaliza_at; $sub_new->created_by = $user->user_id; $sub_new->save(); $subunidades_copiadas++; if ($copiar_notas and $grupo_to_id == $grupo_from_id) { $notas = Subunidad::notas($subunidad->subunidad_id); foreach ($notas as $nota) { $nota_new = new Nota(); $nota_new->nota = $nota->nota; $nota_new->subunidad_id = $sub_new->id; $nota_new->alumno_id = $nota->alumno_id; $nota_new->created_by = $user->user_id; $nota_new->save(); $notas_copiadas++; } } } } } $res = new stdClass(); $res->unidades_copiadas = $unidades_copiadas; $res->subunidades_copiadas = $subunidades_copiadas; $res->notas_copiadas = $notas_copiadas; return (array) $res; }
public function putRestore($id) { $user = User::fromToken(); $unidad = Unidad::onlyTrashed()->findOrFail($id); if ($unidad) { $unidad->restore(); } else { return App::abort(400, 'Unidad no encontrada en la Papelera.'); } return $unidad; }
public function asignaturasPerdidasDeAlumnoPorPeriodo($alumno_id, $grupo_id, $periodo_id) { $asignaturas = Grupo::detailed_materias($grupo_id); foreach ($asignaturas as $keyAsig => $asignatura) { $asignatura->unidades = Unidad::deAsignatura($asignatura->asignatura_id, $periodo_id); foreach ($asignatura->unidades as $keyUni => $unidad) { $unidad->subunidades = Subunidad::perdidasDeUnidad($unidad->unidad_id, $alumno_id); if (count($unidad->subunidades) == 0) { unset($asignatura->unidades[$keyUni]); } } if (count($asignatura->unidades) == 0) { unset($asignaturas[$keyAsig]); } } return $asignaturas; }
public function getListasignaturasyear($profesor_id, $periodo_id) { $user = User::fromToken(); $year = Year::de_un_periodo($periodo_id); $asignaturas = Profesor::asignaturas($year->id, $profesor_id); foreach ($asignaturas as $asignatura) { $asignatura->unidades = Unidad::informacionAsignatura($asignatura->asignatura_id, $periodo_id); } return $asignaturas; }
public function asignar() { $ids = \DB::table('usuario_unidad')->select('usuario'); $usuarios = Usuario::whereNotIn('id', $ids)->get(); //return $usuarios; $users = []; if (!$usuarios->isEmpty()) { foreach ($usuarios as $u) { $users[$u->id] = $u->nombre_completo(); } } $unidades = Unidad::where('estado', '=', '1')->lists('nombre', 'codunijic'); $usuarios_con_unidad = Usuario::has('unidades_asignadas')->get(); return view('administrador.asignar', ['usuarios' => $users, 'usuarios_unidad' => $usuarios_con_unidad, 'unidades' => $unidades]); }
public static function alumnoAsignaturasPeriodosDetailed($alumno_id, $year_id, $periodos_a_calcular = 'de_usuario', $periodo_usuario = 0) { $alumno = Alumno::alumnoData($alumno_id, $year_id); $asignaturas = Grupo::detailed_materias($alumno->grupo_id); $sumatoria_asignaturas_year = 0; $sub_perdidas_year = 0; foreach ($asignaturas as $keyAsig => $asignatura) { $periodos = Periodo::hastaPeriodo($year_id, $periodos_a_calcular, $periodo_usuario); $sum_asignatura_year = 0; $subunidadesPerdidas = 0; foreach ($periodos as $keyPer => $periodo) { $asigna = new stdClass(); $asigna->unidades = Unidad::deAsignatura($asignatura->asignatura_id, $periodo->id); foreach ($asigna->unidades as $unidad) { $unidad->subunidades = Subunidad::deUnidad($unidad->unidad_id); } Asignatura::calculoAlumnoNotas($asigna, $alumno->alumno_id); $sum_asignatura_year += $asigna->nota_asignatura; $subunidadesPerdidas += Asignatura::notasPerdidasAsignatura($asigna); } try { $asignatura->nota_asignatura_year = $sum_asignatura_year / count($periodos); $asignatura->subunidadesPerdidas = $subunidadesPerdidas; } catch (Exception $e) { $asignatura->nota_asignatura_year = 0; } $asignatura->periodos = $periodos; $sumatoria_asignaturas_year += $asignatura->nota_asignatura_year; $sub_perdidas_year += $subunidadesPerdidas; } try { $alumno->promedio_year = $sumatoria_asignaturas_year / count($asignaturas); $alumno->sub_perdidas_year = $sub_perdidas_year; } catch (Exception $e) { $alumno->promedio_year = 0; } $alumno->asignaturas = $asignaturas; return $alumno; }