/** * Devuelve array de objetos pedidos lineas de pedido en curso * * @return \PedidosLineas Array de objetos PedidosLineas */ public function getLineas() { $array = array(); $lineas = new PedidosLineas(); $rows = $lineas->cargaCondicion("Id", "IdPedido='{$this->Id}'", "Id ASC"); unset($lineas); foreach ($rows as $row) { $array[] = new PedidosLineas($row['Id']); } return $array; }
/** * Genera un array con la informacion necesaria para imprimir el documento * Recibe un array con los ids de pedido * * @param integer $idsDocumento Array con los ids de pedido * @return array Array con dos elementos: master es un objeto pedido y detail es un array de objetos lineas de pedido */ protected function getDatosDocumento(array $idsDocumento) { $master = array(); $detail = array(); // Recorro el array de los albaranes a imprimir foreach ($idsDocumento as $key => $idDocumento) { // Instancio la cabecera del pedido $master[$key] = new PedidosCab($idDocumento); // LLeno el array con objetos de lineas de pedido $lineas = array(); $pedidoLineas = new PedidosLineas(); $rows = $pedidoLineas->cargaCondicion('IDLinea', "IDPedido='{$idDocumento}'", "IDLinea ASC"); foreach ($rows as $row) { $lineas[] = new PedidosLineas($row['IDLinea']); } $detail[$key] = $lineas; } return array('master' => $master, 'detail' => $detail); }
/** * Hace una copia del pedido. * Genera otro pedido en base al actual. * IMPORTANTE: SE TOMAN LOS PRECIOS ACTUALES DE LOS ARTICULOS. * * @return integer El id del pedido generado */ public function duplica() { $idOrigen = $this->IDPedido; // Crear la cabecera del pedido $destino = $this; $destino->setIDPedido(''); $destino->setIDAgente($_SESSION['usuarioPortal']['Id']); $destino->setIDEstado(0); $destino->setIDFactura(0); $destino->setFecha(date('d-m-Y')); $destino->setFechaEntrega('00-00-0000'); $destino->setFechaEntrada('00-00-0000'); $destino->setSuPedido(''); $destino->setReferencia(''); $destino->setObservaciones('Duplicado del pedido n. ' . $idOrigen); $destino->setIncidencias(''); $destino->setPrimaryKeyMD5(''); $idDestino = $destino->create(); // Crear las líneas de pedido $linea = new PedidosLineas(); $rows = $linea->cargaCondicion("IDLinea", "IDPedido='{$idOrigen}'", "IDLinea ASC"); unset($linea); foreach ($rows as $row) { $lineaDestino = new PedidosLineas($row['IDLinea']); $lineaDestino->setIDPedido($idDestino); $lineaDestino->setIDAgente($_SESSION['usuarioPortal']['Id']); $lineaDestino->setIDEstado(0); $lineaDestino->setPrimaryKeyMD5(''); $lineaDestino->valida(); // Toma los precios vigentes (tarifa, promociones, etc) $lineaDestino->create(); } unset($lineaDestino); return $idDestino; }