def nuevaOrdenVenta(cliente, productos): dateTimeObj = datetime.now() albaran = dateTimeObj.strftime(str(cliente.getId()) + "%d%m%Y%H%M%S") ordenVenta = Clase.OrdenVenta(cliente, productos, albaran) if BBDD.guardaOrdenVenta(ordenVenta): montaOrdenesVenta() log("Venta {0} Creada".format(albaran)) return ordenVenta
def montaOrdenesVenta(): listaProductosAlbaran = [] listaOrdenesVenta = BBDD.listadoOrdenesVenta() montaProductos() montaClientes() ordenesVenta.clear() if listaOrdenesVenta: albaran = 0 cliente = 0 linea = 0 for oc in listaOrdenesVenta: # Recorre todas las filas de la tabla odenes compra # si no coincide el albaran con el anterior y no es la primera linea o si es el ultimo crea orden de venta if albaran != oc[1] and linea > 0 or linea == len( listaOrdenesVenta) - 1: if linea == len(listaOrdenesVenta) - 1: listaProductosAlbaran.append( almacen[oc[3]]) # se añade el producto a la lista cliente = oc[2] albaran = oc[1] # si ha cambiado de venta se crea la compra lista = listaProductosAlbaran.copy( ) # se hace una copia porque si no al borrar borra la referencia ordenVenta = Clase.OrdenVenta(clientes[cliente], lista, albaran) ordenVenta.setId(oc[0]) ordenesVenta[oc[ 0]] = ordenVenta # se guarda en la lista de ordenes de venta con su id listaProductosAlbaran.clear( ) # se vacia la lista de productos para la siguiente compra listaProductosAlbaran.append( almacen[oc[3]]) # se añade el producto a la lista albaran = oc[1] # se asigna nuevo id del albaran cliente = oc[2] # se asigna nuevo proveedor linea += 1 log("Se ha creado una lista nueva de ventas") return ordenesVenta
def nuevaVenta(): errores = False if not errores: listaProductos = {} clienteElegido = muestraClientes(True) if clienteElegido is None or clienteElegido < 0: print("-Creando nuevo Cliente-") nuevoCliente() clienteElegido = len(clientes) - 1 repite = True while repite: productoElegido = muestraProductos(True) if productoElegido is None or productoElegido < 0: print("-Creando Nuevo Producto-") nuevoProducto() productoElegido = len(almacen) - 1 cantidad = input("cantidad: ").strip() listaProductos[almacen[productoElegido]] = cantidad respuesta = input("¿Agregar otro producto? (s/n)").strip() repite = False if respuesta == "n" else True ordenVenta = Clase.OrdenVenta(listaProductos) ordenesVenta.append(ordenVenta) print("Orden Creada!\n") log("Se ha creado una orden de Venta") else: print(errores)