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; }
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; }