public function detailedNotasGrupo($grupo_id, $user, $requested_alumnos = '')
    {
        $this->escalas_val = EscalaDeValoracion::where('year_id', $user->year_id)->get();
        $grupo = Grupo::datos($grupo_id);
        $year = Year::datos($user->year_id);
        $alumnos = Grupo::alumnos($grupo_id, $requested_alumnos);
        $year->periodos = Periodo::where('year_id', $user->year_id)->get();
        $cons = 'SELECT c.*, i.nombre as encabezado_nombre, i2.nombre as pie_nombre 
				FROM config_certificados c 
				left join images i on i.id=c.encabezado_img_id and i.deleted_at is null
				left join images i2 on i2.id=c.piepagina_img_id and i2.deleted_at is null
					where c.id=?';
        $config_certificado = DB::select($cons, [$year->config_certificado_estudio_id]);
        if (count($config_certificado) > 0) {
            $year->config_certificado = $config_certificado[0];
        }
        $cons = 'SELECT n.nombre as nivel_educativo FROM niveles_educativos n
				inner join grados gra on gra.nivel_educativo_id=n.id and gra.deleted_at is null
				inner join grupos gru on gru.grado_id=gra.id and gru.id=? and gru.deleted_at is null
				where n.deleted_at is null';
        $niveles = DB::select($cons, [$grupo_id]);
        if (count($niveles) > 0) {
            $grupo->nivel_educativo = $niveles[0]->nivel_educativo;
        }
        $grupo->cantidad_alumnos = count($alumnos);
        $response_alumnos = [];
        foreach ($alumnos as $alumno) {
            // Todas las materias con sus unidades y subunides
            $this->definitivasMateriasXPeriodo($alumno, $grupo_id, $user->year_id, $year->periodos);
            $asignaturas_perdidas = $this->asignaturasPerdidasDeAlumno($alumno, $grupo_id, $user->year_id);
            if (count($asignaturas_perdidas) > 0) {
                $alumno->asignaturas_perdidas = $asignaturas_perdidas;
                $alumno->notas_perdidas_year = 0;
                $alumno->periodos_con_perdidas = Periodo::where('year_id', $user->year_id)->get();
                foreach ($alumno->periodos_con_perdidas as $keyPerA => $periodoAlone) {
                    $periodoAlone->cant_perdidas = 0;
                    foreach ($alumno->asignaturas_perdidas as $keyAsig => $asignatura_perdida) {
                        foreach ($asignatura_perdida->periodos as $keyPer => $periodo) {
                            if ($periodoAlone->periodo_id == $periodo->periodo_id) {
                                if ($periodo->id == $periodoAlone->id) {
                                    $periodoAlone->cant_perdidas += $periodo->cantNotasPerdidas;
                                }
                            }
                        }
                    }
                    $alumno->notas_perdidas_year += $periodoAlone->cant_perdidas;
                }
            }
        }
        foreach ($alumnos as $alumno) {
            $alumno->puesto = Nota::puestoAlumno($alumno->promedio, $alumnos);
            if ($requested_alumnos == '') {
                array_push($response_alumnos, $alumno);
            } else {
                foreach ($requested_alumnos as $req_alumno) {
                    if ($req_alumno['alumno_id'] == $alumno->alumno_id) {
                        array_push($response_alumnos, $alumno);
                    }
                }
            }
        }
        return array($grupo, $year, $response_alumnos);
    }
 public function getIndex()
 {
     $user = User::fromToken();
     $escalas = EscalaDeValoracion::where('year_id', '=', $user->year_id)->orderBy('orden')->get();
     return $escalas;
 }
Exemple #3
0
 public function postStore()
 {
     $user = User::fromToken();
     $year = new Year();
     $year->year = Request::input('year');
     $year->nombre_colegio = Request::input('nombre_colegio');
     $year->abrev_colegio = Request::input('abrev_colegio');
     $year->nota_minima_aceptada = Request::input('nota_minima_aceptada');
     $year->resolucion = Request::input('resolucion');
     $year->codigo_dane = Request::input('codigo_dane');
     //$year->encabezado_certificado	=	Request::input('encabezado_certificado');
     //$year->frase_final_certificado	=	Request::input('frase_final_certificado');
     $year->actual = Request::input('actual');
     $year->telefono = Request::input('telefono');
     $year->celular = Request::input('celular');
     $year->unidad_displayname = Request::input('unidad_displayname');
     $year->unidades_displayname = Request::input('unidades_displayname');
     $year->genero_unidad = Request::input('genero_unidad');
     $year->subunidad_displayname = Request::input('subunidad_displayname');
     $year->subunidades_displayname = Request::input('subunidades_displayname');
     $year->genero_subunidad = Request::input('genero_subunidad');
     $year->website = Request::input('website');
     $year->website_myvc = Request::input('website_myvc');
     $year->alumnos_can_see_notas = Request::input('alumnos_can_see_notas');
     $year->save();
     if ($year->actual) {
         Year::where('actual', true)->update(['actual' => false]);
     }
     // NECESITARÉ MUCHO EL AÑO ANTERIOR
     $year_ante = $year->year - 1;
     $pasado = Year::where('year', $year_ante)->first();
     if ($pasado) {
         $year->ciudad_id = $pasado->ciudad_id;
         $year->logo_id = $pasado->logo_id;
         $year->rector_id = $pasado->rector_id;
         $year->secretario_id = $pasado->secretario_id;
         $year->tesorero_id = $pasado->tesorero_id;
         $year->coordinador_academico_id = $pasado->coordinador_academico_id;
         $year->coordinador_disciplinario_id = $pasado->coordinador_disciplinario_id;
         $year->capellan_id = $pasado->capellan_id;
         $year->psicorientador_id = $pasado->psicorientador_id;
         $year->save();
         /// COPIAREMOS LAS ESCALAS DE VALORACIÓN
         $escalas_ant = EscalaDeValoracion::where('year_id', $pasado->id)->get();
         foreach ($escalas_ant as $key => $escalas) {
             $newEsc = new EscalaDeValoracion();
             $newEsc->desempenio = $escalas->desempenio;
             $newEsc->valoracion = $escalas->valoracion;
             $newEsc->porc_inicial = $escalas->porc_inicial;
             $newEsc->porc_final = $escalas->porc_final;
             $newEsc->descripcion = $escalas->descripcion;
             $newEsc->orden = $escalas->orden;
             $newEsc->perdido = $escalas->perdido;
             $newEsc->year_id = $year->id;
             $newEsc->icono_infantil = $escalas->icono_infantil;
             $newEsc->icono_adolescente = $escalas->icono_adolescente;
             $newEsc->save();
         }
         /// COPIAREMOS LAS FRASES
         $frases_ant = Frase::where('year_id', $pasado->id)->get();
         foreach ($frases_ant as $key => $frases) {
             $newFra = new Frase();
             $newFra->frase = $frases->frase;
             $newFra->tipo_frase = $frases->tipo_frase;
             $newFra->year_id = $year->id;
             $newFra->save();
         }
         /// AHORA COPIAMOS LOS GRUPOS Y ASIGNATURAS DEL AÑO PASADO AL NUEVO AÑO.
         $grupos_ant = Grupo::where('year_id', $pasado->id)->get();
         foreach ($grupos_ant as $key => $grupo) {
             $newGr = new Grupo();
             $newGr->nombre = $grupo->nombre;
             $newGr->abrev = $grupo->abrev;
             $newGr->year_id = $year->id;
             $newGr->grado_id = $grupo->grado_id;
             $newGr->valormatricula = $grupo->valormatricula;
             $newGr->valorpension = $grupo->valorpension;
             $newGr->orden = $grupo->orden;
             $newGr->caritas = $grupo->caritas;
             $newGr->save();
             $asigs_ant = Asignatura::where('grupo_id', $grupo->id)->get();
             foreach ($asigs_ant as $key => $asig) {
                 $newAsig = new Asignatura();
                 $newAsig->materia_id = $asig->materia_id;
                 $newAsig->grupo_id = $asig->grupo_id;
                 $newAsig->creditos = $asig->creditos;
                 $newAsig->orden = $asig->orden;
                 $newAsig->save();
             }
             $grupo->asigs_ant = $asigs_ant;
         }
         $year->grupos_ant = $grupos_ant;
     }
     return $year;
 }