예제 #1
0
 /**
  * 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);
 }
예제 #3
0
 /**
  * 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;
 }