def obtenerNotasFinales(idActividad, idRubrica): actividad = Actividad().getOne(idActividad) tipo = actividad.tipo rpta = [] if tipo == 'I': lstIdAlumnos = [ reg.id_alumno for reg in Alumno_actividad().getAllAlumnos(idActividad) ] listaAlumnos = Alumno_actividad_calificacion().getAllAlumnos( idActividad, idRubrica) for alumno in listaAlumnos: d = {} auxAl = Usuario().getOneId(alumno.id_alumno) d['idAlumno'] = alumno.id_alumno lstIdAlumnos.remove(alumno.id_alumno) d['codigoPucp'] = auxAl.codigo_pucp d['nombreAlumno'] = auxAl.nombre + " " + auxAl.apellido_paterno + " " + auxAl.apellido_materno if alumno.flg_falta == 1: d['nota'] = 'F' else: d['nota'] = alumno.nota rpta.append(d) for idAlumno in lstIdAlumnos: d = {} auxAl = Usuario().getOneId(idAlumno) d['idAlumno'] = idAlumno d['codigoPucp'] = auxAl.codigo_pucp d['nombreAlumno'] = auxAl.nombre + " " + auxAl.apellido_paterno + " " + auxAl.apellido_materno d['nota'] = '--' rpta.append(d) else: listarGrupos = Alumno_actividad().getAllGrupos(idActividad) for grupo in listarGrupos: d = {} auxGrupo = Grupo().getOne(grupo.id_grupo).first() d['idGrupo'] = auxGrupo.id_grupo d['nombreGrupo'] = auxGrupo.nombre print(d) auxAl = Alumno_actividad().getAlumnoGrupo(auxGrupo.id_grupo, idActividad).first() auxAl2 = Alumno_actividad_calificacion().getNotaGrupo( idActividad, auxAl.id_alumno, idRubrica) if auxAl2 != None: d['nota'] = auxAl2.nota else: d['nota'] = None rpta.append(d) r = {} r['listaNotas'] = rpta return r
def calificarAlumno(idActividad, idAlumno, idRubrica, idJp, nota, listaNotaAspectos, flgFalta, flgCompleto): Alumno_actividad().calificarAlumno(idActividad, idAlumno) calificacionIngresada = Alumno_actividad_calificacion( id_actividad=idActividad, id_alumno=idAlumno, id_rubrica=idRubrica, id_calificador=idJp, nota=nota, fecha_revisado=func.current_timestamp(), flg_completo=flgCompleto, flg_falta=flgFalta) aux = Alumno_actividad_calificacion().addOne(calificacionIngresada) for notaAspecto in listaNotaAspectos: idAspecto = notaAspecto['idAspecto'] notaAspectoObjeto = Alumno_nota_aspecto( id_actividad=idActividad, id_alumno=idAlumno, id_rubrica=idRubrica, id_aspecto=idAspecto, id_calificador=idJp, nota=notaAspecto['nota'], comentario=notaAspecto['comentario']) Alumno_nota_aspecto().addOne(notaAspectoObjeto) listaNotaIndicador = notaAspecto['listaNotaIndicador'] for notaIndicador in listaNotaIndicador: notaIndicadorObjeto = Alumno_nota_indicador( id_actividad=idActividad, id_alumno=idAlumno, id_rubrica=idRubrica, id_aspecto=idAspecto, id_calificador=idJp, id_indicador=notaIndicador['idIndicador'], nota=notaIndicador['nota'], comentario=notaIndicador['comentario'], ) Alumno_nota_indicador().addOne(notaIndicadorObjeto) d = {} d['message'] = "succeed" return d
def editarNotaAlumno(idActividad, idAlumno, idRubrica, idJpAnt, idJpN, nota, listaNotaAspectos, flgFalta, flgCompleto): aux = Alumno_actividad_calificacion().editarNotaAlumno( idActividad, idAlumno, idJpAnt, idJpN, nota, flgFalta, flgCompleto) print(idActividad, idAlumno, idRubrica) #Alumno_actividad_calificacion().updateOneNota(idActividad,idAlumno,idRubrica,nota) for notaAspecto in listaNotaAspectos: idAspecto = notaAspecto['idAspecto'] Alumno_nota_aspecto().updateNota(idActividad, idRubrica, idAspecto, idAlumno, notaAspecto['nota'], notaAspecto['comentario']) listaNotaIndicador = notaAspecto['listaNotaIndicador'] for notaIndicador in listaNotaIndicador: Alumno_nota_indicador().updateNota(idActividad, idRubrica, idAspecto, idAlumno, notaIndicador['idIndicador'], notaIndicador['nota'], notaIndicador['comentario']) d = {} d['message'] = "succeed" return d
def listarAlumnosNotas(idActividad): idRubricaEvaluacion = Rubrica().getIdRubricaEvaluacion(idActividad) lstAlumnosCalificados = Alumno_actividad_calificacion().getAllAlumnos( idActividad, idRubricaEvaluacion) d = {} notas = [] faltas = 0 for reg in lstAlumnosCalificados: try: notas.append(int(float(reg.nota))) if reg.flg_falta == 1: faltas += 1 except Exception as ex: print(reg) print(str(ex)) print("Error en castear la nota") d['listaNotas'] = notas notas = dict(Counter(notas)) frecuencia = [(k, v) for k, v in notas.items()] d['notaFrecuencia'] = [] for nota, frecuencia in frecuencia: aux = {} aux['nota'] = nota aux['frecuencia'] = frecuencia d['notaFrecuencia'].append(aux) cantidadNotas = len(d['listaNotas']) d['cantidadNotas'] = cantidadNotas - faltas d['cantidadFalta'] = faltas d['cantidadTotal'] = cantidadNotas return d