def solicitar_libro(self, id_lector_identificado): print('Primero busquemos el libro que vas a solicitar >>\n') while True: self.libro_controlador.buscar_libros_filtros_lector() if pregunta(f"¿Encontraste el libro que buscabas?"): id_libro_seleccionado = input_data("Ingresa el ID del libro a solicitar >> ") stock_i=self.stock_prestado_libro(id_libro_seleccionado) # stock prestado stock_p=self.libro_controlador.stock_inicial_libro(id_libro_seleccionado) # stock inicial stock_disponible = stock_i - stock_p if stock_disponible: now = datetime.now() fecha_ahora = now.strftime("%d-%m-%y %H:%M") self.prestamo.guardar_prestamo({ 'id_lector' : id_lector_identificado, 'id_libro' : id_libro_seleccionado, 'fecha_solicitud' : fecha_ahora, 'id_estado_prestamo' : 1 }) print(''' ============================== Solicitud creada !! ============================== ''') presentar = self.prestamo.obtener_prestamos('id_lector') print(print_table(presentar,['ID', 'Id_Lector', 'Id_Libro', 'Fecha solicitud', 'Id_administrador', 'Fecha prestamo', 'Plazo', 'Fecha devolución', 'Id_estado'])) break else: if pregunta(f"¿Desea volver a intentar una búsqueda?"): print('Busquemos el libro que vas a solicitar >>\n') else: input("\nPresione una tecla para continuar...") break
def buscar_categorias(self): print(''' ========================= Buscar Categorias ========================= ''') try: id_categoria = input_data("Ingrese el ID de la categoria >> ", "int") categorias = self.categorias.obtener_categorias_producto( {'id_categoria': id_categoria}) print(print_table(categorias, ['id_categoria', 'descripcion'])) if categorias: if pregunta("¿Deseas dar mantenimiento a las categorias?"): opciones = [ 'Editar categorias', 'Eliminar categorias', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_categorias(id_categoria) elif respuesta == 2: self.eliminar_categorias(id_categoria) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_profesor(self): print(''' ======================= Buscar Profesor ======================= ''') try: id_profesor = input_data("Ingrese el ID del Profesor >> ", "int") profesor = self.profesor.obtener_profesor( {'id_profesor': id_profesor}) print( print_table(profesor, [ 'ID', 'Nombre', 'DNI', 'Curso asignado', 'Salon 1', 'Salon 2', 'Salon 3' ])) if profesor: if pregunta( "¿Deseas dar mantenimiento al profesor selecionado?"): opciones = [ 'Editar profesor', 'Eliminar profesor', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_profesor(id_profesor) elif respuesta == 2: self.eliminar_profesor(id_profesor) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_periodo(self): print(''' ======================= Buscar Periodo ======================= ''') try: id_periodo = input_data("Ingrese el ID del periodo >> ", "int") periodo = self.periodo.obtener_periodo({'id_periodo': id_periodo}) print( print_table(periodo, [ 'id_periodo', 'nombre_periodo', 'Fecha_desde', 'Fecha_hasta' ])) if periodo: if pregunta("¿Deseas dar mantenimiento al periodo?"): opciones = ['Editar periodo', 'Eliminar periodo', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_periodo(id_periodo) elif respuesta == 2: self.eliminar_periodo(id_periodo) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_producto(self): print(''' ===================== Buscar Producto ===================== ''') try: id_producto = input_data("Ingrese el ID del Producto >> ", "int") producto = self.almacen.obtener_producto( {'id_producto': id_producto}) print( print_table(producto, [ 'ID', 'Código del producto', 'Nombre', 'Precio por unidad', 'Cantidad' ])) if producto: if pregunta("¿Deseas dar mantenimiento al producto?"): opciones = [ 'Editar producto', 'Eliminar producto', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_producto(id_producto, producto) elif respuesta == 2: self.eliminar_producto(id_producto, producto) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_estado_libro(self): print(''' =========================== Buscar estado libro =========================== ''') try: id_estado_libro = input_data( "Ingrese el ID del estado de libro >> ", "int") estado_libro = self.estado_libro.obtener_estado_libro( {'id': id_estado_libro}) print(print_table(estado_libro, ['ID', 'Descripción'])) if estado_libro: if pregunta("¿Deseas dar mantenimiento a estado de libro?"): opciones = [ 'Editar estado de libro', 'Eliminar estado de libro', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_estado_libro(id_estado_libro) elif respuesta == 2: self.eliminar_estado_libro(id_estado_libro) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_autor(self): print(''' ==================== Buscar autor ==================== ''') try: id_autor = input_data("Ingrese el ID del autor >> ", "int") autor = self.autor.obtener_autor({'id': id_autor}) print( print_table( autor, ['ID', 'Nombres', 'Apellidos', 'Fecha de nacimiento'])) if autor: if pregunta("¿Deseas dar mantenimiento al autor?"): opciones = ['Editar autor', 'Eliminar autor', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_autor(id_autor) elif respuesta == 2: self.eliminar_autor(id_autor) except Exception as e: print(f'{str(e)}') 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 buscar_malla(self): print(''' =========================== Buscar Malla =========================== ''') try: 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'])) if malla: if pregunta("¿Deseas dar mantenimiento a la malla?"): opciones = ['Editar malla', 'Eliminar malla', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_malla(id_malla) elif respuesta == 2: self.eliminar_malla(id_malla) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_estado(self): print(''' ================================= Buscar Estado de Usuario ================================= ''') try: estado_lector_id = input_data( "Ingrese el ID del Estado de Usuario >> ", "int") estado_lector = self.estado_lector.obtener_estado_lector( {'id': estado_lector_id}) print(print_table(estado_lector, ['ID', 'Descripcion'])) if editorial: if pregunta( "¿Deseas dar mantenimiento al estado del Usuario?"): opciones = [ 'Editar Estado de Usuario', 'Eliminar Estado de Usuario', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_estado(estado_lector_id) elif respuesta == 2: self.eliminar_estado(estado_lector_id) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_venta(self): print(''' ==================== Buscar Venta ==================== ''') try: id_venta = input_data("Ingrese el ID de la Venta >> ", "int") venta_cabecera = self.venta_cabecera.obtener_venta_cabecera({'id_venta' : id_venta}) print(print_table(venta_cabecera, ['ID', 'Tipo', 'Comprobante', 'Fecha', 'Precio'])) if venta_cabecera: if pregunta("¿Deseas dar mantenimiento a la Venta?"): opciones = ['Detalle de Venta','Editar Venta', 'Eliminar Venta', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: venta_detalle = self.venta_detalle.obtener_venta_detalle({'id_venta' : id_venta}) self.resumen_venta(venta_cabecera, venta_detalle) elif respuesta == 2: self.editar_venta_cabecera(id_venta) self.editar_venta_detalle(id_venta) elif respuesta == 3: self.eliminar_venta_cabecera(id_venta) self.eliminar_venta_detalle(id_venta) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_registro(self): print(''' ======================= Buscar Registro ======================= ''') try: id_rol = input_data( "Ingrese el ID del registro que está buscando >> ", "int") rol = self.rol.obtener_rol({'id_rol': id_rol}) print( print_table(rol, ['ID', 'Nombre', 'contraseña', 'Cargo accedido'])) if rol: if pregunta("¿Deseas dar mantenimiento al Registro?"): opciones = [ 'Editar Registro', 'Eliminar Registro', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_registro(id_rol) elif respuesta == 2: self.eliminar_registro(id_rol) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_lector(self): print(''' =========================== Buscar Usuario =========================== ''') try: lector_id = input_data("Ingrese el ID del Usuario >> ", "int") lector = self.lector.obtener_lector({'id_lector': lector_id}) print( print_table(lector, [ 'lector_id', 'dni', 'nombres', 'apellidos', 'fecha_nacimiento', 'estado_lector_id' ])) if lector: if pregunta( "¿Deseas dar mantenimiento a la lista de Usuarios?"): opciones = ['Editar Usuario', 'Eliminar Usuario', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_lector(lector_id) elif respuesta == 2: self.eliminar_lector(lector_id) except Exception as e: print(f'{str(e)}') 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 buscar_director(self): print(''' =========================== Buscar director =========================== ''') try: id_director = input_data("Ingrese el ID del director >> ", "int") director = self.director.obtener_director( {'director_id': id_director}) print(print_table(director, ['ID', 'Nombre', 'Edad', 'Correo'])) if director: if pregunta("¿Deseas dar mantenimiento al director?"): opciones = [ 'Asignar director', 'Editar director', 'Eliminar director', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.asignar_director(id_director, director) elif respuesta == 2: self.editar_director(id_director) elif respuesta == 3: self.eliminar_director(id_director) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_cierre_de_caja(self): print(''' ============================= Buscar Cierre de Caja ============================= ''') try: id_cierre_caja = input_data("Ingrese el ID del cierre de caja >> ", "int") cierre_caja = self.alumno.obtener_alumno( {'cierre_caja_id': id_cierre_caja}) print(print_table(cierre_caja, ['ID', 'cierre_caja'])) if cierre_caja: if pregunta("¿Deseas dar mantenimiento al cierre de caja?"): opciones = [ 'Editar cierre de caja', 'Eliminar cierre de caja', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_cierre_caja(id_cierre_caja) elif respuesta == 2: self.eliminar_cierre_caja(id_cierre_caja) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_genero(self): print(''' ================================== Buscar Generos Literarios ================================== ''') try: genero_id = input_data("Ingrese el ID del genero >> ", "int") genero = self.genero.obtener_genero({'id_genero': genero_id}) print(print_table(genero, ['genero_id', 'descripcion'])) if genero: if pregunta("¿Deseas editar el genero literario?"): opciones = [ 'Editar genero literario', 'Eliminar genero literario', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_genero(genero_id) elif respuesta == 2: self.eliminar_genero(genero_id) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_tipo_venta(self): print(''' ============================= Buscar Tipo de Venta ============================= ''') try: id_tipo_venta = input_data("Ingrese el ID del tipo de venta >> ", "int") tipo_venta = self.tipo_venta.obtener_tipo_venta( {'tipo_venta_id': id_tipo_venta}) print(print_table(tipo_venta, ['ID', 'tipo de venta'])) if alumno: if pregunta("¿Deseas dar mantenimiento al tipo de venta?"): opciones = [ 'Editar tipo de venta', 'Eliminar tipo de venta', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_tipo_venta(id_tipo_venta) elif respuesta == 2: self.eliminar_tipo_venta(id_tipo_venta) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_tipo_compra(self): print(''' ==================================== Buscar Rol de Usuario ==================================== ''') try: id_tipo_compra = input_data("Ingrese el ID del Tipo de compra >> ", "int") tipo_compra = self.tipo_compra.obtener_tipo_compra( {'id_tipo_compra': id_tipo_compra}) print(print_table(tipo_compra, ['ID', 'descripción'])) if tipo_compra: if pregunta("¿Deseas editar Tipo de compra?"): opciones = [ 'Editar Tipo de compra', 'Eliminar Tipo de compra', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_tipo_compra(id_tipo_compra) elif respuesta == 2: self.eliminar_tipo_compra(id_tipo_compra) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_periodo(self): print(''' ===================== Buscar Periodo ===================== ''') try: id_periodo = input_data("Ingrese el ID del periodo >> ", "int") periodo = self.periodo.obtener_periodo({'id_periodo': id_periodo}) print( print_table(periodo, ['ID', 'Periodo', 'Inicio', 'Fin', 'Estado'])) if periodo: if pregunta("¿Deseas dar mantenimiento a este periodo?"): opciones = [ 'Asignar una malla al periodo escolar', 'Editar periodo escolar', 'Eliminar periodo escolar', 'Aperturar periodo escolar', 'Cerrar periodo escolar', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.agregar_malla(id_periodo, periodo) elif respuesta == 2: self.editar_periodo(id_periodo) elif respuesta == 3: self.eliminar_periodo(id_periodo) elif respuesta == 4: self.aperturar_periodo(id_periodo) elif respuesta == 5: self.cerrar_periodo(id_periodo) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def revisar_solicitudes(self, id_administrador): id_estadop = 1 solicitud_prestamo = self.prestamo.buscar_prestamos({'id_estado_prestamo': id_estadop}) print(''' ============================================= Solicitudes pendientes de aprobación ============================================= ''') print(print_table(solicitud_prestamo, ['ID', 'Id_Lector', 'Id_Libro', 'Fecha solicitud', 'Id_administrador', 'Fecha prestamo', 'Plazo', 'Fecha devolución', 'Id_estado'])) id_prest_sol = input_data("Ingrese el ID de la solicitud a revisar >> ") solicitud = self.prestamo.obtener_prestamo({'id_prestamo' : id_prest_sol}) print(print_table(solicitud,['ID', 'Id_Lector', 'Id_Libro', 'Fecha solicitud', 'Id_administrador', 'Fecha prestamo', 'Plazo', 'Fecha devolución', 'Id_estado'])) if pregunta(f"¿Desea aprobar esta solicitud?"): self.aprobar_solicitud(id_prest_sol, id_administrador) print(f''' ========================================================= Solicitud aprobada con ID : {solicitud[0]} ========================================================= ''') else: self.rechazar_solicitud(id_prest_sol, id_administrador) print(f''' ========================================================= Solicitud rechazada con ID: {solicitud[0]} ========================================================= ''')
def buscar_profesor(self): print(''' =========================== Buscar Profesor =========================== ''') try: id_profesor = input_data("Ingrese el ID del profesor >> ", "int") profesor = self.profesor.obtener_profesor( {'profesor_id': id_profesor}) print(print_table(profesor, ['ID', 'Nombre', 'Edad', 'Correo'])) if profesor: if pregunta( f"¿Deseas dar mantenimiento al registro profesor '{profesor[1]}'?" ): opciones = [ 'Asignar curso', 'Asignar salon', 'Editar profesor', 'Eliminar profesor', 'Salir' ] respuesta = Menu(opciones).show() if respuesta == 1: self.asignar_curso(id_profesor, profesor) elif respuesta == 2: self.asignar_salon(id_profesor, profesor) elif respuesta == 3: self.editar_profesor(id_profesor) elif respuesta == 4: self.eliminar_profesor(id_profesor) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def aperturar_periodo(self, id_periodo): periodo = self.periodo.obtener_periodo({'id_periodo': id_periodo}) if pregunta(f'¿Seguro que desea aperturar el periodo {periodo[1]}?'): self.periodo.modificar_periodo({'id_periodo': id_periodo}, {'estado_periodo': 'aperturado'}) print(''' ======================== Periodo Editado ! ======================== ''')
def iniciar_app(): try: if pregunta('¿Desea ingresar a la biblioteca municipal?'): opciones = ['Bibliotecario', 'Lector'] respuesta = Menu(opciones).show() if respuesta == 1: Bibliotecario() elif respuesta == 2: Lector() except Exception as e: print(f'{str(e)}')
def seguimiento_libros(self, id_administrador): id_estado_a = 2 seguimiento_prestamo = self.prestamo.buscar_prestamos({'id_estado_prestamo': id_estado_a}) print(''' ============================================= Préstamos sin devolución ============================================= ''') print(print_table(seguimiento_prestamo, ['ID', 'Id_Lector', 'Id_Libro', 'Fecha solicitud', 'Id_administrador', 'Fecha prestamo', 'Plazo', 'Fecha devolución', 'Id_estado'])) id_prest_dev = input_data("Ingrese el ID del prestamo a devolver >> ") solicitud = self.prestamo.obtener_prestamo({'id_prestamo' : id_prest_dev}) print(print_table(solicitud,['ID', 'Id_Lector', 'Id_Libro', 'Fecha solicitud', 'Id_administrador', 'Fecha prestamo', 'Plazo', 'Fecha devolución', 'Id_estado'])) if pregunta(f"¿Desea cambiar al estado devuelto?"): self.devolver_prestamo(id_prest_dev, id_administrador) print(f''' ========================================================= Préstamo devuelto con ID : {solicitud[0]} ========================================================= ''') else: input("\nNo se realizó ninguna acción. Presione una tecla para continuar...")
def buscar_curso(self): print(''' ===================== Buscar Curso ===================== ''') try: 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'])) if curso: if pregunta("¿Deseas dar mantenimiento al curso?"): opciones = ['Editar curso', 'Eliminar curso', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_curso(id_curso) elif respuesta == 2: self.eliminar_curso(id_curso) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_venta(self): print(''' ===================== Buscar Venta ===================== ''') try: id_ventas = input_data("Ingrese el ID de la venta >> ", "int") venta = self.cajero.buscar_ventas({'id_ventas': id_ventas}) print(print_table(venta, ['ID', 'DNI', 'Producto', 'Cantidad de productos comprados', 'Precio Total', 'Fecha', 'Mes de la venta'])) if venta: if pregunta("¿Deseas actualizar datos de la venta?"): opciones = ['Editar Venta', 'Eliminar Venta', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_venta(id_ventas) elif respuesta == 2: self.eliminar_venta(id_ventas) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_rol(self): print(''' ==================================== Buscar Rol de Usuario ==================================== ''') try: id_rol = input_data("Ingrese el ID del Rol >> ", "int") rol = self.rol.obtener_rol({'id_rol': id_rol}) print(print_table(rol, ['ID', 'descripción'])) if rol: if pregunta("¿Deseas editar Rol?"): opciones = ['Editar Rol', 'Eliminar Rol', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_rol(id_rol) elif respuesta == 2: self.eliminar_rol(id_rol) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_marca(self): print(''' ==================================== Buscar Marca de Producto ==================================== ''') try: id_marca = input_data("Ingrese el ID de la Marca >> ", "int") marca = self.marca.obtener_marca({'id_marca': id_marca}) print(print_table(marca, ['ID', 'descripción'])) if marca: if pregunta("¿Deseas editar Marca de producto?"): opciones = ['Editar Marca', 'Eliminar Marca', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_marca(id_marca) elif respuesta == 2: self.eliminar_marca(id_marca) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")
def buscar_salon(self): print(''' ===================== Buscar salon ===================== ''') try: id_salon = input_data("Ingrese el ID del salon >> ", "int") salon = self.salon.obtener_salon({'id_salon': id_salon}) print(print_table(salon, ['ID', 'Nombre'])) if salon: if pregunta("¿Deseas dar mantenimiento al salon?"): opciones = ['Editar salon', 'Eliminar salon', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_salon(id_salon) elif respuesta == 2: self.eliminar_salon(id_salon) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...")