function libCorpUpdatePessoaJuridica($ctPessoaJuridicaUpdate, $userCredential = NULL) { Registry::factory()->setCredential($userCredential); $xmlResult = '<result><status>%s</status><errocode>%s</errocode><response>%s</response></result>'; try { $voPessoa = PessoaValueObject::factory()->loadData($ctPessoaJuridicaUpdate); $voPessoaJuridica = PessoaJuridicaValueObject::factory()->loadData($ctPessoaJuridicaUpdate); $voPessoaJuridica = PessoaJuridicaBusiness::factory()->updatePessoaJuridica($voPessoa, $voPessoaJuridica); return sprintf($xmlResult, 'success', '00000', $voPessoaJuridica->toXml()); } catch (\Exception $excp) { return sprintf($xmlResult, 'failure', $excp->getCode(), $excp->getMessage()); } }
/** * @param string $voPessoaJuridica * @return PessoaJuridicaModel * */ public function findByCnpj($nuCnpj) { $ePessoaJuridica = $this->getEntity(array('ps' => PessoaJuridicaValueObject::factory())); $ePessoa = $this->getEntity(PessoaValueObject::factory()); # cria consulta $query = $this->getQuery($ePessoa)->join($ePessoaJuridica, $ePessoaJuridica->column('sqPessoa')->equals($ePessoa->column('sqPessoa')))->where($ePessoaJuridica->column('nuCnpj')->like($nuCnpj . '%')); try { return $this->execute($query); } catch (PersistException $pExc) { # efetua log de erro ; throw new ModelException(self::REQUIRE_DATA_ERROR_MESSAGE); } }
function libCorpPessoaByNomeFantasia($noFantasia) { try { $voPessoaJur = PessoaJuridicaValueObject::factory()->setNoFantasia($noFantasia); $tmpResult = PessoaBusiness::factory()->findByNomeFantasia($voPessoaJur); $tmpTxt = '<result>'; foreach ($tmpResult as $result) { $tmpTxt .= $result->toXml(); } $tmpTxt .= '</result>'; return $tmpTxt; } catch (\Exception $excp) { throw new IOException($excp->getMessage()); } }
function libCorpSavePessoaJuridica($ctSavePessoaJuridica, $userCredential = NULL) { Registry::factory()->setCredential($userCredential); $xmlResult = '<result><status>%s</status><errocode>%s</errocode><response>%s</response></result>'; try { if (!isset($ctSavePessoaJuridica['inTipoEstabelecimento'])) { $ctSavePessoaJuridica['inTipoEstabelecimento'] = TRUE; } $voPessoa = PessoaValueObject::factory()->loadData($ctSavePessoaJuridica); $voPessoaJuridica = PessoaJuridicaValueObject::factory()->loadData($ctSavePessoaJuridica); $voPessoaJuridica = PessoaJuridicaBusiness::factory(NULL, 'libcorp')->savePessoaJuridica($voPessoa, $voPessoaJuridica); return sprintf($xmlResult, 'success', '00000', $voPessoaJuridica->toXml()); } catch (\Exception $excp) { return sprintf($xmlResult, 'failure', $excp->getCode(), $excp->getMessage()); } }
/** * Retorna os dados de Pessoa por Nome Fantasia * @param PessoaJuridicaValueObject $voPessoaJuridica */ public function findByNomeFantasia(PessoaJuridicaValueObject $voPessoaJuridica) { try { /* * SELECT * PJ.sq_pessoa, * PJ.nu_cnpj, * PJ.no_fantasia, * PJ.sg_empresa, * PJ.dt_abertura, * P.no_pessoa, * P.sq_tipo_pessoa * FROM * corporativo.pessoa_juridica PJ * JOIN * corporativo.pessoa P ON P.sq_pessoa = PJ.sq_pessoa * WHERE * PJ.no_fantasia ILIKE '%no_fantasia%'); **/ # obtem a entidade com base na anotacao $ePessoa = $this->getEntity(array('pes' => $this->annotation()->load()->class)); $ePessoaJuridica = $this->getEntity(array('pej' => PessoaJuridicaValueObject::factory())); # cria objeto de consulta baseando-se em email $query = $this->getQuery($ePessoa)->join($ePessoaJuridica, $ePessoa->column('sqPessoa')->equals($ePessoaJuridica->column('sqPessoa')))->where($ePessoaJuridica->column('noFantasia')->ilike('%' . $voPessoaJuridica->getNoFantasia() . '%')); # executa query return $this->execute($query); } catch (IllegalArgumentException $iae) { throw new PersistException(self::INVALID_PARAMETER); } catch (\Exception $exp) { throw new PersistException(self::UNEXPECTED_EXCEPTION); } }