예제 #1
0
    def listarProductos(self, lote_producto):
        """
        Genera el html usado para generar el pdf final del listado de los productos en stock.
        :param lote_producto: arreglo que contiene todos los productos y sus diferentes lotes.
        :return:
        """
        archivo = open("PlantillasListados/productosStock.html", "r")
        contenido = archivo.read()
        archivo.close()

        body = ""
        i = 0

        for lp in lote_producto:
            if (lp.getCantidad() > 0):
                i += 1
                producto = Producto.buscar(Producto.codigo_barra, self.sesion, lp.getIdProducto()).first()
                nr_prod = str(i)
                id_lote = str(lp.getIdLote())
                desc = str(producto.getIdMedicamento()) + """ """ + str(producto.getIdPresentacion())
                cant = str(lp.getCantidad())
                cadena = """<tr>

                <td><strong>{producto}</strong></td>
                <td class="text-right">{lote}</td>
                <td><strong>{descripcion}</strong></td>
                <td class="text-right">{cantidad}</td>
                </tr>""".format(producto=nr_prod, lote=id_lote, descripcion=desc, cantidad=cant)
                body += cadena
        contenido_nuevo = contenido.format(contenido=body)

        archivo = open("reportes/listadoProductosStock.html", "w")
        archivo.write(contenido_nuevo)
        archivo.close()
예제 #2
0
 def validarLote(self, producto):
     if self.lote != None:
         loteProd = LoteProductoModel.buscar(LoteProductoModel.id_lote, self.sesion, self.lote.getCodigo()).all()
         if loteProd.__len__() == 1:
             for lp in loteProd:
                 prod = ProductoModel.buscar(ProductoModel.codigo_barra, self.sesion, lp.getIdProducto()).first()
                 if prod.getIdMedicamento() != producto.getIdMedicamento():
                     return False
     return True
예제 #3
0
 def productosStock(self, lote_producto):
     """
     Devuelve un los datos de los productos y su/s lote/s de aquellos que tengan una cantidad mayor a 0 en stock.
     :param lote_producto: arreglo de todos los lotes/productos almacenados en la base de datos.
     :return: data
     """
     data = []
     for lp in lote_producto:
         if (lp.getCantidad() > 0):
             producto = Producto.buscar(Producto.codigo_barra, self.sesion, lp.getIdProducto()).first()
             descripcion = str(producto.getIdMedicamento()) + " " + str (producto.getIdPresentacion())
             data.append((descripcion, lp.getCantidad()))
     return data
예제 #4
0
 def htmlProductosStock(self, lote_producto):
     """
     Genera el html usado para generar el pdf final del listado de los productos en stock.
     :param lote_producto: arreglo que contiene todos los productos y sus diferentes lotes.
     :return: hmtl
     """
     #TODO esta bien q se de de baja un producto para el q hay stock???
     # hay q listar los dados de baja?? esto depende de la resp a la preg anterior.
     i = 0
     html = """<html>
         <head>
         </head>
         <body>
         <div id="contenedor">
           <header id="encabezado">
             <h1 align="center">Listado Productos en Stock</h1>
           </header>
           <div id="items">
             <table border width="100%">
                 <th bgcolor="#38B0DE">Producto</th>
                 <th bgcolor="#38B0DE">Nro Lote</th>
                 <th bgcolor="#38B0DE">Descripción</th>
                 <th bgcolor="#38B0DE">Cantidad</th>"""
     for lp in lote_producto:
         if (lp.getCantidad() > 0):
             i += 1
             producto = Producto.buscar(Producto.codigo_barra, self.sesion, lp.getIdProducto()).first()
             html += """<tr><td width="10%">""" + str(i)
             html += """</td><td width="10%">""" + str(lp.getIdLote())
             html += """</td><td width="70%">""" + str(producto.getIdMedicamento()) \
                     + """ """ + str(producto.getIdPresentacion())
             html += """</td><td width="10%">""" + str(lp.getCantidad())
             html += """</td></tr>"""
     html += """</table></div></div></body></html>"""
     html += """<img src="diagBarra.png">"""
     return html