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());
    }
}
예제 #2
0
 /**
  * @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());
    }
}
예제 #5
0
 /**
  * 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);
     }
 }
 /**
  * Efetua a validação
  * @param PessoaValueObject $voPessoa
  * @param PessoaJuridicaValueObject $voPessoaJuridica
  * @throws BusinessException
  */
 private function _validatePessoaJuridica(PessoaValueObject $voPessoa, PessoaJuridicaValueObject $voPessoaJuridica)
 {
     if (trim($voPessoaJuridica->getNuCnpj())) {
         BusinessException::throwsExceptionIfParamIsNull(Validate::isCnpj($voPessoaJuridica->getNuCnpj()), self::INVALID_CNPJ);
     }
     if (trim($voPessoaJuridica->getDtAbertura())) {
         # Efetua sanitizacao de datas
         $dateAbertura = $voPessoaJuridica->getDtAbertura();
         $voPessoaJuridica->setDtAbertura(Date::factory($dateAbertura, 'd/m/Y')->output());
     }
 }