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; }