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>";
     }
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }