/** * método para cadastrar pessoa na entidade pessoa sgdoce caso necessario * @param \Core_Dto_Search $dto */ public function validarPessoa($dto) { $criteria = array('sqPessoaCorporativo' => $dto->getSqPessoaCorporativo()); $pessoaSgdoce = $this->_getRepository('app:PessoaSgdoce')->findBy($criteria); if (!$pessoaSgdoce) { $criteria = array('sqPessoa' => $dto->getSqPessoaCorporativo()); $pessoa = $this->_getRepository('app:VwPessoa')->findBy($criteria); $pessoa = $pessoa[0]; $sqTipoPessoa = $this->_getRepository('app:VwTipoPessoa')->find($pessoa->getSqTipoPessoa()); $sqPessoaCorp = $this->_getRepository('app:VwPessoa')->find($pessoa->getSqPessoa()); $entity = new \Sgdoce\Model\Entity\PessoaSgdoce(); $entity->setNoPessoa($pessoa->getNoPessoa()); $entity->setSqTipoPessoa($sqTipoPessoa); $entity->setNoPessoa($pessoa->getNoPessoa()); $entity->setSqPessoaCorporativo($sqPessoaCorp); if ($sqPessoaCorp->getSqTipoPessoa() == \Core_Configuration::getSgdoceTipoPessoaPessoaFisica()) { $pessoa = $this->_getRepository('app:VwPessoaFisica')->find($pessoa->getSqPessoa()); $entity->setNuCpfCnpjPassaporte($pessoa->getNuCpf()); } if ($sqPessoaCorp->getSqTipoPessoa() == \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica()) { $pessoa = $this->_getRepository('app:VwPessoaJuridica')->find($pessoa->getSqPessoa()); $entity->setNuCpfCnpjPassaporte($pessoa->getNuCnpj()); } $this->getEntityManager()->persist($entity); $this->getEntityManager()->flush(); } }
/** * Adiciona PessoaCorporativo na PessoaSgdoce * * @param int $sqPessoaCorporativo * @param String $noPessoaCorporativo * * @return Object Entity PessoaSgdoce */ public function addPessoaSgdoce($sqPessoaCorporativo, $noPessoaCorporativo, $cpfCnpjPassaport = NULL) { // verificando se existe Pessoa cadastrada no PessoaSgdoce // $entPessoaSgdoce = $this->searchPessoaSgdoce($sqPessoaCorporativo); // verificando se existe Pessoa cadastrada no PessoaSgdoce if (strlen($cpfCnpjPassaport) > 11) { $entPessoaCorporativo = $this->searchPessoaCnpj($cpfCnpjPassaport, $sqPessoaCorporativo); } else { // recuperando informacao da base Corporativa $criteria = array('sqPessoa' => $sqPessoaCorporativo); $entPessoaCorporativo = $this->_getRepository('app:VwPessoa')->findOneBy($criteria); } $criteriaTipoPessoa = array('sqTipoPessoa' => $entPessoaCorporativo->getSqTipoPessoa()); // setando valores na entidade para insercao do novo registro $entityPessoaSgdoce = new \Sgdoce\Model\Entity\PessoaSgdoce(); $entityPessoaSgdoce->setNoPessoa($noPessoaCorporativo); $entityPessoaSgdoce->setNuCpfCnpjPassaporte($cpfCnpjPassaport); $entityPessoaSgdoce->setSqTipoPessoa($this->_getRepository('app:VwTipoPessoa')->findOneBy($criteriaTipoPessoa)); $entityPessoaSgdoce->setSqPessoaCorporativo($entPessoaCorporativo); $this->getEntityManager()->persist($entityPessoaSgdoce); $this->getEntityManager()->flush($entityPessoaSgdoce); return $entityPessoaSgdoce; }