/** * * @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; }
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); }
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(); }
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(); }
/** * @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; }
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; }
/** * 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; }
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(); }
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); } }