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