예제 #1
0
    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.")
예제 #6
0
 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