コード例 #1
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;
 }