Exemplo n.º 1
0
 /**
  * Devuelve un array con todas las ubicaciones del almacén
  * El array es del tipo array('Id' => , 'Value' => )
  *
  * @param string Filtro para la ubicacion (defecto %)
  * @return array Las ubicaciones del almacen
  */
 public function getUbicaciones($filtroUbicacion = "%")
 {
     $mapa = new AlmacenesMapas();
     $ubicaciones = $mapa->fetchAll($this->IDAlmacen, $filtroUbicacion);
     unset($mapa);
     return $ubicaciones;
 }
Exemplo n.º 2
0
 /**
  * Devuelve un array con las ubicaciones del $idAlmacen
  * donde hay existencias del artículo y le añade al final
  * el resto de ubicaciones.
  *
  * Si el parámetro $todas se pone al false, solo devuelve las ubicaciones
  * donde haya existencias.
  *
  * Se utiliza principalmente en los procesos de recepción de mercancía
  * (recepción de pedidos y de elaboraciones)
  *
  * @param integer $idAlmacen El id de almacén
  * @param string $filtroUbicacion Filtro de la ubicación (defecto %)
  * @param boolean $todas
  * @return array Las ubicaciones array('Id' => IDUbicacion, 'Value' => Ubicacion, 'Reales' => Existencias Reales)
  */
 public function getUbicaciones($idAlmacen, $filtroUbicacion = "%", $todas = TRUE)
 {
     $ubicaciones = array();
     $mapa = new AlmacenesMapas();
     $existencias = new Existencias();
     $em = new EntityManager($this->getConectionName());
     if ($em->getDbLink()) {
         //Ubicaciones donde haya existencias.
         //$query = "Call UbicacionesArticulo({$idAlmacen},{$this->IDArticulo});";
         $query = "SELECT DISTINCT e.IDUbicacion AS Id, m.Ubicacion AS Value, e.Reales as Reales\n                        FROM\n                            {$existencias->getDataBaseName()}.{$existencias->getTableName()} e,\n                            {$mapa->getDataBaseName()}.{$mapa->getTableName()} m\n                        WHERE\n                            e.IDUbicacion = m.IDUbicacion AND\n                            e.IDAlmacen= '{$idAlmacen}' AND\n                            e.IDArticulo= '{$this->IDArticulo}' AND\n                            e.Reales > 0 AND\n                            m.Ubicacion LIKE '{$filtroUbicacion}'";
         $em->query($query);
         $habituales = $em->fetchResult();
         $em->desConecta();
         unset($em);
     }
     if ($todas) {
         $habituales[] = array('Id' => '0', 'Value' => ':: Resto de Ubicaciones ::');
         $ubicaciones = array_merge($habituales, $mapa->fetchAll($idAlmacen, $filtroUbicacion));
     } else {
         $ubicaciones = $habituales;
     }
     unset($mapa);
     unset($existencias);
     return $ubicaciones;
 }