public function destroy($id)
 {
     $asignaturas = Asignatura::find($id);
     $asignaturas->delete();
     Session::flash('message', 'La asignatura ' . $asignaturas->nombre . ' fue eliminada');
     return redirect()->route('Encargado.asignaturas.index');
 }
 public function edit($id)
 {
     $cursos = Curso::findOrFail($id);
     $asignaturas = Asignatura::lists('nombre', 'id');
     $docentes = Docente::lists('nombres', 'id');
     return view('Administrador.CursoCrud.editarCurso', compact('cursos', 'asignaturas', 'docentes'));
 }
 public function edit($id)
 {
     $cursos = Curso::findOrFail($id);
     $asignaturas = Asignatura::lists('nombre', 'id');
     $docentes = Docente::lists('nombres', 'id');
     return view('Encargado.Curso.editarCursoE', compact('cursos', 'asignaturas', 'docentes'));
 }
示例#4
0
 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 store(Request $request)
 {
     $file = $request->file('file');
     //obtenemos el campo file obtenido por el formulario
     if (is_null($request->file('file'))) {
         Session::flash('message', 'Seleccion el archivo');
         return redirect()->back();
     }
     //obtenemos el campo file obtenido por el formulario
     $nombre = $file->getClientOriginalName();
     //indicamos que queremos guardar un nuevo archivo en el disco local
     \Storage::disk('local')->put($nombre, \File::get($file));
     $depa = $request->get('departamentos');
     $falla = false;
     \Excel::load('/storage/public/files/' . $nombre, function ($archivo) use(&$falla) {
         $result = $archivo->get();
         //leer todas las filas del archivo
         foreach ($result as $key => $value) {
             $departamentos = Departamento::whereNombre($value->departamento_id)->pluck('id');
             if (is_null($departamentos)) {
                 // El campus no existe, deberia hacer algo para mitigar esto, o retornarlo al usuario ...
             }
             $var = new Asignatura();
             $datos = ['nombre' => $value->nombre, 'codigo' => $value->codigo, 'descripcion' => $value->descripcion, 'departamento_id' => $departamentos];
             $validator = Validator::make($datos, Asignatura::storeRules());
             if ($validator->fails()) {
                 Session::flash('message', 'Las Asignaturas ya existen o el archivo ingresado no es valido');
                 $falla = true;
             } else {
                 $var->fill($datos);
                 $var->save();
             }
         }
     })->get();
     if ($falla) {
         // Fallo la validacion de algun campus, retornar al index con mensaje
         return redirect()->route('Administrador.asignaturas.index');
     }
     \Storage::delete($nombre);
     Session::flash('message', 'Las Asignaturas fueron agregadas exitosamente!');
     return redirect()->route('Administrador.asignaturas.index');
 }
 public function store(Request $request)
 {
     //dd('jajaja');
     $file = $request->file('file');
     //obtenemos el campo file obtenido por el formulario
     if (is_null($request->file('file'))) {
         Session::flash('message', 'Seleccion el archivo');
         return redirect()->back();
     }
     $nombre = $file->getClientOriginalName();
     //indicamos que queremos guardar un nuevo archivo en el disco local
     \Storage::disk('local')->put($nombre, \File::get($file));
     $asignaturas = $request->get('asignaturas');
     $docentes = $request->get('docentes');
     $falla = false;
     \Excel::load('/storage/public/files/' . $nombre, function ($archivo) use(&$falla) {
         $result = $archivo->get();
         //leer todas las filas del archivo
         foreach ($result as $key => $value) {
             $asignaturas = Asignatura::whereNombre($value->asignatura_id)->pluck('id');
             $docentes = Docente::whereNombres($value->docente_id)->pluck('id');
             //echo $facultades."<br>";
             if (is_null($asignaturas)) {
                 // El campus no existe, deberia hacer algo para mitigar esto, o retornarlo al usuario ...
             }
             if (is_null($docentes)) {
                 // El campus no existe, deberia hacer algo para mitigar esto, o retornarlo al usuario ...
             }
             //if(!Curso::whereNombre('asignatura_id',$asignaturas)->whereNombres('docente_id',$docentes)->first()){
             $var = new Curso();
             $datos = ['asignatura_id' => $asignaturas, 'docente_id' => $docentes, 'semestre' => $value->semestre, 'anio' => $value->anio, 'seccion' => $value->seccion];
             $validator = Validator::make($datos, Curso::storeRules());
             if ($validator->fails()) {
                 Session::flash('message', 'Los Cursos ya existen o el archivo ingresado no es valido');
                 $falla = true;
             } else {
                 $var->fill($datos);
                 $var->save();
             }
         }
     })->get();
     if ($falla) {
         // Fallo la validacion de algun campus, retornar al index con mensaje
         return redirect()->route('Encargado.cursos.index');
     }
     \Storage::delete($nombre);
     Session::flash('message', 'Los Cursos fueron agregados exitosamente!');
     return redirect()->route('Encargado.cursos.index');
 }
 public function show($id)
 {
     $asignaturas = Asignatura::find($id);
     //dd($Campus);
     if ($asignaturas) {
         $data = array(array('codigo', 'nombre', 'descripcion', 'departamento_id'), array($asignaturas->codigo, $asignaturas->nombre, $asignaturas->descripcion, $asignaturas->departamentos->nombre));
         Excel::create('Asignaturas' . $asignaturas->nombre, function ($excel) use($data) {
             $excel->sheet('Sheetname', function ($sheet) use($data) {
                 $sheet->fromArray($data);
             });
         })->download('csv');
     } else {
         abort('404');
     }
 }
示例#8
0
 public function getDetailed($asignatura_id)
 {
     $user = User::fromToken();
     $asignatura = (object) Asignatura::detallada($asignatura_id, $user->year_id);
     $alumnos = Grupo::alumnos($asignatura->grupo_id);
     foreach ($alumnos as $alumno) {
         $userData = Alumno::userData($alumno->alumno_id);
         $alumno->userData = $userData;
         $consulta = 'SELECT * FROM ausencias a WHERE a.asignatura_id = ? and a.periodo_id = ? and a.alumno_id=?';
         $ausencias = DB::select(DB::raw($consulta), array($asignatura_id, $user->periodo_id, $alumno->alumno_id));
         foreach ($ausencias as $ausencia) {
             $ausencia->mes = date('n', strtotime($ausencia->fecha_hora)) - 1;
             $ausencia->dia = (int) date('j', strtotime($ausencia->fecha_hora));
         }
         $alumno->ausencias = $ausencias;
     }
     // No cambiar el orden!
     $resultado = [];
     array_push($resultado, $asignatura);
     array_push($resultado, $alumnos);
     return $resultado;
 }
示例#9
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);
 }
示例#10
0
 public function deleteDestroy($id)
 {
     $asignatura = Asignatura::findOrFail($id);
     $asignatura->delete();
     return $asignatura;
 }
示例#11
0
 public function allNotasAlumno(&$alumno, $grupo_id, $periodo_id, $comport_and_frases = false)
 {
     $asignaturas = Grupo::detailed_materias($grupo_id);
     foreach ($asignaturas as $asignatura) {
         $asignatura->unidades = Unidad::deAsignatura($asignatura->asignatura_id, $periodo_id);
         foreach ($asignatura->unidades as $unidad) {
             $unidad->subunidades = Subunidad::deUnidad($unidad->unidad_id);
         }
     }
     $alumno->asignaturas = $asignaturas;
     $sumatoria_asignaturas = 0;
     foreach ($alumno->asignaturas as $asignatura) {
         if ($comport_and_frases) {
             $asignatura->ausencias = Ausencia::deAlumno($asignatura->asignatura_id, $alumno->alumno_id, $periodo_id);
             $asignatura->frases = FraseAsignatura::deAlumno($asignatura->asignatura_id, $alumno->alumno_id, $periodo_id);
         }
         Asignatura::calculoAlumnoNotas($asignatura, $alumno->alumno_id);
         $sumatoria_asignaturas += $asignatura->nota_asignatura;
         // Para sacar promedio del periodo
         // SUMAR AUSENCIAS Y TARDANZAS
         if ($comport_and_frases) {
             $cantAus = 0;
             $cantTar = 0;
             foreach ($asignatura->ausencias as $ausencia) {
                 $cantAus += (int) $ausencia->cantidad_ausencia;
                 $cantTar += (int) $ausencia->cantidad_tardanza;
             }
             $asignatura->total_ausencias = $cantAus;
             $asignatura->total_tardanzas = $cantTar;
         }
     }
     try {
         $alumno->promedio = $sumatoria_asignaturas / count($alumno->asignaturas);
     } catch (Exception $e) {
         $alumno->promedio = 0;
     }
     // COMPORTAMIENTO Y SUS FRASES
     if ($comport_and_frases) {
         $comportamiento = NotaComportamiento::where('alumno_id', '=', $alumno->alumno_id)->where('periodo_id', '=', $periodo_id)->first();
         $alumno->comportamiento = $comportamiento;
         $definiciones = [];
         if ($comportamiento) {
             $definiciones = DefinicionComportamiento::frases($comportamiento->id);
             $alumno->comportamiento->definiciones = $definiciones;
         }
     }
     return $alumno;
 }
示例#12
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getAsignaturas()
 {
     return $this->hasMany(Asignatura::className(), ['area_id' => 'id']);
 }
示例#13
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;
 }
示例#14
0
 public static function query_nombre($nombre)
 {
     return Asignatura::select('id')->whereNombre($nombre)->first();
 }
示例#15
0
文件: Nota.php 项目: bluesky777/5myvc
 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;
 }
示例#16
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getAsignatura()
 {
     return $this->hasOne(Asignatura::className(), ['id' => 'asignatura_id']);
 }