/**
  * Importa familias desde fichero externo csv según
  * el formato de facturaplus
  */
 public function ImportarAction()
 {
     $fileName = "docs/docs{$_SESSION['emp']}/tmp/familias.csv";
     $archivo = new Archivo($fileName);
     $archivo->setColumnsDelimiter(";");
     //$archivo->setColumnsEnclosure('"');
     if ($archivo->open("r")) {
         set_time_limit(0);
         // Me salto la primera línea de cabecera
         $linea = $archivo->readLine();
         while (($linea = $archivo->readLine()) !== FALSE) {
             print_r($linea);
             $fp = new Familias();
             $fp->setFamilia(utf8_encode($linea[1]));
             $fp->setObservations($linea[0]);
             $fp->setInventario(1);
             $id = $fp->create();
             if (!$id) {
                 $nErrores += 1;
                 print_r($fp->getErrores());
             } else {
                 $nAciertos += 1;
             }
             unset($fp);
         }
         $archivo->close();
     } else {
         $this->values['errores'][] = "El fichero de importación " . $fileName . " no existe";
     }
     echo "Aciertos: {$nAciertos}, Errores: {$nErrores}";
     unset($archivo);
 }
 public function Subfamilias()
 {
     $nItems = 0;
     $nErrores = 0;
     $dbLink = mysql_connect("localhost", "root", "albatronic");
     //$query = "TRUNCATE {$this->dbDestino}.ErpFamilias";
     //mysql_query($query);
     $query = "select * from {$this->dbOrigen}.subfamilias";
     $result = mysql_query($query, $dbLink);
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $row = $this->utf($row);
         $f = new Familias($row['IDFamilia']);
         $c = new Familias();
         $c->setFamilia($row['Subfamilia']);
         $c->setInventario($f->getInventario()->getIDTipo());
         $c->setTrazabilidad($f->getTrazabilidad()->getIDTipo());
         $c->setMargenWeb($f->getMargenWeb());
         $c->setMargenMinimo($f->getMargenMinimo());
         $c->setMostrarEnTpv($f->getMostrarEnTpv()->getIDTipo());
         $c->setPublish($row['PublicarWeb'] == 'S' ? 1 : 0);
         $c->setBelongsTo($f->getIDFamilia());
         $c->setObservations($row['IDSubfamilia']);
         $id = $c->create();
         if ($id == NULL) {
             $errores[] = $c->getErrores();
             $nErrores++;
         } else {
             $c->setIDFamilia($id);
             $c->setPrimaryKeyMD5(md5($id));
             $c->save();
             $nItems++;
         }
     }
     //mysql_close($dbLink);
     echo "Subfamilias  {$nItems}<br/>";
     if (count($errores)) {
         echo "<pre>";
         print_r($errores);
         echo "</pre>";
     }
 }
 /**
  * CREAR LAS FAMILIAS Y LAS SUBFAMILIAS EN LA BD
  * TODAS LAS FAMILIAS Y SUBFAMILIAS SE CREAN PUBLICABLES EN LA WEB
  * EL MARGEN COMERCIAL PARA LA WEB SE ESTABLE AL 10% PARA TODAS LAS FAMILIAS.
  * @param array $familias
  */
 static function CrearFamilias($familias)
 {
     $margenweb = 10;
     foreach ($familias as $familia => $value) {
         $fam = new Familias();
         $fam->setFamilia($familia);
         $fam->setMargenWeb($margenweb);
         $fam->setPublish(1);
         $fam->setNivelJerarquico(1);
         $idfam = $fam->create();
         if ($idfam) {
             self::actualizaUrlAmigable('Familias', 'Familias', $idfam, $familia);
             foreach ($value as $subfamilia => $value) {
                 $sub = new Familias();
                 $sub->setFamilia($subfamilia);
                 $sub->setMargenWeb($margenweb);
                 $sub->setBelongsTo($idfam);
                 $sub->setPublish(1);
                 $sub->setNivelJerarquico(2);
                 $idsub = $sub->create();
                 if ($idsub) {
                     self::actualizaUrlAmigable('Familias', 'Familias', $idsub, $subfamilia);
                 }
             }
             unset($sub);
         }
         unset($fam);
     }
 }