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 getListasignaturas($persona_id = '') { $user = User::fromToken(); $info_profesor = false; if ($persona_id == '') { $persona_id = $user->persona_id; } else { $info_profesor = Profesor::detallado($persona_id); } $consulta = ''; $asignaturas = ''; switch ($user->tipo) { case 'Profesor' or 'Usuario': $asignaturas = Profesor::asignaturas($user->year_id, $persona_id); foreach ($asignaturas as $asignatura) { $asignatura->unidades = Unidad::informacionAsignatura($asignatura->asignatura_id, $user->periodo_id); } break; case 'Alumno': $consulta = 'SELECT a.id as asignatura_id, a.grupo_id, a.profesor_id, a.creditos, a.orden, m.materia, m.alias as alias_materia, g.nombre as nombre_grupo, g.abrev as abrev_grupo, g.titular_id, g.caritas FROM asignaturas a inner join materias m on m.id=a.materia_id and m.deleted_at is null inner join grupos g on g.id=a.grupo_id and g.year_id=:year_id and g.deleted_at is null where a.profesor_id=:profesor_id and a.deleted_at is null order by g.orden, a.orden, a.id'; $asignaturas = DB::select($consulta, [':year_id' => $user->year_id, ':profesor_id' => $persona_id]); break; default: # code... break; } $res = ['asignaturas' => $asignaturas]; if ($info_profesor) { $res['info_profesor'] = $info_profesor; } $consulta = 'SELECT g.id, g.nombre, g.abrev, g.orden, g.grado_id, g.year_id, g.titular_id, p.nombres as nombres_titular, p.apellidos as apellidos_titular, p.titulo, g.created_at, g.updated_at, gra.nombre as nombre_grado from grupos g inner join grados gra on gra.id=g.grado_id and g.year_id=:year_id inner join profesores p on p.id=g.titular_id and g.titular_id = :profesor_id where g.deleted_at is null order by g.orden'; $grados = DB::select($consulta, array(':year_id' => $user->year_id, ':profesor_id' => $persona_id)); $res['grados_comp'] = $grados; return $res; }
public function getShow($id) { $profesor = Profesor::detallado($id); return array($profesor); }