/**
  * Importa clientes desde fichero externo csv según
  * el formato de facturaplus
  */
 public function ImportarAction()
 {
     $fileName = "docs/docs{$_SESSION['emp']}/tmp/clientes.csv";
     $archivo = new Archivo($fileName);
     $archivo->setColumnsDelimiter(";");
     $archivo->setColumnsEnclosure('"');
     $idPais = 68;
     // España
     // Crear array de poblaciones
     if ($archivo->open("r")) {
         set_time_limit(0);
         while (($linea = $archivo->readLine()) !== FALSE) {
             $poblaciones[trim($linea[4])] = 0;
         }
         $pobla = new Municipios();
         foreach ($poblaciones as $key => $value) {
             $rows = $pobla->cargaCondicion("IDMunicipio", "Municipio='{$key}'");
             if ($rows[0]['IDMunicipio'] != '') {
                 $poblaciones[$key] = $rows[0]['IDMunicipio'];
             }
         }
         unset($pobla);
         $archivo->close();
     } else {
         $this->values['errores'][] = "El fichero de importación " . $fileName . " no existe";
     }
     if ($archivo->open("r")) {
         set_time_limit(0);
         while (($linea = $archivo->readLine()) !== FALSE) {
             //print_r($linea);
             $fp = new FormasPago();
             $fp = $fp->find('Observations', trim($linea[20]));
             $idFp = $fp->getIDFP();
             if (!$idFp) {
                 $idFp = 1;
             }
             $cliente = new Clientes();
             $cliente->setIDCliente($linea[0]);
             $cliente->setRazonSocial(utf8_encode($linea[1]));
             $cliente->setNombreComercial(utf8_encode($linea[2]));
             $cliente->setDireccion(utf8_encode($linea[3]));
             $cliente->setIDPoblacion($poblaciones[trim($linea[4])]);
             $cliente->setIDProvincia($linea[5]);
             $cliente->setCodigoPostal($linea[6]);
             $cliente->setIDPais($idPais);
             $cliente->setTelefono($linea[7]);
             $cliente->setMovil($linea[8]);
             $cliente->setFax($linea[9]);
             $cliente->setCif(str_replace("-", "", $linea[10]));
             $cliente->setObservaciones($linea[11] . " " . $linea[19]);
             $cliente->setBanco($linea[15]);
             $cliente->setOficina($linea[16]);
             $cliente->setDigito(substr($linea[17], 2, 2));
             $cliente->setCuenta($linea[18]);
             $cliente->setIDFP($idFp);
             $cliente->setEMail($linea[41]);
             $cliente->setLimiteRiesgo($linea[38]);
             $cliente->setIDZona(1);
             $cliente->setIDSucursal($_SESSION['suc']);
             $cliente->setIDTipo(1);
             $cliente->setIDGrupo(1);
             $idCliente = $cliente->create();
             if (!$idCliente) {
                 $nErrores += 1;
                 print_r($cliente->getErrores());
             } else {
                 $nAciertos += 1;
             }
             unset($cliente);
         }
         $archivo->close();
     } else {
         $this->values['errores'][] = "El fichero de importación " . $fileName . " no existe";
     }
     echo "Aciertos: {$nAciertos}, Errores: {$nErrores}";
     unset($archivo);
 }
Пример #2
0
 public function Clientes()
 {
     $nItems = 0;
     $nErrores = 0;
     $dbLink = mysql_connect("localhost", "root", "albatronic");
     $query = "TRUNCATE {$this->dbDestino}.ErpClientes";
     mysql_query($query);
     $query = "TRUNCATE {$this->dbDestino}.ErpClientesDentrega";
     mysql_query($query);
     $query = "select * from {$this->dbOrigen}.clientes";
     $result = mysql_query($query, $dbLink);
     $poblaciones = new Municipios();
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $row = $this->utf($row);
         //if ($row['NombreComercial'] == '')
         //    $row['NombreComercial'] = $row['RazonSocial'];
         $poblacion = $poblaciones->cargaCondicion("IDMunicipio,IDProvincia", "Municipio='{$row['Poblacion']}'");
         $c = new Clientes();
         $c->setIDCliente($row['IDCliente']);
         $c->setRazonSocial(utf8_decode($row['RazonSocial']));
         $c->setNombreComercial(utf8_decode($row['NombreComercial']));
         $c->setCif($row['Cif']);
         $c->setDireccion(utf8_decode($row['Direccion']));
         $c->setIDPais(68);
         if ($poblacion[0]['IDMunicipio']) {
             $c->setIDProvincia($poblacion[0]['IDProvincia']);
             $c->setIDPoblacion($poblacion[0]['IDMunicipio']);
         } else {
             $c->setIDProvincia($row['IDProvincia']);
             $row['Avisos'] = $row['Poblacion'];
         }
         $c->setCodigoPostal($row['CodigoPostal']);
         $c->setTelefono($row['Telefono']);
         $c->setFax($row['Fax']);
         $c->setMovil($row['Movil']);
         $c->setEMail($row['EMail']);
         $c->setWeb($row['Web']);
         $c->setCContable($row['CContable']);
         $c->setBanco($row['IDBanco']);
         $c->setOficina($row['IDOficina']);
         $c->setDigito($row['Digito']);
         $c->setCuenta($row['Cuenta']);
         $c->setIban(Utils::iban($row['IDBanco'] . $row['IDOficina'] . $row['Digito'] . $row['Cuenta']));
         $c->setMandato($row['IDCliente']);
         $c->setFechaMandato('2013-01-01');
         $c->setIDTipo($row['IDTipo']);
         $c->setIDGrupo($row['IDGrupo']);
         $c->setIDFP($row['IDFP']);
         $c->setDiaDePago($row['DiaDePago']);
         $c->setRecargoEqu($row['RecargoEqu']);
         $c->setIDTarifa(1);
         $c->setIDZona(1);
         $c->setObservaciones($row['Observaciones']);
         $c->setAvisos($row['Avisos']);
         $c->setVigente($row['Vigente']);
         $c->setIDComercial($this->agentes[$row['IDAgente']]);
         $c->setLimiteRiesgo($row['LimiteRiesgo']);
         $c->setFechaNacimiento($row['FechaNacimiento']);
         $c->setPrimaryKeyMD5(md5($row['IDCliente']));
         $c->setIDZona(1);
         if (!$c->create()) {
             $errores[] = $c->getErrores();
             $nErrores++;
         } else {
             $nItems++;
         }
     }
     //mysql_close($dbLink);
     echo "Clientes {$nItems}<br/>";
     if (count($errores)) {
         echo "<pre>";
         print_r($errores);
         echo "</pre>";
     }
 }