/** * Crea las líneas de expediciones relativas al albarán * * @param integer $idAlbaran * @param integer $idRepartidor */ private function cargaLineasAlbaran($idAlbaran, $idRepartidor) { // Cargo las lineas del albarán que no están expedidas y cuyos artículos son inventariables. // Borro las eventuales líneas de expedición que no están expedidas. $rows = array(); $lineas = new AlbaranesLineas(); $tablaLineas = $lineas->getDataBaseName() . "." . $lineas->getTableName(); $articulos = new Articulos(); $tablaArticulos = $articulos->getDataBaseName() . "." . $articulos->getTableName(); $em = new EntityManager($lineas->getConectionName()); if ($em->getDbLink()) { $query = "select l.IDLinea\n from {$tablaLineas} l, {$tablaArticulos} a\n where l.IDAlbaran = '{$idAlbaran}' 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(); $expediciones = new Expediciones(); $expediciones->queryDelete("Entidad='AlbaranesCab' and IDEntidad='{$idAlbaran}' and Expedida='0'"); unset($expediciones); $em->desConecta(); } unset($em); // Crea las líneas de expedición preasignando lotes y ubicaciones foreach ($rows as $row) { $this->preasignaLinea('AlbaranesCab', $idAlbaran, new AlbaranesLineas($row['IDLinea']), $idRepartidor); } }