def listarCursos(idUsuario): listaPersonaUsuarioHoraro=Permiso_usuario_horario.getAllUsuario(idUsuario) listaNombreHorario=[] listaIdHorario=[] listaCursos=[] for PersonaUsuarioHorario in listaPersonaUsuarioHoraro: horario=Horario.getOne(PersonaUsuarioHorario.id_horario) listaNombreHorario.append(horario.nombre) listaIdHorario.append(horario.id_horario) curso=Horario.obtenerCurso(PersonaUsuarioHorario.id_horario) listaCursos.append(curso) c={} listaCursoHorario=[] num=len(listaCursos) for i in range(num): d={} d['nombreHorario']=listaNombreHorario[i] d['idHorario']=listaIdHorario[i] curso=listaCursos[i] d['nombreCurso']=curso.nombre d['idEspecialidad'] = curso.id_especialidad d['codigo']=curso.codigo listaCursoHorario.append(d) c['listaCursos']=listaCursoHorario return c
def cargaMasivaProfesorJP(datos, idEspecialidad): semestre = Semestre().getOne() idSemestre = semestre.id_semestre name = pathCargaMasivaCursoHorario + datos.filename data = datos.read() with open(name, 'wb') as file: file.write(data) df = pd.read_excel(name, enconding='latin1') longitud = len(df) for i in range(longitud): codigoCurso = str(df.iat[i, 0]) codigoPucp = str(df.iat[i, 1]) nombreCompleto = str(df.iat[i, 2]) aux = SplitNombres(nombreCompleto) nombres = aux[0] apellidoPaterno = aux[1] apellidoMaterno = aux[2] email = str(df.iat[i, 3]) objUsuario = Usuario(nombre=nombres, codigo_pucp=codigoPucp, email=email, clave=codigoPucp, apellido_paterno=apellidoPaterno, apellido_materno=apellidoMaterno, flg_admin=0) idUsuario = Usuario().addOne(objUsuario) idCurso = Curso().getOneClave(codigoCurso, idSemestre) tipo = str(df.iat[i, 4]) if tipo == "1": horarios = str(df.iat[i, 5]).split(',') for horario in horarios: horario = horario.replace(' ', '') print(idCurso, horario, idSemestre) idHorario = Horario().getOneClave(idCurso, idSemestre, horario) objUsuaHorario = Permiso_usuario_horario( id_horario=idHorario, id_usuario=idUsuario, id_permiso=1, id_semestre=idSemestre) Permiso_usuario_horario().addOne(objUsuaHorario) else: horarios = Horario().getAll(idCurso, idSemestre) for horario in horarios: idHorario = horario.id_horario objUsuaHorario = Permiso_usuario_horario( id_horario=idHorario, id_usuario=idUsuario, id_permiso=3, id_semestre=idSemestre) Permiso_usuario_horario().addOne(objUsuaHorario) return {'message': 'leyo bien'}
def cargaMasivaCursos(datos, idEspecialidad): semestre = Semestre().getOne() idSemestre = semestre.id_semestre # print(datos) print(idEspecialidad) name = pathCargaMasivaCursoHorario + datos.filename data = datos.read() with open(name, 'wb') as file: file.write(data) df = pd.read_excel(name, enconding='latin1') longitud = len(df) for i in range(longitud): nombreCurso = df.iat[i, 0] codigoCurso = df.iat[i, 1] horarios = [] horarios = str(df.iat[i, 2]).split(',') objCurso = Curso(id_especialidad=idEspecialidad, id_semestre=idSemestre, nombre=nombreCurso, codigo=codigoCurso) idCurso = Curso().addOne(objCurso) for horario in horarios: horario = horario.replace(' ', '') Horario().addOne(horario, idCurso, idSemestre) return {'message': 'leyo bien'}
def post(self): args = get_args() horario_check = check_horario(args) if horario_check and not horario_check.alive: query = Horario.query.get(horario_check.id) query.alive = True query.last_update = datetime.now() query.update() return schema.dump(query).data, 201 elif horario_check and horario_check.alive: return send_message("Este horário já existe", 409) try: horario = Horario(args["id_sala"], args["dia"], args["hora_inicio"], args["hora_fim"], args["tipo_user"]) horario.add(horario) query = Horario.query.get(horario.id) except SQLAlchemyError as e: return rollback(e, db) else: return schema.dump(query).data, 201
def obtenerCursosActivosXProfesor(idProfesor): semestreActivo = Semestre().getOne() listaHorarios = Permiso_usuario_horario().getHorarioActivo( semestreActivo.id_semestre, idProfesor) res = [] for horario in listaHorarios: if horario.id_permiso == 1: curso, hor = Horario().obtenerCurso(horario.id_horario) aux = {} aux['id_horario'] = horario.id_horario #t = Horario().getOne(horario.id_horario) aux['nombre_horario'] = hor.nombre aux['id_curso'] = curso.id_curso aux['nombre_curso'] = curso.nombre aux['codigo'] = curso.codigo res.append(aux) d = {} d['listaCursos'] = res d['cantCursos'] = len(res) """ #listaHorarios = Permiso_usuario_horario().getHorarioActivo(semestreActivo.id_semestre, idProfesor) puh = Permiso_usuario_horario().getHorarioActivo(semestreActivo.id_semestre, idProfesor) print(puh) #listaHorarios = db.session.query(Horario).join(puh, puh.id_horario == Horario.id_horario).subquery() listaHorarios = db.session.query(Horario).join(puh, puh.ID_HORARIO == Horario.id_horario).subquery() listaCursos = Curso().getCursosActivos(semestreActivo) data = db.session.query(listaCursos.id_curso, listaCursos.nombre, listaCursos.codigo, listaHorarios.nombre).join(listaHorarios, listaCursos.id_curso == listaHorarios.id_curso) #data = db.session.query(Curso.id_curso, Curso.nombre, Curso.codigo, listaHorarios.nombre).join(listaHorarios, listaCursos.id_curso == listaHorarios.id_curso) res = [] for idc, nomc, cod, nomh in data.all(): aux = {} aux['idcurso'] = idc aux['nombre'] = nomc aux['codigo'] = cod aux['horario'] = nomh res.append(aux) d = {} d['listaCursos'] = res d['cantCursos'] = len(res) """ return d
def cargaMasivaHorarios(datos, idCurso, idEspecialidad): semestre = Semestre().getOne() idSemestre = semestre.id_semestre print("=" * 20) print(idSemestre) name = pathCargaMasivaAlumnoHorario + datos.filename data = datos.read() with open(name, 'wb') as file: file.write(data) doc = codecs.open(name, 'rU', 'latin1') for i in range(6): doc.readline() df = pd.read_csv(doc, sep='\t', encoding='latin1') #print(df) df['E-mail'] = df['E-mail'].apply(lambda x: getCorreoPucp(x)) df['nombres'] = df['Nombre'].apply(lambda x: SplitNombres(x)[0]) df['apellido_paterno'] = df['Nombre'].apply(lambda x: SplitNombres(x)[1]) df['apellido_materno'] = df['Nombre'].apply(lambda x: SplitNombres(x)[2]) longitud = len(df) for i in range(longitud): idHorario = Horario().addOne(str(df.iat[i, 2]), idCurso, idSemestre) codigoPucp = str(df.iat[i, 0]) nombre = str(df.iat[i, 5]) email = str(df.iat[i, 4]) apellidoPaterno = str(df.iat[i, 6]) apellidoMaterno = str(df.iat[i, 7]) objUsuario = Usuario(nombre=nombre, email=email, apellido_paterno=apellidoPaterno, apellido_materno=apellidoMaterno, flg_admin=0, codigo_pucp=codigoPucp, clave=codigoPucp) idUsuario = Usuario().addOne(objUsuario) objAlumnoHorario = Permiso_usuario_horario(id_horario=idHorario, id_usuario=idUsuario, id_permiso=2, id_semestre=idSemestre) Permiso_usuario_horario().addOne(objAlumnoHorario) return {'message': 'leyo bien'}
def obtenerCursosActivosXAlumno(idAlumno): semestreActivo = Semestre().getOne() listaHorarios = Permiso_usuario_horario().getHorarioActivo(semestreActivo.id_semestre, idAlumno) res = [] for horario in listaHorarios: if horario.id_permiso == 2: curso, hor = Horario().obtenerCurso(horario.id_horario) #print(curso) aux = {} aux['id_curso'] = curso.id_curso aux['nombre'] = curso.nombre aux['codigo'] = curso.codigo aux['nombre_horario'] = hor.nombre aux['id_horario'] = hor.id_horario res.append(aux) d = {} d['listaCursos'] = res d['cantCursos'] = len(res) return d
def obtenerRubricasPasadas(idUsuario, idCurso): listaHorarios = Horario.obtenerHorariosXCurso(idCurso) d = {} aux = [] for horario in listaHorarios: listaRubricas = Actividad.obtenerRubricasXIdUsuario( horario.id_horario, idUsuario) if len(listaRubricas) != 0: for rubrica in listaRubricas: aux.append(rubrica) aux2 = [] for rubrica in aux: aux3 = obtenerRubricaXidRubrica(rubrica.id_rubrica) aux2.append(aux3) if len(aux2) == 0: d['respuesta'] = 0 else: d['respuesta'] = 1 d['rubricas'] = aux2 return d