Esempio n. 1
0
def prueba_objeto(objeto, consumir=False):
    """
    Inserta el objeto recibido, sea del tipo de producto que sea.
    """
    # pylint: disable=too-many-branches
    if isinstance(objeto, (pclases.Rollo,
                           pclases.RolloDefectuoso,
                           pclases.RolloC)):
        if not consumir:
            logging.info("Insertando rollo %s (%s)...", objeto.codigo,
                         objeto.puid)
            murano.create_rollo(objeto)
        else:
            prueba_rollo(objeto.codigo)
    elif isinstance(objeto, (pclases.Bala,
                             pclases.BalaCable)):
        if not consumir:
            logging.info("Insertando bala %s (%s)...", objeto.codigo,
                         objeto.puid)
            murano.create_bala(objeto)
        else:
            prueba_bala(objeto.codigo)
    elif isinstance(objeto, pclases.Bigbag):
        if not consumir:
            logging.info("Insertando bigbag %s (%s)...", objeto.codigo,
                         objeto.puid)
            murano.create_bigbag(objeto)
        else:
            prueba_bigbag(objeto.codigo)
    elif isinstance(objeto, pclases.Caja):
        if not consumir:
            logging.info("Insertando caja %s (%s)...", objeto.codigo,
                         objeto.puid)
            murano.create_caja(objeto)
        else:
            raise NotImplementedError("No se permite la creación de cajas "
                                      "sueltas con consumo. Se debe insertar"
                                      " el palé completo.")
            # prueba_caja(objeto.codigo)
    elif isinstance(objeto, pclases.Pale):
        if not consumir:
            logging.info("Insertando palé %s (%s)...", objeto.codigo,
                         objeto.puid)
            murano.create_pale(objeto)
        else:
            prueba_pale(objeto.codigo)
    else:
        raise NotImplementedError("%s no soportado" % (objeto.puid))
Esempio n. 2
0
def prueba_pale(codigo=None):
    """
    Inserta el último palé o el del código recibido.
    """
    if not codigo:
        p = pclases.Pale.select(orderBy="-id")[0]
    else:
        p = pclases.Pale.selectBy(codigo=codigo)[0]
    logging.info("Insertando pale %s (%s) [%s]...", p.codigo,
                 p.productoVenta.descripcion, p.puid)
    murano.create_pale(p)
    if p.parteDeProduccion:
        logging.warning(
            "WARNING: Considerando consumos del parte de producción completo.")
        for c in p.parteDeProduccion.consumos:
            logging.info("Consumiendo %f de %s...", c.cantidad,
                         c.productoCompra.descripcion)
            murano.consumir(c.productoCompra, c.cantidad)
        # Consumo los bigbags de fibra empleados en rellenar las bolsas
        for bb in p.parteDeProduccion.bigbags:
            logging.info("Consumiendo %s (%s)...", bb.codigo, bb.puid)
            murano.delete_articulo(bb.articulo)