/** * Crea las líneas de recepciones relativas al traspaso * * @param integer $idTraspaso */ public function cargaLineasTraspaso($idTraspaso) { // Cargo las lineas dl traspaso que no están recibidas y cuyos artículos son inventariables. // Borro las eventuales líneas de recepción que no están recibidas $traspasosLineas = new TraspasosLineas(); $rows = array(); $em = new EntityManager($traspasosLineas->getConectionName()); if ($em->getDbLink()) { $query = "select l.IDLinea\n from {$em->getDataBase()}.ErpTraspasosLineas l, {$em->getDataBase()}.ErpArticulos a\n where l.IDTraspaso = '{$idTraspaso}' and\n l.IDEstado = '2' 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(); $query = "delete from ErpRecepciones where Entidad='TraspasosCab' and IDEntidad='{$idTraspaso}' and Recepcionada='0'"; $em->query($query); $em->desConecta(); } unset($em); unset($traspasosLineas); // Por cada lína de traspaso crea una línea de recepción foreach ($rows as $row) { $this->creaLineaRecepcion('TraspasosCab', $idTraspaso, new TraspasosLineas($row['IDLinea'])); } }
/** * 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'])); } }