예제 #1
0
 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);
 }
예제 #2
0
    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;
    }
예제 #3
0
 public function getShow($id)
 {
     $profesor = Profesor::detallado($id);
     return array($profesor);
 }