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;
 }
Exemple #4
0
 public function findArtefato(\Core_Dto_Search $dto)
 {
     $criteria = array('nuArtefato' => $dto->getNuArtefato(), 'nuDigital' => $dto->getNuDigital());
     return $this->_getRepository('app:Artefato')->findBy($criteria);
 }
Exemple #5
0
 /**
  * @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);
 }