コード例 #1
0
 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()
コード例 #2
0
ファイル: nota_controller.py プロジェクト: chches/hackathon10
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 !
        ===========================
        ''')
コード例 #3
0
 def __init__(self):
     self.alumno = Alumno()
     self.salir = False
コード例 #4
0
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 !
        ========================
        ''')
コード例 #5
0
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...")
コード例 #6
0
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...")