public function listEtiquetasPorNumero(\Core_Dto_Search $objDTOSearch, $limit = 30) { if ($objDTOSearch->getNuEtiqueta() == "") { return array(); } $nupCondition = "le.in_lote_com_nup_siorg"; if (!$objDTOSearch->getInLoteComNupSiorg()) { $nupCondition = "NOT le.in_lote_com_nup_siorg"; } $strSql = "SELECT DISTINCT formata_numero_digital(eu.nu_etiqueta) as nu_etiqueta, ens.nu_nup_siorg\n FROM sgdoce.etiquetas_uso AS eu\n JOIN sgdoce.etiqueta_nup_siorg AS ens\n ON ens.sq_lote_etiqueta = eu.sq_lote_etiqueta\n AND ens.nu_etiqueta = eu.nu_etiqueta\n JOIN sgdoce.lote_etiqueta AS le ON le.sq_lote_etiqueta = eu.sq_lote_etiqueta\n JOIN sgdoce.tipo_etiqueta AS te ON te.sq_tipo_etiqueta = le.sq_tipo_etiqueta\n WHERE te.sq_tipo_etiqueta = " . \Core_Configuration::getSgdoceTipoEtiquetaFisica() . "\n AND formata_numero_digital(eu.nu_etiqueta) ILIKE '%" . $objDTOSearch->getNuEtiqueta() . "%'\n AND {$nupCondition}\n ORDER BY nu_etiqueta"; if ($limit > 0) { $strSql .= " LIMIT " . $limit; } $rsm = new \Doctrine\ORM\Query\ResultSetMapping(); $rsm->addScalarResult('nu_etiqueta', 'nuEtiqueta'); $rsm->addScalarResult('nu_nup_siorg', 'nuNupSiorg'); $objQuery = $this->_em->createNativeQuery($strSql, $rsm); return $objQuery->getScalarResult(); }