/** * Insere ou atualiza Pessoa * @param PessoaValueObject */ public function save(PessoaValueObject $voPessoa) { try { $sqPessoa = $voPessoa->getSqPessoa(); $this->_validatePessoa($voPessoa); if (empty($sqPessoa)) { $this->getModelPersist('libcorp')->save($voPessoa); } else { $this->getModelPersist('libcorp')->update($voPessoa); } } catch (ModelException $mExcp) { throw new BusinessException($mExcp->getMessage(), $mExcp->getCode()); } }
/** * @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); }