Exemplo 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))
Exemplo n.º 2
0
def prueba_bigbag(codigo=None):
    """
    Inserta el último bigbag del sistema o el del código recibido.
    """
    if not codigo:
        bb = pclases.Bigbag.select(orderBy="-id")[0]
    else:
        bb = pclases.Bigbag.selectBy(codigo=codigo)[0]
    logging.info("Insertando bigbag %s (%s) [%s]...", bb.codigo,
                 bb.articulo.productoVenta.descripcion, bb.puid)
    murano.create_bigbag(bb)
    if bb.articulo.parteDeProduccion:
        logging.warning(
            "WARNING: Considerando consumos del parte de producción completo.")
        for c in bb.articulo.parteDeProduccion.consumos:
            if c.silo:
                logging.info("Consumiendo %f de %s (%s)...", c.cantidad,
                             c.productoCompra.descripcion, c.silo.nombre)
            else:
                logging.info("Consumiendo %f de %s...", c.cantidad,
                             c.productoCompra.descripcion)
            murano.consumir(c.productoCompra, c.cantidad, consumo=c)