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))
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)