/**
  *
  * @param \Core_Dto_Mapping $dtoPass
  * @param \Core_Dto_Entity $dtoUser
  * @throws \Core_Exception_ServiceLayer_Verification
  */
 public function changePass($dtoPass, $dtoUser, $checkPass = TRUE, $recover = FALSE)
 {
     $this->validatePass($dtoPass);
     $repository = $this->_getRepository();
     $user = $repository->find($dtoUser->getSqUsuarioExterno());
     $this->_changePassDb($dtoPass, $user, $checkPass);
 }
 /**
  * SALVA HISTORICO.
  *
  * @param Sgdoce\Model\Entity\HistoricoArtefato $entHistoricoArtefato
  *
  * @return Sgdoce\Model\Entity\HistoricoArtefato
  */
 public function save(\Core_Dto_Entity $entHistoricoArtefato)
 {
     $arrDto = array('sqPessoa' => \Core_Integration_Sica_User::getPersonId(), 'sqUnidade' => \Core_Integration_Sica_User::getUserUnit());
     $objCDto = \Core_Dto::factoryFromData($arrDto, 'search');
     $entVwPessoa = $this->getServiceLocator()->getService('Pessoa')->findbyPessoaCorporativo($objCDto);
     $entVwUnidOrg = $this->getServiceLocator()->getService('VwUnidadeOrg')->getDadosUnidade($objCDto);
     return $this->_save($entHistoricoArtefato->getSqArtefato(), $entVwUnidOrg, $entVwPessoa, $entHistoricoArtefato->getSqOcorrencia(), $entHistoricoArtefato->getTxDescricaoOperacao());
 }
 /**
  * Obtém dados anterior da minuta
  * @param \Core_Dto_Entity $dto
  * @return array
  */
 public function getDataHistoricoEnvioAnterior(\Core_Dto_Entity $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('p.sqPessoa, p.noPessoa, ha.sqHistoricoArtefato, a.sqArtefato, uo.sqUnidadeOrg')->from($this->_enName, 'ha')->innerJoin('ha.sqPessoa', 'p')->innerJoin('ha.sqArtefato', 'a')->innerJoin('ha.sqUnidadeOrg', 'uo')->andWhere('ha.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato()->getSqArtefato())->andWhere('p.sqPessoa <> :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa()->getSqPessoa())->orderBy('ha.sqHistoricoArtefato', 'DESC')->setMaxResults(self::UNIC)->getQuery()->execute();
     $result = NULL;
     if (!empty($queryBuilder)) {
         $result = $queryBuilder[self::ZER];
     }
     return $result;
 }
Exemple #4
0
 public function save(\Core_Dto_Entity $entity)
 {
     $sqEndereco = null;
     $arrEntity = null;
     $method = $entity->getSqEndereco() ? 'libCorpUpdateEndereco' : 'libCorpSaveEndereco';
     $isUpdate = $entity->getSqEndereco() ? true : false;
     $arrEntity = $this->getArrEndereco($entity);
     $sqEndereco = $this->saveWs('app:VwEndereco', $method, $arrEntity);
     return array('sqEndereco' => $sqEndereco);
 }
Exemple #5
0
 public function changePassWithMail(\Core_Dto_Mapping $dtoPass, \Core_Dto_Entity $dtoUser = NULL)
 {
     $this->validatePass($dtoPass);
     $repository = $this->_getRepository();
     $user = $repository->find($dtoUser->getSqUsuario());
     $user->setTxSenha(md5($dtoPass->getTxSenhaNova()));
     $config = \Zend_Registry::get('configs');
     if ($config['authenticate']['ldap']) {
         $this->_changePassLdap($dtoPass, $user);
         $this->_changePassDb($dtoPass, $user, false);
     } else {
         $this->_changePassDb($dtoPass, $user);
     }
 }
 /**
  * @param Core_Dto_Entity
  * @throws Exception
  * */
 public function arquivar(\Core_Dto_Entity $dto)
 {
     # persiste o arquivamento
     $this->getEntityManager()->persist($dto->getEntity());
     # persiste o historico para o arquivamento
     $dtOperacao = \Zend_Date::now();
     $sqTipoHistorico = \Core_Configuration::getSgdoceTipoHistoricoArquivoArquivado();
     $this->_doInsertHistorico($dto->getEntity(), $dtOperacao, $sqTipoHistorico);
     # persiste o historico no artefato
     $serviceHA = $this->getServiceLocator()->getService('HistoricoArtefato');
     $sqOcorrencia = \Core_Configuration::getSgdoceSqOcorrenciaArquivar();
     $pessoaOperacao = $this->_getUserOperation()->getNoPessoa();
     $strMessage = $serviceHA->getMessage('MH016', $dtOperacao->toString('dd/MM/YYYY HH:mm:ss'), $pessoaOperacao);
     $serviceHA->registrar($dto->getEntity()->getSqArtefato()->getSqArtefato(), $sqOcorrencia, $strMessage);
     $this->finish();
 }
 /**
  * Método que salva o historico do artefato
  * @param \Core_Dto_Entity $dto
  * @return boolean
  */
 public function saveHistorico(\Core_Dto_Entity $dto)
 {
     $entity = $dto->getEntity();
     $objStatus = $this->getEntityManager()->find('\\Sgdoce\\Model\\Entity\\StatusArtefato', $entity->getSqStatusArtefato()->getSqStatusArtefato());
     $entity->setSqStatusArtefato($objStatus);
     $objUnidade = $this->getEntityManager()->find('\\Sgdoce\\Model\\Entity\\VwUnidadeOrg', $entity->getSqUnidadeOrg()->getSqUnidadeOrg());
     $entity->setSqUnidadeOrg($objUnidade);
     $objArtefato = $this->getEntityManager()->find('\\Sgdoce\\Model\\Entity\\Artefato', $entity->getSqArtefato()->getSqArtefato());
     $entity->setSqArtefato($objArtefato);
     $objPessoa = $this->getEntityManager()->find('\\Sgdoce\\Model\\Entity\\VwPessoa', $entity->getSqPessoa()->getSqPessoa());
     $entity->setSqPessoa($objPessoa);
     $objOcorrencia = $this->getEntityManager()->find('\\Sgdoce\\Model\\Entity\\Ocorrencia', $entity->getSqOcorrencia()->getSqOcorrencia());
     $entity->setSqOcorrencia($objOcorrencia);
     $this->getEntityManager()->persist($entity);
     $this->getEntityManager()->flush($entity);
     return TRUE;
 }
 /**
  * Consulta artefato padrão
  * @param \Core_Dto_Entity $dto
  * @return query DQL
  */
 public function listGridConsultaArtefatoPadrao($dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('vwca')->from('app:VwConsultaArtefato', 'vwca')->orderBy('vwca.sqArtefato');
     //Filtro pelo tipo digital ou do processo
     if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_PROCESSO) {
         $queryBuilder->andWhere('vwca.sqTipoArtefato = :tipoPesquisa')->setParameter('tipoPesquisa', $dto->getTipoPesquisa())->andWhere('vwca.sqTipoArtefato = 2');
     } else {
         if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_DIGITAL) {
             $queryBuilder->andWhere('vwca.sqTipoArtefato = :tipoPesquisa')->setParameter('tipoPesquisa', $dto->getTipoPesquisa())->andWhere('vwca.sqTipoArtefato = 1')->orWhere('vwca.sqTipoArtefato = 3');
         }
     }
     //Filtro por número da digital ou do processo
     if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_DIGITAL) {
         $this->getNuDigital($queryBuilder, $dto);
     } else {
         if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_PROCESSO) {
             $this->getNuArtefato($queryBuilder, $dto);
         } else {
             $this->getNuArtefatoNuDigital($queryBuilder, $dto);
         }
     }
     //Filtro por Interessado
     if ($dto->getSqPessoaSgdoce()) {
         $queryBuilder->andWhere('vwca.sqPessoaInteressada like :sqPessoaSgdoce')->setParameter('sqPessoaSgdoce', '%' . $dto->getSqPessoaSgdoce() . '%');
     }
     //Filtro por Cpf, Cnpj e Passaport
     $filter = new \Zend_Filter_Digits();
     $nuCpfCnpjPassaporte = '';
     if ($dto->getNuCpfCnpjPassaporte()) {
         $nuCpfCnpjPassaporte = $filter->filter($dto->getNuCpfCnpjPassaporte());
         $queryBuilder->andWhere('vwca.nuCpfCnpjPassaporteOrigem = :nuCpfCnpjPassaporte')->setParameter('nuCpfCnpjPassaporte', $nuCpfCnpjPassaporte);
     }
     return $queryBuilder;
 }
 public function menuFuncionality(\Core_Dto_Entity $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $subQueryBuilder = $this->_em->createQueryBuilder();
     $subQueryBuilder->select('m.noMenu')->from('app:MenuHierarqManter', 'm')->where($queryBuilder->expr()->eq('m.sqMenu', 'mhm.sqMenuPai'))->getDQL();
     $queryBuilder->select('mhm.sqMenu', 'mhm.noMenu', 'f.noFuncionalidade', 'f.sqFuncionalidade', 'mhm.nuOrdemApresent', 'mhm.nuNivel', 'mhm.stRegistroAtivo')->addSelect('(' . $subQueryBuilder . ') noMenuPai')->from('app:Funcionalidade', 'f')->innerJoin('f.sqMenuHierarquico', 'mhm')->where($queryBuilder->expr()->eq('mhm.sqSistema', ':sqSistema'))->andWhere($queryBuilder->expr()->eq('f.stRegistroAtivo', ':stAtivo'))->setParameter('sqSistema', $dto->getSqSistema())->setParameter(':stAtivo', 'TRUE');
     if ($dto->getSqMenu() != '0') {
         $queryBuilder->andWhere($queryBuilder->expr()->orX($queryBuilder->expr()->eq('mhm.sqMenu', ':sqMenu'), $queryBuilder->expr()->eq('mhm.sqMenuPai', ':sqMenuPai')));
         $queryBuilder->setParameter('sqMenu', $dto->getSqMenu());
         $queryBuilder->setParameter('sqMenuPai', $dto->getSqMenu());
     }
     $queryBuilder->orderBy('mhm.sqMenu, mhm.nuNivel ,mhm.nuOrdemApresent');
     return $queryBuilder->getQuery()->getArrayResult();
 }
Exemple #10
0
 public function findUserByCpfMail(\Core_Dto_Entity $dtoPerson, \Core_Dto_Entity $dtoMail)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('pf.nuCpf', 'e.txEmail', 'u.stAtivo', 'p.noPessoa', 'p.sqPessoa', 'u.sqUsuario', 'u.txSenha')->from('app:Usuario', 'u')->innerJoin('u.sqPessoa', 'p')->innerJoin('p.sqPessoaFisica', 'pf')->innerJoin('pf.sqEmail', 'e')->innerJoin('e.sqTipoEmail', 'te')->where('pf.nuCpf = :nuCpf')->setParameter('nuCpf', $dtoPerson->getNuCpf())->andWhere('e.txEmail = :txEmail')->setParameter('txEmail', $dtoMail->getTxEmail())->andWhere('te.sqTipoEmail = :sqTipoEmail')->setParameter('sqTipoEmail', \Core_Configuration::getCorpTipoEmailInstitucional());
     return $queryBuilder->getQuery()->getOneOrNullResult();
 }
Exemple #11
0
 /**
  * @param array $data
  * @return string mensagem de sucesso
  */
 public function save(Core_Dto_Entity $dto)
 {
     $entity = clone $dto->getEntity();
     $entityName = Core_Util_Class::resolveNameEntity($this->_entityName, $this->getEntityManager());
     if (!$entity instanceof $entityName) {
         throw new InvalidArgumentException('Tipo do Dto inválido');
     }
     $isUpdate = FALSE;
     $metadata = $this->getEntityManager()->getClassMetadata(get_class($entity));
     $ids = $metadata->getIdentifierValues($entity);
     $uow = $this->getEntityManager()->getUnitOfWork();
     // @todo rever
     foreach ($metadata->associationMappings as $field => $prop) {
         $value = $metadata->reflFields[$field]->getValue($entity);
         if (is_object($value) && !$value instanceof \Doctrine\Common\Collections\Collection) {
             $metadataAssoc = $this->getEntityManager()->getClassMetadata(get_class($value));
             $idsFk = $metadataAssoc->getIdentifierValues($value);
             if ($idsFk) {
                 $uow->registerManaged($value, $idsFk, array());
                 $uow->removeFromIdentityMap($value);
             } else {
                 // @todo
                 $uow->registerManaged($value, array(0), array());
             }
         }
     }
     $isUpdate = FALSE;
     if (count($ids)) {
         $uow->clear($metadata->name);
         $originalEntity = $entity;
         $entity = $this->find($ids);
         if (NULL !== $entity) {
             $isUpdate = TRUE;
             $entity->fromArray($originalEntity->toArrayIgnoreFields());
         } else {
             $entity = $originalEntity;
         }
     }
     $args = func_get_args();
     $args[0] = $entity;
     $this->_triggerPreSave($isUpdate, $args);
     $this->getEntityManager()->persist($entity);
     $this->_triggerPostSave($isUpdate, $args);
     return $entity;
 }
Exemple #12
0
 public function existsUserInProfile(\Core_Dto_Entity $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select($queryBuilder->expr()->count('up.sqUsuarioPerfil'))->from('app:UsuarioPerfil', 'up')->innerJoin('up.sqPerfil', 'p')->where($queryBuilder->expr()->eq('p.sqPerfil', ':sqPerfil'))->setParameter('sqPerfil', $dto->getSqPerfil());
     $result = $queryBuilder->getQuery()->getSingleScalarResult();
     if ($result) {
         return $result;
     }
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select($queryBuilder->expr()->count('up.sqUsuarioPerfil'))->from('app:UsuarioExternoPerfil', 'up')->innerJoin('up.sqPerfil', 'p')->where($queryBuilder->expr()->eq('p.sqPerfil', ':sqPerfil'))->setParameter('sqPerfil', $dto->getSqPerfil());
     return $queryBuilder->getQuery()->getSingleScalarResult();
 }
 /**
  * Metódo que verifica se o modelo está cadastrado
  * @return boolean
  */
 public function findVinculo(\Core_Dto_Entity $dtoVinculo)
 {
     $criteria = array('sqArtefatoPai' => $dtoVinculo->getSqArtefatoPai()->getSqArtefato(), 'sqArtefatoFilho' => $dtoVinculo->getSqArtefatoFilho()->getSqArtefato(), 'inOriginal' => 'FALSE', 'sqTipoVinculoArtefato' => $dtoVinculo->getSqTipoVinculoArtefato()->getSqTipoVinculoArtefato(), 'dtRemocaoVinculo' => NULL);
     $return = $this->_getRepository()->findBy($criteria);
     if (count($return) > 0) {
         return TRUE;
     }
     return FALSE;
 }
 /**
  * Obtém os dados da unidade org
  * @return array
  */
 public function getUnidadeOrg(\Core_Dto_Entity $dto)
 {
     $queryBuilder1 = $this->getEntityManager()->createQueryBuilder()->select('un.sqUnidadeOrg, p.sqPessoa')->from('app:VwPessoaVinculo', 'pv')->innerJoin('pv.sqUnidadeOrgRelacionamento', 'un')->innerJoin('pv.sqPessoa', 'p')->andWhere('p.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa()->getSqPessoa())->getQuery()->execute();
     $queryBuilder = $queryBuilder1[0];
     return $queryBuilder;
 }
Exemple #15
0
 /**
  * Obtem dados da 'vw_caixa_minuta' referente ao artefato passado no parametro
  * @param \Core_Dto_Entity $dto
  * @return array
  */
 public function findCaixaMinuta(\Core_Dto_Entity $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('vcm.sqArtefato, vcm.sqStatusArtefato, vcm.sqHistoricoArtefato')->from('app:VwCaixaMinuta', 'vcm')->andWhere('vcm.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato()->getSqArtefato())->orderBy('vcm.sqHistoricoArtefato', 'DESC')->setMaxResults(self::UNIC)->getQuery()->execute();
     $result = NULL;
     if (!empty($queryBuilder)) {
         $result = $queryBuilder[self::ZER];
     }
     return $result;
 }
Exemple #16
0
 public function findMenu(\Core_Dto_Entity $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('mh')->from('app:MenuHierarqManter', 'mh');
     if ($dto->getSqSistema()->getSqSistema() !== '' && $dto->getSqSistema()->getSqSistema() !== NULL) {
         $queryBuilder->where('mh.sqSistema = :sqSistema')->setParameter('sqSistema', $dto->getSqSistema()->getSqSistema(), 'integer');
     }
     if ($dto->getSqMenu() !== '' && $dto->getSqMenu() !== NULL) {
         $queryBuilder->andWhere('mh.sqMenu = :sqMenu')->setParameter('sqMenu', $dto->getSqMenu(), 'integer');
     }
     if ($dto->getNuNivel() !== '' && $dto->getNuNivel() !== NULL) {
         $queryBuilder->andWhere('mh.nuNivel = :nuNivel')->setParameter('nuNivel', $dto->getNuNivel(), 'integer');
     }
     if ($dto->getSqMenuPai()->getSqMenu() !== '' && $dto->getSqMenuPai()->getSqMenu() !== NULL) {
         $queryBuilder->andWhere('mh.sqMenuPai = :sqMenuPai')->setParameter('sqMenuPai', $dto->getSqMenuPai()->getSqMenu(), 'integer');
     }
     if ($dto->getRemoveDaLista() && $dto->getSqMenuLista() !== '' && $dto->getSqMenuLista() !== NULL) {
         $queryBuilder->andWhere('mh.sqMenu != :sqMenu')->setParameter('sqMenu', $dto->getSqMenuLista(), 'integer');
     }
     return $queryBuilder->getQuery()->getArrayResult();
 }
Exemple #17
0
 private function _alreadyExists(\Core_Dto_Entity $dto)
 {
     $assert = $this->findBy(array('txComentario' => $dto->getTxComentario(), 'sqPessoa' => \Core_Integration_Sica_User::getPersonId(), 'sqArtefato' => $dto->getSqArtefato()));
     if (count($assert)) {
         throw new \Exception(self::T_COMENTARIO_ALREADY_EXISTS);
     }
 }