/** * Retorna Documentos por Pessoa * @param PessoaValueObject $voPessoa * @throws PersistException */ public function findByPessoa(PessoaValueObject $voPessoa) { try { /* * SELECT pe.sq_pessoa, * do.tx_valor, * ad.no_atributo_documento, * td.no_tipo_documento * FROM corporativo.pessoa AS pe * INNER JOIN corporativo.documento AS do ON do.sq_pessoa = pe.sq_pessoa * INNER JOIN corporativo.atributo_tipo_documento AS atd ON atd.sq_atributo_documento = do.sq_atributo_tipo_documento * INNER JOIN corporativo.atributo_documento AS ad ON ad.sq_atributo_documento = atd.sq_atributo_documento * INNER JOIN corporativo.tipo_documento AS td ON td.sq_tipo_documento = atd.sq_tipo_documento * WHERE (pe.sq_pessoa = :sq_pessoa); */ # obtem a entidade com base na anotacao $eDocumento = $this->getEntity(array('doc' => $this->annotation()->load()->class)); # cria entidade Pessoa $ePessoa = $this->getEntity(array('pes' => PessoaValueObject::factory())); # cria entidade AtributoTipoDocumento $eAtributoTipoDoc = $this->getEntity(array('atd' => AtributoTipoDocumentoValueObject::factory())); # cria entidade AtributoDocumento $eAtributoDocumento = $this->getEntity(array('ado' => AtributoDocumentoValueObject::factory())); # cria entidade TipoDocumento $eTipoDocumento = $this->getEntity(array('tdo' => TipoDocumentoValueObject::factory())); # cria objeto de consulta baseando-se em AttrTipoDoc $query = $this->getQuery($ePessoa)->join($eDocumento, $ePessoa->column('sqPessoa')->equals($eDocumento->column('sqPessoa')))->join($eAtributoTipoDoc, $eDocumento->column('sqAtributoTipoDocumento')->equals($eAtributoTipoDoc->column('sqAtributoTipoDocumento')))->join($eAtributoDocumento, $eAtributoTipoDoc->column('sqAtributoDocumento')->equals($eAtributoDocumento->column('sqAtributoDocumento')))->join($eTipoDocumento, $eAtributoTipoDoc->column('sqTipoDocumento')->equals($eTipoDocumento->column('sqTipoDocumento')))->where($ePessoa->column('sqPessoa')->equals($voPessoa->getSqPessoa())); return $this->execute($query); } catch (\Exception $excp) { throw new PersistException($excp->getMessage()); } }
function libCorpSavePessoa($ctPessoaSave, $userCredential = NULL) { try { Registry::factory()->setCredential($userCredential); $voPessoa = PessoaValueObject::factory()->loadData($ctPessoaSave); PessoaBusiness::factory(NULL, 'libcorp')->save($voPessoa); return sprintf(XML_RESULT, 'success', '00000', $voPessoa->toXml()); } catch (\Exception $excp) { return sprintf(XML_RESULT, 'failure', $excp->getCode(), $excp->getMessage()); } }
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()); } }
function libCorpSavePessoaFisica($ctPessoaFisicaSave, $userCredential = NULL) { Registry::factory()->setCredential($userCredential); $lcCorpPFTemplateMessage = '<result><status>%s</status><errocode>%s</errocode><response>%s</response></result>'; try { $voPessoa = PessoaValueObject::factory()->loadData($ctPessoaFisicaSave); $voPessoaFisica = PessoaFisicaValueObject::factory()->loadData($ctPessoaFisicaSave); $voPessoaFisica = PessoaFisicaBusiness::factory(NULL, 'libcorp')->savePessoaFisica($voPessoa, $voPessoaFisica); return sprintf($lcCorpPFTemplateMessage, 'success', '00000', $voPessoaFisica->toXml()); } catch (\Exception $excp) { return sprintf($lcCorpPFTemplateMessage, '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 libCorpPessoaByNome($noPessoa) { try { $voPessoa = PessoaValueObject::factory()->setNoPessoa($noPessoa); $tmpResult = PessoaBusiness::factory()->findByNome($voPessoa); $tmpTxt = '<result>'; foreach ($tmpResult as $result) { $tmpTxt .= $result->toXml(); } $tmpTxt .= '</result>'; return $tmpTxt; } catch (\Exception $excp) { throw new IOException($excp->getMessage()); } }
function libCorpUnidadeOrgByUndDescenNome($noPessoa) { try { $voPessoa = PessoaValueObject::factory()->setnoPessoa($noPessoa); $unidadeOrgBusiness = UnidadeOrgBusiness::factory(NULL, 'libcorp'); $tmpTxt = '<result>'; $tmpResult = $unidadeOrgBusiness->findUndDescentralizadaByNome($voPessoa); 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()); } }
/** * Efetua a busca por UnidadeDescentralizada e por Nome * Solicitacao via Ticket #459 * @param PessoaValueObject $voPessoa * @throws PersistException */ public function findundDescentralizadaByNome(PessoaValueObject $voPessoa) { try { /* * SELECT [fields] * FROM tipo_unidade_org_hierarq vwTipo * JOIN unidade_org uniOrg ON (vwTipo.sq_tipo_unidade_org = uniOrg.sq_tipo_unidade) * INNER JOIN pessoa pes ON (uniOrg.sq_pessoa = pes.sq_pessoa) * WHERE trilha_sigla ilike '%ud--%' AND pes.no_pessoa ilike '%Parque%' */ # obtem a entidade com base na anotacao $eUnidadeOrg = $this->getEntity(array('unOrg' => $this->annotation()->load()->class)); # Busca pela View $eVwTipoUnidade = $this->getEntity(array('vwTipoUnidadeHierarq' => VwTipoUnidadeOrgHierarqValueObject::factory())); $ePessoa = $this->getEntity(array('pess' => PessoaValueObject::factory())); $query = $this->getQuery($eVwTipoUnidade)->join($eUnidadeOrg, $eVwTipoUnidade->column('sqTipoUnidadeOrg')->equals($eUnidadeOrg->column('sqTipoUnidade')))->join($ePessoa, $eUnidadeOrg->column('sqPessoa')->equals($ePessoa->column('sqPessoa')))->where($eVwTipoUnidade->column('trilhaSigla')->ilike('%' . self::PAR_UNIDADE_DESCENTRALIZADA . '%'))->and($ePessoa->column('noPessoa')->ilike('%' . $voPessoa->getNoPessoa() . '%')); # executa query return $this->execute($query); } catch (IllegalArgumentException $iae) { throw new PersistException('Um ou mais paramentros informados para na montagem da query foi avaliado como inválido', 0, $iae); } catch (\Exception $exp) { throw new PersistException('Um erro inesperado ocorreu ao tentar executar a recuperação dos dados', 0, $exp); } }