/** * Crea las líneas de recepciones relativas a cada línea de elaboración * * @param integer $idManufac */ private function cargaLineasManufac($idManufac) { // Cargo las lineas de la elaboración de tipo 1 que no están recepcionadas y cuyos artículos son inventariables. // Borro las eventuales líneas de recepción que no están recepcionadas. $rows = array(); $manufacLineas = new ManufacLineas(); $em = new EntityManager($manufacLineas->getConectionName()); if ($em->getDbLink()) { $query = "select l.IDLinea\n from {$em->getDataBase()}.ErpManufacLineas l, {$em->getDataBase()}.ErpArticulos a\n where l.IDManufac = '{$idManufac}' and\n l.IDEstado = '0' and\n l.Tipo = '1' 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='ManufacCab' and IDEntidad='{$idManufac}' and Recepcionada='0'"; $em->query($query); $em->desConecta(); } unset($em); unset($manufacLineas); // Por cada línea de elaboración crea una línea de recepción foreach ($rows as $row) { $this->creaLineaRecepcion('ManufacCab', $idManufac, new ManufacLineas($row['IDLinea'])); } }
/** * Crea las líneas de expediciones relativas a la elaboración * * @param integer $idManufac */ private function cargaLineasManufac($idManufac) { // Cargo las lineas de la elaboració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 ManufacLineas(); $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.IDManufac = '{$idManufac}' 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='ManufacCab' and IDEntidad='{$idManufac}' 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('ManufacCab', $idManufac, new ManufacLineas($row['IDLinea'])); } }