def __init__(self): self.alumno = Alumno() self.salir = False self.periodo_nota1 = Periodo_Nota1() self.periodo_nota2 = Periodo_Nota2() self.periodo_nota3 = Periodo_Nota3() self.periodo_nota4 = Periodo_Nota4() self.notas_bimestre = Notas_bimestre()
class Notas_controller: def __init__(self): self.alumno = Alumno() self.curso = Curso() self.profesor_curso = Profesor_curso() self.periodo = Periodo() self.nota = Nota() self.salir = False def menu(self): while True: try: print(''' =================== Notas =================== ''') menu = ['Listar notas', "Buscar notas", "Nueva nota", "Salir"] respuesta = Menu(menu).show() if respuesta == 1: self.listar_notas() elif respuesta == 2: self.buscar_notas() elif respuesta == 3: self.insertar_notas() else: self.salir = True break except Exception as e: print(f'{str(e)}') def listar_notas(self): print(''' =========================== Lista de Notas =========================== ''') notas = self.nota.obtener_notas('id_nota') print(print_table(notas, ['ID', 'Alumno', 'Malla', 'Nota'])) input("\nPresione una tecla para continuar...") def buscar_notas(self): print(''' =========================== Buscar Notas =========================== ''') try: id_notas = input_data("Ingrese el ID de la nota>> ", "int") notas = self.nota.obtener_nota({'id_nota': id_notas}) print(print_table(notas, ['ID', 'Alumno', 'Malla', 'Nota'])) if notas: if pregunta( f"¿Deseas dar mantenimiento al registro notas '{notas[0]}'?" ): opciones = ['Editar notas', 'Eliminar nota', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_notas() elif respuesta == 2: self.eliminar_notas(id_nota) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...") def insertar_notas(self): id_alumno = input_data("Ingrese el ID del alumno >> ", "int") alumno = self.alumno.obtener_alumno({'alumno_id': id_alumno}) print(print_table(alumno, ['ID', 'Nombre', 'Edad', 'Correo'])) id_curso = input_data("Ingrese el ID del curso >> ", "int") curso = self.curso.obtener_curso({'curso_id': id_curso}) print(print_table(curso, ['ID', 'Nombre'])) id_malla = input_data("Ingrese el ID de la malla >> ", "int") malla = self.malla.obtener_malla({'malla_id': id_malla}) print( print_table( malla, ['ID', 'ID Periodo', 'ID Salon', 'ID Profesor-Cursor'])) nota = input_data("Ingrese nota del alumno >> ") self.nota.guardar_nota({ 'id_alumno': id_alumno, 'id_malla': id_malla, 'nota': nota }) print(''' ================================= La nota se registro con exito ! ================================= ''') self.listar_notas() def editar_notas(self): id_nota = input_data("Ingrese el id de la nota a modificar >> ") nota = input_data("Ingrese la nueva nota del alumno >> ") self.nota.modificar_nota({'id_nota': id_nota}, {'nota': nota}) print(''' ========================== Nota Editada ! ========================== ''') def eliminar_notas(self, id_nota): self.nota.eliminar_nota({'id_nota': id_nota}) print(''' =========================== Nota Eliminada ! =========================== ''')
def __init__(self): self.alumno = Alumno() self.salir = False
class Alumnos_controller: def __init__(self): self.alumno = Alumno() self.salir = False def menu(self): while True: try: print(''' =============== Alumnos =============== ''') menu = ['Listar alumnos', 'Buscar alumno', "Nuevo alumno", "Salir"] respuesta = Menu(menu).show() if respuesta == 1: self.listar_alumnos() elif respuesta == 2: self.buscar_alumno() elif respuesta == 3: self.insertar_alumno() else: self.salir = True break except Exception as e: print(f'{str(e)}') def listar_alumnos(self): print(''' ======================== Lista de Alumnos ======================== ''') alumnos = self.alumno.obtener_alumnos('alumno_id') print(print_table(alumnos, ['ID', 'Nombres','Edad','Correo'])) input("\nPresione una tecla para continuar...") def buscar_alumno(self): print(''' ===================== Buscar Alumno ===================== ''') try: id_alumno = input_data("Ingrese el ID del alumno >> ", "int") alumno = self.alumno.obtener_alumno({'alumno_id': id_alumno}) print(print_table(alumno, ['ID', 'Nombres','Edad','Correo'])) if alumno: if pregunta("¿Deseas dar mantenimiento al alumno?"): opciones = ['Editar alumno', 'Eliminar alumno', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_alumno(id_alumno) elif respuesta == 2: self.eliminar_alumno(id_alumno) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...") def insertar_alumno(self): nombre = input_data("Ingrese el nombre del alumno >> ") edad = input_data("Ingrese la edad del alumno >> ") correo = input_data("Ingrese el correo del alumno >> ") self.alumno.guardar_alumno({ 'nombres': nombre, 'edad': edad, 'correo': correo }) print(''' ============================== Nuevo Alumno agregado ! ============================== ''') self.listar_alumnos() def editar_alumno(self, id_alumno): nombre = input_data("Ingrese el nuevo nombre del alumno >> ") edad = input_data("Ingrese la nueva edad del alumno >> ") correo = input_data("Ingrese el nuevo correo del alumno >> ") self.alumno.modificar_alumno({ 'alumno_id': id_alumno }, { 'nombre': nombre, 'edad': edad, 'correo': correo }) print(''' ======================== Alumno Editado ! ======================== ''') def eliminar_alumno(self, id_alumno): self.alumno.eliminar_alumno({ 'alumno_id': id_alumno }) print(''' ======================== Alumno Eliminado ! ======================== ''')
class Notas_controller: def __init__(self): self.profesor = Profesor() self.curso = Curso() self.profesor_curso = Profesor_curso() self.periodo = Periodo() self.salon = Salon() self.malla = Malla() self.nota = Nota() self.alumno = Alumno() self.salir = False def menu(self): while True: try: print(''' ======================== Registro de Notas ======================== ''') menu = ["Listado de notas", "Registrar notas", "Salir"] respuesta = Menu(menu).show() if respuesta == 1: self.listar_notas() elif respuesta == 2: self.registrar_notas() else: self.salir = True break except Exception as e: print(f'{str(e)}') def listar_notas(self): print(''' ======================== Listado de Notas ======================== ''') notas = self.nota.obtener_notas('id_nota') lista_notas = [] if notas: for nota in notas: buscar_alumno = self.alumno.obtener_alumno( {'alumno_id': nota[1]}) buscar_malla = self.malla.obtener_malla({'id_malla': nota[2]}) nota_calificacion = nota[3] periodo = self.periodo.obtener_periodo( {'id_periodo': buscar_malla[1]}) salon = self.salon.obtener_salon({'id_salon': buscar_malla[2]}) profesor_curso = self.profesor_curso.obtener_profesor_curso( {'id_profesor_curso': buscar_malla[3]}) curso = self.curso.obtener_curso( {'curso_id': profesor_curso[2]}) profesor = self.profesor.obtener_profesor( {'profesor_id': profesor_curso[1]}) lista_notas.append( (nota[0], buscar_alumno[1], periodo[1], salon[1], curso[1], profesor[1], nota_calificacion)) print( print_table(lista_notas, [ 'ID', 'Alumno', 'Periodo Escolar', 'Salon', 'Curso', 'Profesor', 'Nota' ])) input("\nPresione una tecla para continuar...") def registrar_notas(self): print(''' =================================================== Registro de notas para los alumnos por salon =================================================== ''') print('Eliga el alumno que se le asignara una nota >> \n') alumnos = self.alumno.obtener_alumnos('alumno_id') print(print_table(alumnos, ['ID', 'Nombres', 'Edad', 'Correo'])) id_alumno_elegido = input_data('\nEscriba el ID del alumno >> ', 'int') buscar_alumno = self.alumno.obtener_alumno( {'alumno_id': id_alumno_elegido}) if not buscar_alumno: print('\nEl alumno elegido no existe !') return print( f'\nElija el curso y periodo a ser añadido a {buscar_alumno[1]} >> ' ) mallas = self.malla.obtener_mallas('id_malla') lista_mallas = [] if mallas: for malla in mallas: periodo = self.periodo.obtener_periodo( {'id_periodo': malla[1]}) salon = self.salon.obtener_salon({'id_salon': malla[2]}) profesor_curso = self.profesor_curso.obtener_profesor_curso( {'id_profesor_curso': malla[3]}) curso = self.curso.obtener_curso( {'curso_id': profesor_curso[2]}) profesor = self.profesor.obtener_profesor( {'profesor_id': profesor_curso[1]}) notas_agregadas = self.nota.buscar_notas({ 'id_alumno': id_alumno_elegido, 'id_malla': malla[0] }) if not notas_agregadas: lista_mallas.append((malla[0], periodo[1], salon[1], curso[1], profesor[1])) print( print_table( lista_mallas, ['Codigo', 'Periodo Escolar', 'Salon', 'Curso', 'Profesor'])) id_malla_elegida = input_data('\nEscriba el codigo de la malla >> ', 'int') buscar_malla = self.malla.obtener_malla({'id_malla': id_malla_elegida}) if not buscar_malla: print('\nEsta malla no existe !') return notas_alumnos = self.nota.buscar_notas({ 'id_alumno': id_alumno_elegido, 'id_malla': id_malla_elegida }) if notas_alumnos: print( f'\nYa existe una nota para el alumno {buscar_alumno[1]} en el curso seleccionado !' ) return periodo = self.periodo.obtener_periodo({'id_periodo': buscar_malla[1]}) salon = self.salon.obtener_salon({'id_salon': buscar_malla[2]}) profesor_curso = self.profesor_curso.obtener_profesor_curso( {'id_profesor_curso': buscar_malla[3]}) curso = self.curso.obtener_curso({'curso_id': profesor_curso[2]}) profesor = self.profesor.obtener_profesor( {'profesor_id': profesor_curso[1]}) while True: print(f'\nAlumno: {buscar_alumno[1]}') print(f'Periodo: {periodo[1]}') print(f'Salon: {salon[1]}') print(f'Profesor: {profesor[1]}') print(f'Curso: {curso[1]}') nota_ingresada = input_data('\nNota: >> ', 'int') if nota_ingresada > 20: print("La nota ingresada debe ser menor a 20!") else: break self.nota.guardar_nota({ 'id_alumno': id_alumno_elegido, 'id_malla': id_malla_elegida, 'nota': nota_ingresada }) print(''' ============================== Se califico al alumno ! ============================== ''') input("\nPresione una tecla para continuar...")
class Alumno_controller(): def __init__(self): self.alumno = Alumno() self.salir = False self.periodo_nota1 = Periodo_Nota1() self.periodo_nota2 = Periodo_Nota2() self.periodo_nota3 = Periodo_Nota3() self.periodo_nota4 = Periodo_Nota4() self.notas_bimestre = Notas_bimestre() def menu(self): while True: try: print(''' =============== Alumno =============== ''') menu = [ 'Listar Alumnos', 'Buscar Alumno', 'Nuevo Alumno', 'Salir' ] respuesta = Menu(menu).show() if respuesta == 1: self.listar_alumnos() elif respuesta == 2: self.buscar_alumno() elif respuesta == 3: self.insertar_alumno() else: self.salir = True break except Exception as e: print(f'{str(e)}') def listar_alumnos(self): print(''' ======================== Lista de Alumnos ======================== ''') alumnos = self.alumno.obtener_alumnos('id_alumno') print( print_table(alumnos, [ 'ID', 'Nombres', 'Códgo', 'Salón', 'id_periodo_1', 'id_periodo_2', 'id_periodo_3', 'id_periodo_4' ])) input("\nPresione una tecla para continuar...") def buscar_alumno(self): print(''' ===================== Buscar Alumno ===================== ''') try: id_alumno = input_data("Ingrese el ID del Alumno >> ", "int") alumno = self.alumno.obtener_alumno({'id_alumno': id_alumno}) print( print_table(alumno, [ 'ID', 'Nombres', 'Códgo', 'Salón', 'id_periodo_1', 'id_periodo_2', 'id_periodo_3', 'id_periodo_4' ])) if alumno: if pregunta("¿Deseas dar mantenimiento al alumno?"): opciones = ['Editar alumno', 'Eliminar alumno', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_alumno(id_alumno) elif respuesta == 2: self.eliminar_alumno(id_alumno) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...") def insertar_alumno(self): nombre = input_data("Ingrese el nombre del alumno >> ") codigo = input_codigo() print("\nPor favor introduzca el salón al cual corresponda el alumno:") salones = [ '1° Primaria', '2° Primaria', '3° Primaria', '4° Primaria', '5° Primaria', '6° Primaria', '1° Secundaria', '2° Secundaria', '3° Secundaria', '4° Secundaria', '5° Secundaria' ] salon = Menu(salones).show() salon = nombre_salon(salon) self.alumno.guardar_alumno({ 'nombre': nombre, 'codigo': codigo, 'salon': salon }) print(''' ============================== Nuevo Alumno agregado ! ============================== ''') self.periodo_nota1.guardar_periodo_nota1({ 'matematica': None, 'religion': 77, 'comunicacion': 77, 'ingles': 77, 'historia': 77, 'promedio': 77 }) self.periodo_nota2.guardar_periodo_nota2({ 'matematica': 77, 'religion': 77, 'comunicacion': 77, 'ingles': 77, 'historia': 77, 'promedio': 77 }) self.periodo_nota3.guardar_periodo_nota3({ 'matematica': 77, 'religion': 77, 'comunicacion': 77, 'ingles': 77, 'historia': 77, 'promedio': 77 }) self.periodo_nota4.guardar_periodo_nota4({ 'matematica': 77, 'religion': 77, 'comunicacion': 77, 'ingles': 77, 'historia': 77, 'promedio': 77 }) self.listar_alumnos() def editar_alumno(self, id_alumno): nombre = input_data("Ingrese el nuevo nombre del alumno >> ") print( "\nPor favor introduzca el nuevo salón al cual corresponda el alumno:" ) salones = [ '1° Primaria', '2° Primaria', '3° Primaria', '4° Primaria', '5° Primaria', '6° Primaria', '1° Secundaria', '2° Secundaria', '3° Secundaria', '4° Secundaria', '5° Secundaria' ] salon = Menu(salones).show() salon = nombre_salon(salon) self.alumno.modificar_alumno({'id_alumno': id_alumno}, { 'nombre': nombre, 'salon': salon }) print(''' ======================== Alumno Editado ! ======================== ''') def eliminar_alumno(self, id_alumno): self.alumno.eliminar_alumno({'id_alumno': id_alumno}) self.periodo_nota1.eliminar_periodo_nota1( {'id_periodo_nota1': id_alumno}) self.periodo_nota2.eliminar_periodo_nota2( {'id_periodo_nota2': id_alumno}) self.periodo_nota3.eliminar_periodo_nota3( {'id_periodo_nota3': id_alumno}) self.periodo_nota4.eliminar_periodo_nota4( {'id_periodo_nota4': id_alumno}) print(''' ======================== Alumno Eliminado ! ======================== ''') def mostrar_alumno(self): id_alumno = input_data("Ingrese el ID del alumno que esta buscando>> ") alumno = self.alumno.obtener_alumno({'id_alumno': id_alumno}) print( print_table(alumno, [ 'ID', 'Nombres', 'Códgo', 'Salón', 'id_periodo_1', 'id_periodo_2', 'id_periodo_3', 'id_periodo_4' ])) if alumno: menu = ["1° Bimestre", "2° Bimestre", "3° Bimestre", "4° Bimestre"] bimestre = Menu(menu).show() if bimestre == 1: periodo = 'periodo_nota1' bim = "Primer Bimestre" elif bimestre == 2: periodo = 'periodo_nota2' bim = "Segundo Bimestre" elif bimestre == 3: periodo = 'periodo_nota3' bim = "Tercer Bimestre" elif bimestre == 4: periodo = 'periodo_nota4' bim = "Cuarto Bimestre" try: conn = Conexion(periodo) query = ''' DROP TABLE IF EXISTS notas_bimestre; ''' conn.ejecutar_sentencia(query) except Exception as e: print(f'{str(e)}') try: conn = Conexion(periodo) query = ''' CREATE TABLE IF NOT EXISTS notas_bimestre( id_notas_bimestre SERIAL PRIMARY KEY NOT NULL, nombre varchar(50) NOT NULL, codigo varchar(50) NOT NULL, salon varchar(50) NOT NULL, matematica decimal, religion decimal, comunicacion decimal, ingles decimal, historia decimal, promedio decimal ); ''' conn.ejecutar_sentencia(query) except Exception as e: print(f'{str(e)}') try: conn = Conexion(periodo) query = f''' INSERT INTO notas_bimestre(nombre, codigo, salon, matematica, religion, comunicacion, ingles, historia, promedio) SELECT nombre, codigo, salon, matematica, religion, comunicacion, ingles, historia, promedio FROM alumnos INNER JOIN {periodo} on alumnos.id_{periodo} = {periodo}.id_{periodo} WHERE alumnos.id_alumno={id_alumno} ''' cursor = conn.execute_query(query) conn.commit() except Exception as e: print(f'{str(e)}') finally: conn.close_connection() notas_bimestre = Notas_bimestre() print(f''' ====================================================== Notas del alumno {alumno[1]} en el {bim} ======================================================= ''') notas = self.notas_bimestre.obtener_notas_bimestre( 'id_notas_bimestre') print( print_table(notas, [ 'ID', 'Nombre', 'Códgo', 'Salón', 'Matemática', 'Religión', 'Comunicación', 'Inglés', 'Historia', 'Promedio' ])) input("\nPresione una tecla para continuar...")