/**
  * Preasigna stock sin control de trazabilidad ni de ubicación
  *
  * Si hay stock pero no es suficiente, se crea la línea de expedición proponiendo el que hay.
  *
  * Si NO hay stock:
  *
  *   Caso 1) El artículo bloquea stock: no se crea la línea de expedición
  *   Caso 2) El artículo NO bloquea stock: se crea la línea de expedición proponiendo 0 unidades
  * 
  * @param AlbaranesLineas $lineaAlbaran
  * @param <type> $idRepartidor
  */
 private function preasignaStock($entidad, $idEntidad, $linea, $idRepartidor = '')
 {
     echo "asdfasdfasdfasdfasdf";
     $idLineaEntidad = $linea->getPrimaryKeyValue();
     $articulo = $linea->getIDArticulo();
     $idAlmacen = $linea->getIDAlmacen()->getIDAlmacen();
     $unidades = $linea->getUnidades();
     $unidadMedidaOrigen = $linea->getUnidadMedida();
     $unidadesAlmacen = $articulo->convertUnit($unidadMedidaOrigen, 'UMA', $unidades);
     $bloqueoStock = $articulo->getBloqueoStock()->getIDTipo() == '1';
     $exi = new Existencias();
     $existencias = $exi->getStock($articulo->getIDArticulo(), $idAlmacen);
     unset($exi);
     if ($existencias['RE'] >= $unidadesAlmacen) {
         $asignado = $articulo->convertUnit('UMA', $unidadMedidaOrigen, $unidadesAlmacen);
         $stockInsuficiente = false;
     } else {
         $stockInsuficiente = true;
         $asignado = $articulo->convertUnit('UMA', $unidadMedidaOrigen, $existencias['RE']);
     }
     if ($asignado <= 0 and !$bloqueoStock) {
         $asignado = 0;
     }
     $lineaExpedicion = new Expediciones();
     $lineaExpedicion->setEntidad($entidad);
     $lineaExpedicion->setIDEntidad($idEntidad);
     $lineaExpedicion->setIDLineaEntidad($idLineaEntidad);
     $lineaExpedicion->setIDAlmacen($idAlmacen);
     $lineaExpedicion->setIDAlmacenero($_SESSION['usuarioPortal']['Id']);
     $lineaExpedicion->setIDRepartidor($idRepartidor);
     $lineaExpedicion->setIDArticulo($articulo->getIDArticulo());
     if ($existencias['RE'] > 0) {
         $asignado = $existencias['RE'] > $unidadesAlmacen ? $unidadesAlmacen : $existencias['RE'];
     } else {
         $asignado = 0;
     }
     $asignado = $articulo->convertUnit('UMA', $unidadMedidaOrigen, $asignado);
     $lineaExpedicion->setUnidades($asignado);
     $lineaExpedicion->setUnidadMedida($unidadMedidaOrigen);
     $lineaExpedicion->setIDLote(0);
     $lineaExpedicion->setIDUbicacion(0);
     $lineaExpedicion->setFlagTrazabilidad(0);
     $lineaExpedicion->setFlagUbicacion(0);
     $lineaExpedicion->setFlagSinStock($stockInsuficiente);
     $lineaExpedicion->create();
 }