/** * 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; }
/** * 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; }