/** * retorna os dados de Pessoa por Nome (Ilike) * @param PessoaValueObject $voPessoa * @throws PersistException */ public function findByNome(PessoaValueObject $voPessoa, $limit = 10, $offSet = 0) { try { /* * SELECT pess.sq_pessoa, * pess.sq_tipo_pessoa, * pess.no_pessoa * FROM corporativo.pessoa pess * WHERE pess.no_pessoa ilike $voPessoa->getNoPessoa() **/ # obtem a entidade com base na anotacao $ePessoa = $this->getEntity(array('pess' => $this->annotation()->load()->class)); # cria objeto de consulta baseando-se em email $query = $this->getQuery($ePessoa)->where($ePessoa->column('noPessoa')->ilike('%' . $voPessoa->getNoPessoa() . '%')); # filtro de tipo pessoa if ($voPessoa->getSqTipoPessoa()) { $query->and($ePessoa->column('sqTipoPessoa')->equals($voPessoa->getSqTipoPessoa()->getSqTipoPessoa())); } /* limit query */ $query->limit((int) $limit, (int) $offSet); # executa query return $this->execute($query); } catch (IllegalArgumentException $iae) { throw new PersistException(self::INVALID_PARAMETER); } catch (\Exception $exp) { throw new PersistException(self::UNEXPECTED_EXCEPTION); } }
private function _validatePessoa(PessoaValueObject $voPessoa) { try { BusinessException::throwsExceptionIfParamIsNull(trim($voPessoa->getNoPessoa()), self::NAME_REQUIRED); } catch (ModelException $mExcp) { throw new BusinessException($mExcp->getMessage(), $mExcp->getCode()); } }
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()); } }
/** * @param PessoaValueObject $valueObject * @param string $constantName * @return ResultSet * */ public function findDocumentOrPropertyByPessoa(PessoaValueObject $valueObject, $constantName = NULL) { /* @todo criar query quando o SICA for de responsabilidade da cotec */ $query = 'SELECT pe.sq_pessoa, doc.tx_valor, att_doc.no_atributo_documento, tp_doc.no_tipo_documento, tp_doc.sq_tipo_documento FROM corporativo.documento doc INNER JOIN corporativo.atributo_tipo_documento att_tp_doc ON att_tp_doc.sq_atributo_tipo_documento = doc.sq_atributo_tipo_documento INNER JOIN corporativo.tipo_documento tp_doc ON tp_doc.sq_tipo_documento = att_tp_doc.sq_tipo_documento INNER JOIN corporativo.atributo_documento att_doc ON att_doc.sq_atributo_documento = att_tp_doc.sq_atributo_documento INNER JOIN corporativo.pessoa pe ON pe.sq_pessoa = doc.sq_pessoa '; if (NULL != $constantName) { $query .= sprintf("INNER JOIN sicae.configuracao conf ON conf.no_constante = '%s' AND att_doc.sq_atributo_documento = conf.sq_valor ", $constantName); } $query .= 'WHERE pe.sq_pessoa = :sqPessoa'; $params['sqPessoa'] = new \stdClass(); $params['sqPessoa']->type = 'integer'; $params['sqPessoa']->value = $valueObject->getSqPessoa(); return $this->execute($query, $params); }
/** * @param PessoaValueObject $filterPessoa * @param integer $limit * @return br\gov\sial\core\persist\ResultSet * @throws PersistException */ public function findUnidadeConservacao(PessoaValueObject $filterPessoa, $limit = NULL) { try { $sql = "select\n p.*\n from\n corporativo.unidade_org uo\n inner join\n corporativo.pessoa p on p.sq_pessoa = uo.sq_pessoa \n inner join\n corporativo.tipo_unidade_org_hierarq tp on \n uo.sq_tipo_unidade = tp.sq_tipo_unidade_org and \n tp.trilha_sigla ilike '%-->uc-->%' "; $this->_query = $sql; $ePessoa = $this->getEntity(array('p' => $filterPessoa)); $condicional = array(array('entity' => $ePessoa, 'field' => 'noPessoa', 'value' => '%' . $filterPessoa->getNoPessoa())); $this->buildWhere($condicional); if ($limit) { $this->_query .= " limit {$limit}"; } return $this->execute($this->_query, $this->_params); } catch (\Exception $exp) { throw new PersistException($exp->getMessage(), $exp->getCode(), $exp); } }