Exemplo n.º 1
0
 public function Articulos()
 {
     $nItems = 0;
     $nErrores = 0;
     $dbLink = mysql_connect("localhost", "root", "albatronic");
     $query = "TRUNCATE {$this->dbDestino}.ErpArticulos";
     mysql_query($query);
     $query = "select * from {$this->dbOrigen}.articulos";
     $result = mysql_query($query, $dbLink);
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $row = $this->utf($row);
         $f = new Familias();
         $f = $f->find("Observations", $row['IDSubfamilia']);
         $idFamilia = $f->getIDFamilia();
         $c = new Articulos();
         $c->setCodigo($row['IDArticulo']);
         $c->setDescripcion($row['Descripcion']);
         $c->setIDCategoria($row['IDFamilia']);
         $c->setIDFamilia($idFamilia ? $idFamilia : 0);
         $c->setIDFabricante($row['IDFabricante']);
         $c->setPvd($row['Pvd']);
         $c->setPvp($row['Pvp']);
         $c->setMargen($row['Margen']);
         $c->setPmc($row['Pmc']);
         $c->setIDIva($row['IDIva']);
         $c->setEtiqueta($row['Etiqueta']);
         $c->setCodigoEAN($row['CodigoEAN']);
         $c->setGarantia($row['Garantia']);
         $c->setPeso($row['Peso']);
         $c->setVolumen($row['Volumen']);
         $c->setCaracteristicas($row['Caracteristicas']);
         $c->setFechaUltimoPrecio($row['FechaUltimoPrecio']);
         $c->setVigente($row['Vigente']);
         $c->setPrimaryKeyMD5(md5($row['IDArticulo']));
         if (!$c->create()) {
             $errores[] = $c->getErrores();
             $nErrores++;
         } else {
             $nItems++;
         }
     }
     //mysql_close($dbLink);
     echo "Artículos {$nItems}<br/>";
     if (count($errores)) {
         echo "<pre>";
         print_r($errores);
         echo "</pre>";
     }
 }
Exemplo n.º 2
0
 /**
  * CARGA LA TABLA DE ARTICULOS EN BASE AL OBJETO XML CONSTRUIDO PREVIAMENTE
  * DEVUELVE UN ENTERO CON EL NUMEROS DE ERRORES PRODUCIDOS EN LA CARGA
  * A TODOS LOS ARTICULOS SE LE PONE UN 20% DE MARGEN COMERCIAL.
  * @return int
  */
 static function CargaArticulos()
 {
     $margen = '20';
     $i = 0;
     $fallos = 0;
     echo "<table>";
     foreach (self::$xml->producto as $item) {
         $referencia = str_replace("/", "_", trim($item->referencia));
         $familia = self::Limpia($item->categoria1);
         if ($familia == '') {
             $familia = 'varios';
         }
         $subfamilia = self::Limpia($item->categoria2);
         if ($subfamilia == '') {
             $subfamilia = 'varios';
         }
         $tmp = $item->nombre;
         $nombre = self::Limpia($tmp);
         $tmp = $item->descripcion;
         $descripcion = self::Limpia($tmp);
         $pvd = str_replace(",", ".", $item->precio);
         $pvp = $pvd * (1 + $margen / 100);
         $peso = str_replace(",", ".", $item->peso);
         //Le quito los espacios en blanco al principio y al final
         //Los espacios en blanco intermedios los sustituyo por %20 para que la url sea correcta.
         $imagen = str_replace(" ", "%20", trim($item->urlimagen));
         $idfabricante = self::CreaFabricante(self::Limpia($item->fabricante));
         //Buscar el id de familia
         $fam = new Familias();
         $rows = $fam->cargaCondicion("IDFamilia", "Familia='{$familia}'");
         $idfamilia = $rows[0]['IDFamilia'];
         //Buscar el id de subfamilia
         $fam = new Familias();
         $rows = $fam->cargaCondicion("IDFamilia", "Familia='{$subfamilia}'");
         $idsubfamilia = $rows[0]['IDFamilia'];
         //CREAR ARTICULO EN LA TABLA TEMPORAL
         $arti = new Articulos();
         $arti->setCodigo($referencia);
         $arti->setDescripcion($nombre);
         $arti->setIDFabricante($idfabricante);
         $arti->setIDCategoria($idfamilia);
         $arti->setIDFamilia($idsubfamilia);
         $arti->setPvd($pvd);
         $arti->setPvp($pvp);
         $arti->setMargen($margen);
         $arti->setPeso($peso);
         $arti->setCaracteristicas($descripcion);
         $arti->setGarantia("S/F");
         $arti->setPublish(1);
         $arti->setFechaUltimoPrecio($item->fechaultimarevision);
         $idarti = $arti->create();
         if (!$idarti) {
             $fallos++;
             echo "<tr><td>", $referencia, "</td><td>", $nombre, "</td><td>", $familia, "</td><td>", $subfamilia, "</td></tr>";
             echo "<tr><td colspan=4>", serialize($arti->getErrores()), "</td></tr>";
         } else {
             if ($idarti) {
                 $slug = self::actualizaUrlAmigable('Producto', 'Articulos', $idarti, $nombre);
             }
             //COPIAR IMAGEN EN LOCALHOST SI NO EXISTE PREVIAMENTE.
             if ($imagen != '') {
                 self::copiaImagen();
                 //if(!file_exists("catalogo/".$referencia.".jpg")) DescargaImagen($referencia,$imagen);
             }
         }
         $i += 1;
         //if ($i>1000) break;
     }
     echo "</table>";
     return $fallos;
 }