Пример #1
0
 /**
  * método que implementa grid
  * @param array $params
  * @return array $result
  */
 public function listGrid(\Core_Dto_Search $params)
 {
     $repository = $this->getEntityManager()->getRepository($this->_entityName);
     $result = $repository->searchPageDto('listGrid', $params);
     // caso a unidade possua numero de NUP então visualiza o sequencia de processo
     if ($params->getNoPessoa() != '') {
         $entityPessoa = $this->getServiceLocator()->getService('VwUnidadeOrg')->find($params->getNoPessoa());
         if ($entityPessoa && $entityPessoa->getNuNup() != NUll) {
             $seqProcesso = $repository->findOneBy(array('sqTipoArtefato' => \Core_Configuration::getSgdoceTipoArtefatoProcesso(), 'nuAno' => $params->getNuAno(), 'sqUnidadeOrg' => $entityPessoa->getSqUnidadeOrg()));
             if (!$seqProcesso) {
                 $sqTipoArtefato = $this->_getRepository('app:TipoArtefato')->find(\Core_Configuration::getSgdoceTipoArtefatoProcesso());
                 $seqProcesso = new \Sgdoce\Model\Entity\SequencialArtefato();
                 $seqProcesso->setSqTipoArtefato($sqTipoArtefato);
                 $seqProcesso->setNuAno($params->getNuAno());
                 $seqProcesso->setSqUnidadeOrg($entityPessoa);
                 $seqProcesso->setNuSequencial(0);
                 $this->getEntityManager()->persist($seqProcesso);
                 $this->getEntityManager()->flush();
             }
             if ($seqProcesso != NULL) {
                 $result['data']->append($seqProcesso->toArray());
             }
         }
     }
     return $result;
 }