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