public function getNuArtefatoNuDigital(\Doctrine\ORM\QueryBuilder &$queryBuilder, \Core_Dto_Search $dto) { if ($dto->getNuArtefato()) { $nuArtefato = str_replace(' ', '', str_replace('.', '', str_replace('/', '', str_replace('-', '', $dto->getNuArtefato())))); $queryBuilder->orWhere('vwca.nuDigital like :nuDigital')->setParameter('nuDigital', '%' . $dto->getNuArtefato() . '%'); $queryBuilder->orWhere('vwca.nuArtefato like :nuArtefato')->setParameter('nuArtefato', '%' . $nuArtefato . '%'); } }
/** * Metódo que verifica se o modelo está cadastrado * @return boolean */ public function checkProcessoCadastrado(\Core_Dto_Search $dtoSearch) { $nuArtefato = preg_replace('/[^a-zA-Z0-9]/', '', $dtoSearch->getNuArtefato()); $configs = \Core_Registry::get('configs'); if (strlen($nuArtefato) > 17 && !$configs['processo']['numberWithNupSiorg']) { throw new \Core_Exception_ServiceLayer(\Core_Registry::getMessage()->translate('MN204')); } $return = $this->_getRepository()->findByNuArtefato($nuArtefato); if (count($return) > 0) { throw new \Core_Exception_ServiceLayer(\Core_Registry::getMessage()->translate('MN020')); } else { $nuArtefato = preg_replace('/[^a-zA-Z0-9\\.\\-\\/]/', '', $dtoSearch->getNuArtefato()); $return = $this->_getRepository()->findByNuArtefato($nuArtefato); if (count($return) > 0) { throw new \Core_Exception_ServiceLayer(\Core_Registry::getMessage()->translate('MN020')); } } return FALSE; }
/** * Metódo que verifica se o modelo está cadastrado * @return boolean */ public function checkProcessoCadastrado(\Core_Dto_Search $dtoSearch) { $nuArtefato = preg_replace('/[^a-zA-Z0-9]/', '', $dtoSearch->getNuArtefato()); $return = $this->_getRepository()->findByNuArtefato($nuArtefato); if (count($return) > 0) { return TRUE; } else { $nuArtefato = preg_replace('/[^a-zA-Z0-9\\.\\-\\/]/', '', $dtoSearch->getNuArtefato()); $return = $this->_getRepository()->findByNuArtefato($nuArtefato); if (count($return) > 0) { return TRUE; } } return FALSE; }
public function findArtefato(\Core_Dto_Search $dto) { $criteria = array('nuArtefato' => $dto->getNuArtefato(), 'nuDigital' => $dto->getNuDigital()); return $this->_getRepository('app:Artefato')->findBy($criteria); }
/** * @return */ public function listGridHistorico(\Core_Dto_Search $dto) { $listCondition = array('getSqTipoAssuntoSolicitacao' => array("=" => array("AND" => 'tas.sq_tipo_assunto_solicitacao'))); $operationTypeArtefato = 'IS NULL'; if (in_array($dto->getSqTipoArtefato(), array(1, 2))) { $operationTypeArtefato = '='; } $listCondition['getSqTipoArtefato'] = array($operationTypeArtefato => array("AND" => 'taa.sq_tipo_artefato')); if ($dto->getNuArtefato() != '' && $dto->getSqTipoArtefato()) { if ($dto->getSqTipoArtefato() == \Core_Configuration::getSgdoceTipoArtefatoProcesso()) { $listCondition['getNuArtefato'] = array("ilike" => array("OR" => array("formata_numero_artefato(at.nu_artefato, ap.co_ambito_processo)", 'at.nu_artefato'))); } else { $listCondition['getNuArtefato'] = array("ilike" => array("AND" => "formata_numero_digital(at.nu_digital)")); } } $where = $this->getEntityManager()->getRepository('app:Artefato')->getCriteriaText($listCondition, $dto); if ($dto->getDtSolicitacao() != "") { $dateInicial = new \Zend_Date($dto->getDtSolicitacao()); $dateFinal = new \Zend_Date($dto->getDtSolicitacao()); $dateInicial->setHour(00)->setMinute(00)->setSecond(00); $dateFinal->setHour(23)->setMinute(59)->setSecond(59); $where .= $where ? ' AND ' : ' '; $where .= "s.dt_solicitacao between '{$dateInicial->get(\Zend_Date::ISO_8601)}' and '{$dateFinal->get(\Zend_Date::ISO_8601)}'"; } $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em); $rsm->addScalarResult('total_record', 'totalRecord', 'integer'); $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer'); $rsm->addScalarResult('sq_solicitacao', 'sqSolicitacao', 'integer'); $rsm->addScalarResult('dt_solicitacao', 'dtSolicitacao', 'string'); $rsm->addScalarResult('no_tipo_status_solicitacao', 'noTipoStatusSolicitacao', 'string'); $rsm->addScalarResult('no_pessoa_abertura', 'noPessoaAbertura', 'string'); $rsm->addScalarResult('no_unidade_abertura', 'noUnidadeAbertura', 'string'); $rsm->addScalarResult('nu_artefato', 'nuArtefato', 'string'); $rsm->addScalarResult('no_tipo_assunto_solicitacao', 'noTipoAssuntoSolicitacao', 'string'); $rsm->addScalarResult('ds_solicitacao', 'dsSolicitacao', 'string'); $rsm->addScalarResult('has_image', 'hasImage', 'boolean'); $sql = "SELECT COUNT(s.sq_solicitacao) OVER() AS total_record,\n s.sq_artefato,\n s.sq_solicitacao,\n s.dt_solicitacao,\n uss.no_tipo_status_solicitacao,\n s.sq_pessoa as sq_pessoa_abertura,\n und_abertura.sg_unidade_org as no_unidade_abertura,\n pes_abertura.no_pessoa || (COALESCE('<br>(' || tel.nu_ddd || ') ' || tel.nu_telefone, '')) as no_pessoa_abertura,\n\n CASE\n WHEN at.nu_digital IS NOT NULL THEN\n sgdoce.formata_numero_digital(at.nu_digital)\n ELSE\n sgdoce.formata_numero_artefato(at.nu_artefato, ap.co_ambito_processo)\n END AS nu_artefato,\n tas.no_tipo_assunto_solicitacao,\n s.ds_solicitacao\n FROM sgdoce.solicitacao s\n JOIN sgdoce.tipo_assunto_solicitacao AS tas USING(sq_tipo_assunto_solicitacao)\n LEFT JOIN (\n sgdoce.artefato AS at\n INNER JOIN sgdoce.tipo_artefato_assunto AS taa ON at.sq_tipo_artefato_assunto = taa.sq_tipo_artefato_assunto\n LEFT JOIN sgdoce.artefato_processo AS ap ON at.sq_artefato = ap.sq_artefato\n ) ON s.sq_artefato = at.sq_artefato\n\n JOIN corporativo.vw_pessoa AS pes_abertura ON s.sq_pessoa = pes_abertura.sq_pessoa\n JOIN corporativo.vw_unidade_org AS und_abertura ON s.sq_unidade_org = und_abertura.sq_pessoa\n JOIN sgdoce.vw_ultimo_status_solicitacao AS uss ON s.sq_solicitacao = uss.sq_solicitacao\n LEFT JOIN corporativo.vw_telefone AS tel ON (tel.sq_pessoa = pes_abertura.sq_pessoa AND tel.sq_tipo_telefone = " . \Core_Configuration::getCorpTipoTelefoneInstitucional() . ")\n %s\n ORDER BY s.dt_solicitacao DESC"; if ($where != "") { $sql = sprintf($sql, "WHERE {$where}"); } else { $sql = sprintf($sql, ""); } return $this->_em->createNativeQuery($sql, $rsm)->useResultCache(false); }