/** * @param \Core_Dto_Search $dto */ public function findByNuDigital($dto) { $sql = 'SELECT id, tipo, numero, origem, destino, interessado, assunto, assunto_complementar, cargo, assinatura, procedencia, digital, dt_cadastro, dt_prazo, ultimo_tramite, prioridade, autor FROM sgdoce.vw_documento_sgdoc_fisico WHERE digital = lpad(\'%1$d\', 7, \'0\');'; $strSql = sprintf($sql, $dto->getNuDigital()); $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em); $rsm->addScalarResult('id', 'id', 'integer'); $rsm->addScalarResult('tipo', 'tipo', 'string'); $rsm->addScalarResult('numero', 'numero', 'string'); $rsm->addScalarResult('origem', 'origem', 'string'); $rsm->addScalarResult('destino', 'destino', 'string'); $rsm->addScalarResult('interessado', 'interessado', 'string'); $rsm->addScalarResult('assunto', 'assunto', 'string'); $rsm->addScalarResult('assunto_complementar', 'assuntoComplementar', 'string'); $rsm->addScalarResult('cargo', 'cargo', 'string'); $rsm->addScalarResult('assinatura', 'assinatura', 'string'); $rsm->addScalarResult('procedencia', 'procedencia', 'string'); $rsm->addScalarResult('digital', 'digital', 'string'); $rsm->addScalarResult('dt_cadastro', 'dtCadastro', 'zenddate'); $rsm->addScalarResult('dt_prazo', 'dtPrazo', 'zenddate'); $rsm->addScalarResult('ultimo_tramite', 'ultimoTramite', 'string'); $rsm->addScalarResult('prioridade', 'prioridade', 'string'); $rsm->addScalarResult('autor', 'autor', 'string'); $nativeQuery = $this->_em->createNativeQuery($strSql, $rsm); return $nativeQuery->getArrayResult(); }
public function findArtefato(\Core_Dto_Search $dto) { $criteria = array('nuArtefato' => $dto->getNuArtefato(), 'nuDigital' => $dto->getNuDigital()); return $this->_getRepository('app:Artefato')->findBy($criteria); }
/** * método salvar vinculo de material de apoio dos artefatos * @param \Core_Dto_Search $dto */ public function salvarMaterial(\Core_Dto_Search $dto) { $criteria = array('nuDigital' => $dto->getNuDigital()); $artefato = $this->_getRepository('app:Artefato')->findOneBy($criteria); $sqArtefatoPai = $this->_getRepository()->find($dto->getSqArtefato()); $sqArtefatoFilho = $this->_getRepository()->find($artefato->getSqArtefato()); $sqTipoVinculo = $this->_getRepository('app:TipoVinculoArtefato')->find(\Core_Configuration::getSgdoceTipoVinculoArtefatoApoio()); $entity = new \Sgdoce\Model\Entity\ArtefatoVinculo(); $entity->setSqArtefatoPai($sqArtefatoPai); $entity->setSqArtefatoFilho($sqArtefatoFilho); $entity->setSqTipoVinculoArtefato($sqTipoVinculo); $entity->setDtVinculo(\Zend_Date::now()); $this->getEntityManager()->persist($entity); $this->getEntityManager()->flush(); return $entity; }
public function recuperaNumeroLoteEtiqueta(\Core_Dto_Search $search) { $qb = $this->_em->createQueryBuilder(); $qb->select('le.sqLoteEtiqueta')->from('app:LoteEtiqueta', 'le')->where($qb->expr()->eq('le.sqUnidadeOrg', ':sqUnidadeOrg'))->andWhere($qb->expr()->eq('le.nuAno', ':nuAno'))->andWhere($qb->expr()->between(':nuDigital', 'le.nuInicial', 'le.nuFinal'))->andWhere($qb->expr()->eq('le.sqTipoEtiqueta', ':sqTipoEtiqueta'))->setParameter('nuDigital', $search->getNuDigital())->setParameter('sqUnidadeOrg', $search->getSqUnidadeOrg())->setParameter('nuAno', $search->getNuAno())->setParameter('sqTipoEtiqueta', \Core_Configuration::getSgdoceTipoEtiquetaFisica()); $lote = $qb->getQuery()->getArrayResult(); $sqLoteEtiqueta = null; if ($lote) { $sqLoteEtiqueta = $lote[0]['sqLoteEtiqueta']; } return $sqLoteEtiqueta; }
public function addArtefatoVinculo(\Core_Dto_Search $dto) { $entity = NULL; $artefato = $this->_getRepository('app:Artefato')->findBy(array('nuDigital' => $dto->getNuDigital())); if ($artefato) { $sqArtefatoPai = $this->_getRepository('app:Artefato')->find($dto->getSqArtefato()); $sqArtefatoFilho = $this->_getRepository()->find($artefato[0]->getSqArtefato()); $sqTipoVinculo = $this->_getRepository('app:TipoVinculoArtefato')->find($dto->getTipoVinculo()); $entity = new \Sgdoce\Model\Entity\ArtefatoVinculo(); $entity->setSqArtefatoPai($sqArtefatoPai); $entity->setSqArtefatoFilho($sqArtefatoFilho); $entity->setSqTipoVinculoArtefato($sqTipoVinculo); $entity->setDtVinculo(\Zend_Date::now()); if ($dto->getInOriginal()) { $entity->setInOriginal($dto->getInOriginal()); } else { $entity->setInOriginal(FALSE); } $this->getEntityManager()->persist($entity); $this->getEntityManager()->flush($entity); } return $entity; }
/** * * @param \Core_Dto_Search $dto * @return \Sgdoce\Model\Entity\EtiquetaNupSiorg */ public function getDigitalNupSiorg(\Core_Dto_Search $dto) { return $this->_getRepository('app:EtiquetaNupSiorg')->findOneBy(array('nuEtiqueta' => $dto->getNuDigital())); }