def get_all_articulos(cls): """ Obtiene todas las producciones de artículos de la BD. """ try: cls.abrir_conexion() sql = ("SELECT \ idProdTipArt, \ idTipoArticulo, \ fecha, \ cantidad \ FROM prodTipArt WHERE estado != \"eliminado\" order by fecha DESC;" ) cls.cursor.execute(sql) prods_ = cls.cursor.fetchall() producciones = [] for p in prods_: arts = CantArticulo(p[3], p[1]) receta = cls.get_receta_art(p[0]) print(receta) prod = ProduccionArticulo(p[0], arts, p[2].strftime("%d/%m/%Y"), receta) producciones.append(prod) return producciones except Exception as e: raise custom_exceptions.ErrorDeConexion( origen="data_produccion.get_all_articulos()", msj=str(e), msj_adicional="Error obtieniendo las producciones desde la BD." ) finally: cls.cerrar_conexion()
def get_from_Pid(cls, id, noClose=False): """ Obtiene los articulos de un pedido de la BD """ try: cls.abrir_conexion() sql = ("SELECT \ cantidad, \ idTipoArticulo \ FROM tiposArt_pedidos \ WHERE idPedido = {};").format(id) cls.cursor.execute(sql) cantarts_ = cls.cursor.fetchall() cantarts = [] for a in cantarts_: #TODO: agregar precio venta cantart = CantArticulo(a[0],a[1]) cantarts.append(cantart) return cantarts except Exception as e: raise custom_exceptions.ErrorDeConexion(origen="data_cant_articulo.get_from_Pid()", msj=str(e), msj_adicional="Error obtieniendo los articulos de un pedido desde la BD.") finally: if not(noClose): cls.cerrar_conexion()
def get_all(cls, noClose=False): """Obtiene todas las salidas de la municipalidad de la BD. """ try: cls.abrir_conexion() sql = ("SELECT idSalidaMun, \ idTipoArticulo, \ cantSalida, \ fecha \ from salidasMun") cls.cursor.execute(sql) salidasMun = [] salidasMun_ = cls.cursor.fetchall() if len(salidasMun_) > 0: for salida in salidasMun_: cant_articulo = CantArticulo(salida[2], salida[1]) salidasMun.append( SalidaStockMunicipalidad( salida[0], cant_articulo, salida[3].strftime("%d/%m/%Y"))) return salidasMun except Exception as e: raise custom_exceptions.ErrorDeConexion( origen="data_material.get_by_id()", msj=str(e), msj_adicional= "Error obteniendo todas las salidas de la municipalidad de la BD." )
def get_salidas_by_entidad(cls, id, noClose=False): try: cls.abrir_conexion() sql = ("SELECT idSalida, \ idTipoArticulo, \ fecha, \ cantidadSalida, \ valorTotal, \ concepto \ FROM salidasStock WHERE idEntidad = {};".format(id)) cls.cursor.execute(sql) salidas = cls.cursor.fetchall() salidasStock = [] for s in salidas: articulos = CantArticulo(s[3], s[1]) salida = SalidaStock(s[0], articulos, s[2], s[4], s[5]) salidasStock.append(salida) return salidasStock except Exception as e: raise custom_exceptions.ErrorDeConexion( origen="data.get_salidas()", msj=str(e), msj_adicional="Error obtieniendo las \ salidas de stock desde la BD." ) finally: if not (noClose): cls.cerrar_conexion()
def get_all(cls, noClose=False): """Obtiene todas las salidas de la BD. """ try: cls.abrir_conexion() sql = ("SELECT idSalida, \ idTipoArticulo, \ idEntidad, \ fecha, \ cantidadSalida, \ valorTotal, \ concepto \ from salidasStock") cls.cursor.execute(sql) salidasStock = [] salidasStock_ = cls.cursor.fetchall() if len(salidasStock_) > 0: for salida in salidasStock_: cant_art = CantArticulo( salida[4], salida[1], float(salida[5]) / float(salida[4])) salidasStock.append( SalidaStock(salida[0], cant_art, salida[3].strftime("%d/%m/%Y"), float(salida[4]), salida[6])) return salidasStock except Exception as e: raise custom_exceptions.ErrorDeConexion( origen="data_salida_stock_get_all()", msj=str(e), msj_adicional="Error obteniendo todas las salidas de la BD.")
def carrito_to_list(cls, carrito): """ Convierte el carrito, que es un dic, a un arreglo de CantArticulos """ nuevo_carrito = [] for art in carrito.keys(): nuevo_carrito.append(CantArticulo(carrito[art], art)) return nuevo_carrito