def devolverLibro(): usuario = Usuario() print(f"\t Codigo\t Nombre\t Correo\t Documento") for obj in usuario.all(): print(f"\t {obj.id}\t {obj.nombre}\t {obj.correo}\t {obj.documento}") idUsuario = int( input("Escriba el id del usuario que realiza la reserva: ")) libro = Libro() print(f"\t Codigo\t Nombre\t ISBN\t Autor\t Editorial\tEstado") for obj in libro.all(): print( f"\t {obj.id}\t {obj.nombre}\t {obj.isbn}\t {obj.autor_id}\t {obj.editorial_id}\t {obj.estado_libro_id}" ) idLibro = int(input("Ingrese el id del libro a reservar: ")) libro = Libro.find(idLibro) libro.estado_libro_id = 1 libro.save() biblioteca = Biblioteca() print(f"\t Codigo\t Nombre\t Dirección\t Documento") for obj in biblioteca.all(): print( f"\t {obj.id}\t {obj.nombre}\t {obj.direccion}\t {obj.documento}") idBiblioteca = int( input("Ingrese el id de la biblioteca donde se reservara: ")) prestamo = Prestamo() prestamo.usuario_id = idUsuario prestamo.libros_id = idLibro prestamo.prestado_on = str(date.today()) prestamo.bibliotecas_id = idBiblioteca prestamo.save()
def registroPrestamos(self): self.__log.info("Ingresando al Registro de los ") opcionesRegistrolos = { "\t- Registrar Prestamos ": 1, "\t- Registrar devolucion de prestamo ": 2 } menuRegistrolos = Menu("Registro de Prestamos ", opcionesRegistrolos) resmenuRegistrolos = menuRegistrolos.mostrarMenu() stopMenu = True while stopMenu: if resmenuRegistrolos == 1: self.__log.info("Entrando al registro de Prestamos ") nuevoPrestamo = Prestamo() codigoLibro = input("escriba el codigo del Libro \n") codigoUsuario = input("escriba el codigo del usuario \n") fechaPrestamo = datetime.today().strftime('%Y-%m-%d') bibliotecaId = 1 flagUpdate = False nuevoPrestamo.user_id = codigoUsuario nuevoPrestamo.libros_id = codigoLibro nuevoPrestamo.prestado_on = fechaPrestamo nuevoPrestamo.bibliotecas_id = bibliotecaId listaLibros = Libro.where('id', '=', f'{codigoLibro}').get() for row in listaLibros: libro = row if libro.estado_libro_id == 1: listaAutor = Autor.where('id', '=', f'{libro.autor_id}').get() for row in listaAutor: autor = row print( "\tCodigo Usuario\t\tLibro\t\tISBN\t\tAutor\t\tBiblioteca" ) print( f"\t{str(codigoUsuario)}\t\t{str(libro.nombre)}\t\t{str(libro.isbn)}\t\t{str(autor.nombre)}\t\t{str(bibliotecaId)}" ) registro = input( "Desea registrar el prestamo Si(1)/No(0)?: ") if str(registro) == '1': if nuevoPrestamo.save(): print("Registro de prestamo satisfactorio") sleep(5) flagUpdate = Libro.where( 'id', '=', f'{codigoLibro}').update(estado_libro_id=3) if flagUpdate: print("Actualización de libro satisfactorio") sleep(5) else: print("No se pudo actualizar el libro") else: print( "No se puede prestar el libro.\nLibro ha sido prestado." ) sleep(5) stopMenu = False elif resmenuRegistrolos == 2: self.__log.info("Entrando a la devolución de libro Prestado ") codigoUsuario = input("escriba el codigo del usuario \n") fechaDevolucion = '9999-12-31' #Constante para identificar devolucion flagUpdate = False listaDev = Prestamo.where('user_id', '=', f'{codigoUsuario}').get() if listaDev: print( "\tID Prestamo\tLibro\t\tISBN\t\tAutor\t\tBiblioteca") for rowDev in listaDev: if str(rowDev.prestado_on ) != fechaDevolucion: #No mostrar devoluciones listaLibros = Libro.where( 'id', '=', f'{rowDev.libros_id}').get() for rowLibro in listaLibros: libro = rowLibro listaAutor = Autor.where( 'id', '=', f'{libro.autor_id}').get() for rowAutor in listaAutor: autor = rowAutor print( f"\t{str(rowDev.id)}\t\t{str(libro.nombre)}\t\t{str(libro.isbn)}\t\t{str(autor.nombre)}\t\t{str(rowDev.bibliotecas_id)}" ) idDev = input("Escriba el Id de Prestamo: ") if idDev: flagUpdate = Prestamo.where( 'id', '=', f'{idDev}').update(prestado_on=fechaDevolucion) if flagUpdate: print("Actualización de Devolución satisfactoria") sleep(5) flagUpdate = Libro.where( 'id', '=', f'{rowDev.libros_id}').update( estado_libro_id=1) if flagUpdate: print("Actualización de libro satisfactorio") sleep(5) else: print("No se pudo actualizar el libro") else: print("No se pudo actualizar Devolución") stopMenu = False elif resmenuRegistrolos == 9: self._log.info("Saliendo") stopMenu = False
def execute_modulo(self, ans): clear() if (ans == '1'): pass # print("Ingrese la información solicitada") # id_doc=input("Documento del usuario: ") # records=models.user.User.where('documento','=',id_doc).get() # for record in records: # print(record.id) elif (ans == '2'): print('Ingrese la informacion solicitada') id_doc_urs = input(color.BOLD + "Id documento del usuario: " + color.END) userconx = models.user.Users() run = True while run: try: "user = db.table('users').where('name', 'John').pluck('name')" record_urs = userconx.where('documento', id_doc_urs).pluck('documento') print(record_urs) id_user = record_urs.id break except Exception as error: print(error) print(color.BOLD + 'Opcion incorrecta' + color.END) clear() libroconx = models.libro.Libro records_libro = libroconx.all() record_list = [] for record in records_libro: record_dict = { 'Id libro': record.id, 'Titulo': record.nombre, 'ISBN': record.isbn } record_list.append(record_dict) utils.contenedor.contenedor(record_list) while run: try: print("") id_libro = input('Id libro: ') libroconx.where('id', int(id_libro)).first() break except: print('Opcion incorrecta') clear() bibconx = models.biblioteca.Biblioteca records_bib = bibconx.all() bib_list = [] for record in records_bib: record_dict = { 'Id biblioteca': record.id, 'Nombre de la biblioteca': record.nombre, 'Dirección': record.direccion } bib_list.append(record_dict) utils.contenedor.contenedor(bib_list) run = True while run: try: id_biblioteca = input(color.BOLD + "Id biblioteca: " + color.END) bibconx.where('id', int(id_biblioteca)).first() break except: print('Opcion incorrecta') clear() print("Seguro que deseas agregar la siguiente información: ") ans = ("Respuesta(Y/N): ") if (ans == 'Y'): print("") prtconx = Prestamo() prtconx.user_id = id_user prtconx.libros_id = id_libro prtconx.prestado_on = date.today() prtconx.bibliotecas_id = id_biblioteca prtconx.save() print("Se registro el prestamo") elif (ans == '3'): pass elif (ans == '4'): pass
def registroPrestamos(self): self.__log.info("Ingresando al menu de Prestamos") opcionesPrestamo = { "\t- Registrar Prestamo": 1, "\t- Registrar Devolucion": 2 } menuPrestamo = Menu("Prestamo de Libros", opcionesPrestamo) resmenuPrestamo = menuPrestamo.mostrarMenu() stopMenu = True while stopMenu: if resmenuPrestamo == 1: self.__log.info("Entrando al prestamo de libros") usuario = User() numDocumento = input("Ingrese su numero de documento: ") try: listaUser = [] for obj in usuario.all(): a = [ obj.id, obj.nombre, obj.documento, obj.estado_user_id ] listaUser.append(a) aaa = False i = 0 while aaa == False: if listaUser[i][2] == numDocumento: aaa = True user_id = listaUser[i][0] name = listaUser[i][1] resultado = listaUser[i][3] estadoUser = EstadoUser() listaEstadoUser = [] for obj in estadoUser.all(): a = [obj.id, obj.descripcion] listaEstadoUser.append(a) bbb = False j = 0 while bbb == False: if listaEstadoUser[j][0] == resultado: est_User = listaEstadoUser[j][1] if est_User == "Inactivo" or est_User == "Pendiente Aprobacion": print("Su estado es: ", est_User, "no puede retirar libros") stopMenu = False elif est_User == "Activo": print("Bienvenido ", name, "su estado de usuario es: ", est_User) libros = Libro() nombreLibro = input( "Ingrese el nombre del libro: ") try: guiaLibros = [] for obj in libros.all(): a = [ obj.id, obj.nombre, obj.estado_libro_id ] guiaLibros.append(a) ccc = False i = 0 while ccc == False: if guiaLibros[i][ 1] == nombreLibro: libro_id = guiaLibros[i][0] resultado1 = guiaLibros[i][ 2] ccc = True estadoLibro = EstadoLibro() estadoLibros = [] for obj in estadoLibro.all( ): a = [ obj.id, obj.descripcion ] estadoLibros.append(a) bbb = False j = 0 while bbb == False: if estadoLibros[j][ 0] == resultado1: est_Libros = estadoLibros[ j][1] if est_Libros == "Disponible": print( "El libro, se encuentra ", est_Libros) est_Libros = "Prestado" prestamo = Prestamo( ) prestamo.user_id = user_id prestamo.libros_id = libro_id prestamo.prestado_on = datetime.now( ) prestamo.bibliotecas_id = 1 prestamo.save() stopMenu = False print( "El registro del prestamo, se realizo con exito" ) elif est_Libros == "Reservado" or est_Libros == "Prestado": print( "El libro se encuentra: ", est_Libros) stopMenu = False else: print( "digito mal" ) stopMenu = False bbb = True else: j = j + 1 else: i = i + 1 except: print("El libro no existe") stopMenu = False else: print("Digito mal") stopMenu = False bbb = True else: j = j + 1 else: i = i + 1 except: print("ALGO FALLO EN EL PROGRAMA") stopMenu = False elif resmenuPrestamo == 2: libros = Libro() isbnLibro = input("Ingrese el ISBN del libro a devolver: ") try: listaLibros = [] for obj in libros.all(): a = [obj.id, obj.nombre, obj.isbn] listaLibros.append(a) aaa = False i = 0 while aaa == False: if listaLibros[i][2] == isbnLibro: idLibro = listaLibros[i][0] prestamo = Prestamo() listaPrestamos = [] for obj in libros.all(): a = [ obj.id, obj.user_id, obj.libros_id, obj.prestado_on, obj.bibliotecas_id ] listaPrestamos.append(a) bbb = False j = 0 while bbb == False: if listaPrestamos[i][2] == idLibro: prestamo.user_id = listaPrestamos[i][1] prestamo.libros_id = listaPrestamos[i][2] prestamo.prestado_on = datetime.now() prestamo.bibliotecas_id = listaPrestamos[ i][4] prestamo.save() stopMenu = False bbb = True else: j = j + 1 aaa = True else: i = i + 1 except: print( "El libro no existe o no está registrado en la biblioteca" ) stopMenu = False elif resmenuPrestamo == 9: self._log.info("Saliendo") stopMenu = False