/** * Crea las líneas de expediciones relativas al traspaso * * @param integer $idTraspaso */ private function cargaLineasTraspaso($idTraspaso) { // Cargo las lineas del traspaso 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 TraspasosLineas(); $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.IDTraspaso = '{$idTraspaso}' and\n l.IDEstado = '1' and\n l.Tipo = '0' 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='TraspasosCab' and IDEntidad='{$idTraspaso}' 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('TraspasosCab', $idTraspaso, new TraspasosLineas($row['IDLinea'])); } }