/** * Crea las líneas de recepción relativas al pedido * * @param integer $idPedido */ private function cargaLineasPedido($idPedido) { $rows = array(); $lineas = new PedidosLineas(); $articulos = new Articulos(); $em = new EntityManager($lineas->getConectionName()); if ($em->getDbLink()) { $query = "select l.IDLinea\n from {$lineas->getDataBaseName()}.{$lineas->getTableName()} l, {$articulos->getDataBaseName()}.{$articulos->getTableName()} a\n where l.IDPedido='{$idPedido}' and\n l.IDEstado='1' and\n l.IDArticulo=a.IDArticulo and\n a.Inventario='1'\n order by IDLinea ASC;"; $em->query($query); $rows = $em->fetchResult(); // Borrar eventuales recepciones del pedido que no estén recepcionadas $recepciones = new Recepciones(); $recepciones->queryDelete("Entidad='PedidosCab' and IDEntidad='{$idPedido}' and Recepcionada='0'"); $em->desConecta(); } // Por cada línea de pedido crea una línea de recepción foreach ($rows as $row) { $this->creaLineaRecepcion('PedidosCab', $idPedido, new PedidosLineas($row['IDLinea'])); } }