private function importPedidosCab()
 {
     $obj = new PedidosCab();
     $obj->truncate();
     $file = getcwd() . "/docs/docs1/import/PEDIDOS.txt";
     $archivo = new Archivo($file);
     $archivo->setColumnsDelimiter(";");
     $archivo->setColumnsEnclosure("\"");
     $errores = 0;
     if ($archivo->open()) {
         // Leer la cabecera
         $titulos = $archivo->readLine();
         // Leer el contenido
         $i = -1;
         while ($row = $archivo->readLine()) {
             $i++;
             $item = array();
             foreach ($titulos as $key => $titulo) {
                 $item[$titulo] = $row[$key];
             }
             $fecha = explode("/", substr($item['FECHA_PEDIDO'], 0, -8));
             $fecha = $fecha[0] . "-" . str_pad($fecha[1], 2, "0", STR_PAD_LEFT) . "-" . str_pad($fecha[2], 2, "0", STR_PAD_LEFT);
             $fechaEntrega = explode("/", substr($item['FECHA_ENTREGA'], 0, -8));
             $fechaEntrega = $fechaEntrega[0] . "-" . str_pad($fechaEntrega[1], 2, "0", STR_PAD_LEFT) . "-" . str_pad($fechaEntrega[2], 2, "0", STR_PAD_LEFT);
             $obj = new PedidosCab();
             $obj->setId($item['IDPEDIDO']);
             $obj->setFecha($fecha);
             $obj->setFechaEntrega($fechaEntrega);
             $obj->setIdFirma($item['IDFIRMA']);
             $obj->setIdCliente($item['IDCLIENTE']);
             $obj->setIdDirec($item['IDDIREC_ENTREGA']);
             $obj->setIdAgente($item['IDSUBAGENTE']);
             $obj->setIdAlmacen($item['IDALMACEN']);
             $obj->setSuPedido(utf8_encode($item['SN/PEDIDO']));
             $obj->setReferencia(utf8_encode($item['REFERENCIA']));
             $obj->setObservations(utf8_encode($item['OBSERVACIONES']));
             $obj->setComisionAgente(self::trataNumero($item['COMISION_AGENTE']));
             $obj->setComisionSubagente(self::trataNumero($item['COMISION_SUBAGENTE']));
             $obj->setDescuentos(self::trataMoneda($item['DESCUENTOS']));
             $obj->setDescuentoProntoPago(self::trataMoneda($item['DESCUENTO_PP']));
             $obj->setPortes($item['PORTES']);
             $obj->setImprimir($item['IMPRIMIR']);
             $obj->setServido($item['SERVIDO']);
             $obj->setFormaPago(utf8_encode($item['FORMA_PAGO']));
             $obj->setAgencia(utf8_encode($item['AGENCIA_TTE']));
             $base1 = self::trataMoneda($item['BASE1']);
             $cuotaIva1 = $base1 * $item['IVA1'] / 100;
             $cuotaRec1 = $base1 * $item['REC1'] / 100;
             $obj->setBaseImponible1($base1);
             $obj->setIva1($item['IVA1']);
             $obj->setCuotaIva1($cuotaIva1);
             $obj->setRecargo1($item['REC1']);
             $obj->setCuotaRecargo1($cuotaRec1);
             $base2 = self::trataMoneda($item['BASE2']);
             $cuotaIva2 = $base2 * $item['IVA2'] / 100;
             $cuotaRec2 = $base2 * $item['REC2'] / 100;
             $obj->setBaseImponible2($base2);
             $obj->setIva2($item['IVA2']);
             $obj->setCuotaIva2($cuotaIva2);
             $obj->setRecargo2($item['REC2']);
             $obj->setCuotaRecargo2($cuotaRec2);
             $base3 = self::trataMoneda($item['BASE3']);
             $cuotaIva3 = $base3 * $item['IVA3'] / 100;
             $cuotaRec3 = $base3 * $item['REC3'] / 100;
             $obj->setBaseImponible3($base3);
             $obj->setIva3($item['IVA3']);
             $obj->setCuotaIva3($cuotaIva3);
             $obj->setRecargo3($item['REC3']);
             $obj->setCuotaRecargo3($cuotaRec3);
             $totBases = $base1 + $base2 + $base3;
             $totIva = $cuotaIva1 + $cuotaIva2 + $cuotaIva3;
             $totRecargo = $cuotaRec1 + $cuotaRec2 + $cuotaRec3;
             $obj->setTotalBases($totBases);
             $obj->setTotalIva($totIva);
             $obj->setTotalRecargo($totRecargo);
             $obj->setTotalPedido($totBases + $totIva + $totRecargo);
             $id = $obj->create();
             if (!$id) {
                 print_r($obj->getErrores());
                 $errores++;
             }
         }
         $archivo->close();
     }
     if ($errores) {
         echo "Errores PedidosCab {$errores}</br>";
     }
 }
 public function PedidosCab()
 {
     $nItems = 0;
     $nErrores = 0;
     $dbLink = mysql_connect("localhost", "root", "albatronic");
     $query = "TRUNCATE {$this->dbDestino}.ErpPedidosCab";
     mysql_query($query);
     $query = "select distinct IDPedido,IDFactura from {$this->dbOrigen}.frecibidas_lineas";
     $result = mysql_query($query, $dbLink);
     while ($row1 = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $correspondencia[$row1['IDPedido']] = $row1['IDFactura'];
     }
     $query = "select * from {$this->dbOrigen}.pedidos_cab";
     $result = mysql_query($query, $dbLink);
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $c = new PedidosCab();
         $c->setIDPedido($row['IDPedido']);
         $c->setIDSucursal(1);
         $c->setIDAlmacen(1);
         $c->setIDAgente(2);
         $c->setSuPedido($row['SuPedido']);
         $c->setFecha($row['Fecha']);
         $c->setFechaEntrega($row['FechaEntrega']);
         $c->setFechaEntrada($row['FechaEntrada']);
         $c->setIDProveedor($row['IDProveedor']);
         $c->setImporte($row['Importe']);
         $c->setDescuento($row['Descuento']);
         $c->setBaseImponible1($row['BaseImponible1']);
         $c->setIva1($row['Iva1']);
         $c->setCuotaIva1($row['CuotaIva1']);
         $c->setRecargo1($row['Recargo1']);
         $c->setCuotaRecargo1($row['CuotaRecargo1']);
         $c->setBaseImponible2($row['BaseImponible2']);
         $c->setIva2($row['Iva2']);
         $c->setCuotaIva2($row['CuotaIva2']);
         $c->setRecargo2($row['Recargo2']);
         $c->setCuotaRecargo2($row['CuotaRecargo2']);
         $c->setBaseImponible3($row['BaseImponible3']);
         $c->setIva3($row['Iva3']);
         $c->setCuotaIva3($row['CuotaIva3']);
         $c->setRecargo3($row['Recargo3']);
         $c->setCuotaRecargo3($row['CuotaRecargo3']);
         $c->setTotalBases($row['TotalBases']);
         $c->setTotalIva($row['TotalIva']);
         $c->setTotalRecargo($row['TotalRecargo']);
         $c->setTotal($row['Total']);
         $c->setObservaciones($row['Observaciones']);
         $c->setIDFP($row['IDFP']);
         $c->setIDAgencia(1);
         if ($row['Recepcionado'] == 'S') {
             $c->setIDEstado(2);
             $c->setIDFactura(isset($correspondencia[$row['IDPedido']]) ? $correspondencia[$row['IDPedido']] : 0);
         } else {
             $c->setIDEstado(0);
             $c->setIDFactura(0);
         }
         $c->setPrimaryKeyMD5(md5($row['IDPedido']));
         if (!$c->create()) {
             $errores[] = $c->getErrores();
             $nErrores++;
         } else {
             $nItems++;
         }
     }
     //mysql_close($dbLink);
     echo "Pedidos creados {$nItems}<br/>";
     if (count($errores)) {
         echo "<pre>";
         print_r($errores);
         echo "</pre>";
     }
 }
 /**
  * Crea pedido web en base a lo que hay
  * en el carrito de la sesion en curso.
  * 
  * Si ya hubiera un pedido asociado a esa sesion,
  * lo borra y lo crea de nuevo
  * 
  * @param integer $idCliente EL id del cliente
  * @param boolean $avisoRecepcionParcial
  * @return integer $idPedido
  */
 static function creaPedido($idCliente, $avisoRecepcionParcial = 0)
 {
     if ($avisoRecepcionParcial == '') {
         $avisoRecepcionParcial = 0;
     }
     $carrito = new Carrito();
     $filtro = "Sesion='{$_SESSION['IdSesion']}'";
     $rows = $carrito->cargaCondicion("*", $filtro, "Id ASC");
     unset($carrito);
     $totales = self::getTotales();
     $pedido = new PedidosCab();
     $pedido->setIdSucursal($_SESSION['usuarioPortal']['SucursalActiva']['Id']);
     $pedido->setIdUsuario($_SESSION['usuarioPortal']['Id']);
     $pedido->setIdCliente($idCliente);
     $pedido->setFecha(date('Y-m-d H:i:s'));
     $pedido->setNItems($totales['Unidades']);
     $pedido->setImporte($totales['total']);
     $pedido->setAvisoRecepcionParcial($avisoRecepcionParcial);
     $idPedido = $pedido->create();
     if ($idPedido > 0) {
         // Crear las líneas
         foreach ($rows as $row) {
             $linea = new PedidosLineas();
             $linea->setIdPedido($idPedido);
             $linea->setIdSucursal($row['IdSucursal']);
             $linea->setIdDistribuidora($row['IdDistribuidora']);
             $linea->setIdUsuario($row['IdUsuario']);
             $linea->setIdCliente($idCliente);
             $linea->setSku($row['Sku']);
             $linea->setEan($row['Ean']);
             $linea->setDescripcion($row['Descripcion']);
             $linea->setAutor($row['Autor']);
             $linea->setEditorial($row['Editorial']);
             $linea->setUrlImagen($row['UrlImagen']);
             $linea->setUnidades($row['Unidades']);
             $linea->setPrecio($row['Precio']);
             $linea->setDescuento($row['Descuento']);
             $linea->setPvd($row['Pvd']);
             $linea->setImporte($row['Importe']);
             $linea->setIva($row['Iva']);
             $linea->setRecargo($row['Recargo']);
             $linea->setIdEstado(0);
             $linea->setIvaIncluido($row['IvaIncluido']);
             $linea->create();
             //print_r($linea->getErrores());
         }
     }
     return $idPedido;
 }