RB
Dificuldade em carregar dados vetoriais
Pessoal, bom dia,
Não estou conseguindo carregar os dados dos endereços vinculados ao funcionário.
Não estou conseguindo identificar onde estou errando, alguém pode me ajudar ?
Segue fonte abaixo.
trecho model fisico onde retorno os endereços
Model PessoaEndereco
Formulário Funcionario
Não estou conseguindo carregar os dados dos endereços vinculados ao funcionário.
Não estou conseguindo identificar onde estou errando, alguém pode me ajudar ?
Segue fonte abaixo.
trecho model fisico onde retorno os endereços
- <?php
- public function get_endereco()
- {
- if (empty($this->endereco))
- {
- $this->endereco = PessoaEndereco::where('pessoa_id','=',$this->pessoa_id)
- ->where('organizacao_id','=',$this->organizacao_id)
- ->load();
- }
- return $this->endereco;
- }
- ?>
Model PessoaEndereco
- <?php
- /**
- * PessoaEndereco Active Record
- * @author <your-name-here>
- */
- class PessoaEndereco extends TRecord
- {
- const TABLENAME = 'pessoa_endereco';
- const PRIMARYKEY= 'id';
- const IDPOLICY = 'serial'; // {max, serial}
- use SystemChangeLogTrait;
- private $pessoa;
- private $endereco;
- private $regiao;
- /**
- * Constructor method
- */
- public function __construct($id = NULL, $callObjectLoad = TRUE)
- {
- parent::__construct($id, $callObjectLoad);
- parent::addAttribute('pessoa_id');
- parent::addAttribute('endereco_id');
- parent::addAttribute('tipo_endereco_id');
- parent::addAttribute('numero');
- parent::addAttribute('complemento');
- parent::addAttribute('criacao');
- parent::addAttribute('atualizacao');
- parent::addAttribute('organizacao_Id');
- parent::addAttribute('latitude');
- parent::addAttribute('longitude');
- parent::addAttribute('regiao_id');
- parent::addAttribute('ativo');
- }
- /**
- * Method set_pessoa
- * Sample of usage: $pessoa_endereco->pessoa = $object;
- * @param $object Instance of Pessoa
- */
- public function set_pessoa(Pessoa $object)
- {
- $this->pessoa = $object;
- $this->pessoa_id = $object->id;
- }
- /**
- * Method get_pessoa
- * Sample of usage: $pessoa_endereco->pessoa->attribute;
- * @returns Pessoa instance
- */
- public function get_pessoa()
- {
- // loads the associated object
- if (empty($this->pessoa))
- $this->pessoa = new Pessoa($this->pessoa_id);
- // returns the associated object
- return $this->pessoa;
- }
- /**
- * Method set_endereco
- * Sample of usage: $pessoa_endereco->endereco = $object;
- * @param $object Instance of Endereco
- */
- public function set_endereco(Endereco $object)
- {
- $this->endereco = $object;
- $this->endereco_id = $object->id;
- }
- /**
- * Method get_endereco
- * Sample of usage: $pessoa_endereco->endereco->attribute;
- * @returns Endereco instance
- */
- public function get_endereco()
- {
- // loads the associated object
- if (empty($this->endereco))
- $this->endereco = new Endereco($this->endereco_id);
- // returns the associated object
- return $this->endereco;
- }
- /**
- * Method set_regiao
- * Sample of usage: $pessoa_endereco->regiao = $object;
- * @param $object Instance of regiao
- */
- public function set_regiao(Regiao $object)
- {
- $this->regiao = $object;
- $this->regiao_id = $object->id;
- }
- /**
- * Method get_regiao
- * Sample of usage: $pessoa_endereco->regiao->attribute;
- * @returns genero instance
- */
- public function get_regiao()
- {
- // loads the associated object
- if (empty($this->regiao))
- $this->regiao = new Regiao($this->regiao_Id);
- // returns the associated object
- return $this->regiao;
- }
- }
- ?>
Formulário Funcionario
- <?php
- .....outros
- //dados correspondências
- $dados_endereco = new TLabel('Endereco');
- $dados_endereco->class ='lbl_titulo';
- $this->form->addContent( [$dados_endereco] );
- $frame_endereco = new TFrame('frame_endereco');
- $frame_endereco->style = 'margin:-13px 0 0 -1px; boredr-top:none;width:98.5%;float:left;display:table;';
- // detail fields
- $this->enderecoList = new TFieldList('lista_enderecos');
- $id_endereco = new TEntry('id_endereco[]');
- $id_endereco->setEditable(false);
- $id_endereco->style = 'display:none;';
- $this->cep = new TEntry('txt_cep[]');
- $this->cep->setMask('00000-000');
- $this->cep->addValidation('CEP', new TRequiredValidator, new TMaxValueValidator,array(8));
- $input_cep = new TAction(array($this,'onCep'));
- $this->cep->setExitAction(new TAction(array($this,'onCep')));
- $logradouro = new TEntry('logradouro[]');
- $numero = new TEntry('numero[]');
- $bairro = new TEntry('bairro[]');
- $cidade = new TEntry('cidade[]');
- $uf = new TEntry('uf[]');
- $tipo_endereco_id = new TDBCombo('tipo_endereco_id[]','centinel','TipoEndereco','id','descricao');
- $complemento = new TEntry('compl[]');
- $regiao_id = new TDBCombo('regiao_id[]','centinel','Regiao','id','descricao');
- $uf->setMask('AA'); // Máscara Alfanumérica Delimitada
- $this->enderecoList->addField( '<span class = "lbl_text" style = "display:none;">#</span>', $id_endereco);
- $this->enderecoList->addField( '<span class = "lbl_text">Cep</span>', $this->cep);
- $this->enderecoList->addField( '<span class = "lbl_text">Logradouro</span>', $logradouro);
- $this->enderecoList->addField( '<span class = "lbl_text">Número<span/>', $numero);
- $this->enderecoList->addField( '<span class = "lbl_text">Tipo Endereço</span>', $tipo_endereco_id);
- $this->enderecoList->addField( '<span class = "lbl_text">Bairro</span>', $bairro);
- $this->enderecoList->addField( '<span class = "lbl_text">Cidade</span>', $cidade);
- $this->enderecoList->addField( '<span class = "lbl_text">UF</span>', $uf);
- $this->enderecoList->addField( '<span class = "lbl_text">Complemento</span>', $complemento);
- $this->enderecoList->addField( '<span class = "lbl_text">Região</span>', $regiao_id);
- //$this->enderecoList->enableSorting();
- $frame_endereco->add($this->enderecoList);
- $this->form->addFields( [$frame_endereco] );
- $this->form->addField($id_endereco);
- $this->form->addField($this->cep);
- $this->form->addField($logradouro);
- $this->form->addField($numero);
- $this->form->addField($bairro);
- $this->form->addField($tipo_endereco_id);
- $this->form->addField($cidade);
- $this->form->addField($uf);
- $this->form->addField($complemento);
- $this->form->addField($regiao_id);
- public static function onCep($param)
- {
- $endereco_cep = $param['_field_id'];
- $cep_endereco = $param['_field_value'];
- $endereco_cep = explode('_', $endereco_cep);
- $unique_id = end($endereco_cep);
- $retorno = Endereco::BuscaCepWeb($cep_endereco);
- if (!empty($retorno))
- {
- $response = new stdClass;
- $response->{'id_endereco_'.$unique_id} = $retorno['id'];
- $response->{'logradouro_'.$unique_id} = $retorno['logradouro'];
- $response->{'bairro_'.$unique_id} = $retorno['bairro'];
- $response->{'cidade_'.$unique_id} = $retorno['localidade'];
- $response->{'uf_'.$unique_id} = $retorno['uf'];
- //$response->{'ibge_'}.$unique_id = strtoupper( $retorno['ibge']);
- //$response->{'gia'}.$unique_id = strtoupper( $retorno['gia']);
- TForm::sendData('frm_funcionario', $response);
- TScript::create(' $( "#numero_" ).focus(); ');
- }
- else
- {
- $endereco = Endereco::BuscaCepBanco($cep_endereco);
- if($endereco)
- {
- $retorno = new stdClass;
- $retorno->{'id_endereco_'.$unique_id} = $endereco['id'];
- $retorno->{'logradouro_'.$unique_id} = $endereco['logradouro'];
- $retorno->{'bairro_'.$unique_id} = $endereco['bairro'];
- $retorno->{'cidade_'.$unique_id} = $endereco['cidade'];
- $retorno->{'uf_'.$unique_id} = $endereco['uf'];
- //$retorno->{'ibge_'}.$unique_id = $endereco['ibge'];
- //$retorno->{'gia'}.$unique_id = $endereco['gia'];
- TForm::sendData('frm_funcionario', $retorno);
- TScript::create(' $( "#numero_" ).focus(); ');
- }
- else
- {
- new TMessage("error", "CEP - Em Branco ou Inválido");
- }
- }
- }
- //onEdit
- public function onEdit($param)
- {
- try
- {
- if (isset($param['key']))
- {
- $key = $param['key'];
- $organizacao_id = TSession::getValue('organizacion_id'); // pega id da empresa
- //abre a transação
- TTransaction::open('centinel');
- //carrega o active record Funcionario conforme id
- $funcionario = Funcionario::find($key);
- //remove pontos e virgulas
- $rg = str_replace('.','', $funcionario->fisica->rg);
- $rg = substr($rg, 0,2).'.'.substr($rg,2,3).'.'.substr($rg, 5,3).'-'.substr($rg, 8,11);
- $cpf = str_replace('.','',str_replace('-','',$funcionario->fisica->cpf));
- $cpf = substr($cpf, 0,3).'.'.substr($cpf,3,3).'.'.substr($cpf, 6,3).'-'.substr($cpf, 9,2);
- //dados pessoais
- $funcionario->nome = $funcionario->fisica->nome;
- $funcionario->local_nascto = $funcionario->fisica->naturalidade;
- $funcionario->local_nascto_uf = $funcionario->fisica->uf;
- $funcionario->data_nascimento = TDate::date2br($funcionario->fisica->data_nascimento);
- $funcionario->etnia_id = $funcionario->fisica->etnia_id;
- $funcionario->estado_civil_id = $funcionario->fisica->civil_id;
- $funcionario->genero_id = $funcionario->fisica->genero_id;
- $funcionario->grau_instrucao = $funcionario->grau_instrucao;
- $funcionario->nome_conjuge = $funcionario->conjuge->nome;
- $funcionario->nome_pai = $funcionario->fisica->pai;
- $funcionario->nome_mae = $funcionario->fisica->mae;
- //dados conta bancaria
- foreach ($funcionario->get_conta() as $conta)
- {
- $funcionario->nome_banco = $conta->banco;
- $funcionario->nome_agencia = $conta->nome_agencia;
- $funcionario->numero_conta = $conta->numero_conta;
- $funcionario->tipo_conta_id = $conta->tipo_conta_id;
- }
- //documento pessoais
- $funcionario->cpf = $cpf;
- $funcionario->rg = $rg;
- $funcionario->orgao_emissor = $funcionario->fisica->orgao_emissor;
- $funcionario->data_expedicao = TDate::date2br($funcionario->fisica->data_expedicao);
- //carrega informações titulo_eleitor
- foreach ($funcionario->fisica->titulo_eleitor as $titulo_eleitor )
- {
- $funcionario->titulo_eleitor = $titulo_eleitor->numero_inscricao;
- $funcionario->zona = $titulo_eleitor->zona;
- $funcionario->secao = $titulo_eleitor->secao;
- }
- //carrega informações certidao_reservista
- foreach ($funcionario->fisica->certidao_reservista as $certidao_reservista )
- {
- $funcionario->certidao_reservista = $certidao_reservista->ra;
- $funcionario->cat_cert_reservista = $certidao_reservista->categoria;
- }
- //carrega informações cnh
- foreach ($funcionario->fisica->cnh as $cnh )
- {
- $funcionario->habilitacao = $cnh->numero;
- $funcionario->categoria = $cnh->categoria;
- $funcionario->vencimento = $cnh->data_vencimento;
- }
- //dados profissionais
- $funcionario->data_adm = TDate::date2br($funcionario->data_contratacao);
- $funcionario->matricula = $funcionario->matricula;
- $funcionario->deficiente_fisico_id = $funcionario->deficiente_fisico;
- //print_r($funcionario->funcionario_departamento);
- foreach ($funcionario->funcionario_departamento as $object)
- {
- $funcionario->departamento_id = $object->departamento_id;
- $funcionario->funcao = $object->funcao;
- }
- //carrega informações ctps (carteira de trabalho)
- foreach ($funcionario->ctps as $value)
- {
- $funcionario->carteira_trabalho = $value->numero_ctps;
- $funcionario->numero_serie = $value->serie_uf;
- $funcionario->data_emissao = TDate::date2br($value->data_emissao);
- }
- //carrega informações salario
- foreach ($funcionario->salario as $value)
- {
- $funcionario->txt_salario = 'R$ ' . $value->valor;
- }
- //carrega informações pis
- $funcionario->pis = $funcionario->pis;
- $funcionario->data_pis = TDate::date2br($funcionario->data_emissao_pis);
- $contatos = $funcionario->get_contatos();
- if ($contatos)
- {
- foreach($contatos as $contato )
- {
- $contato->ddi = $contato->ddi;
- $contato->ddd = $contato->ddd;
- $contato->telefone = substr($contato->telefone, 0, 4) . '-' . substr($contato->telefone, 4, 8);
- $contato->tipo_telefone_id = $contato->tipo_telefone_id;
- $contato->operadora_id = $contato->operadora_id;
- }
- $this->contatoList->addDetail($contato);
- }
- else
- {
- $this->onClear($param);
- }
- if ($funcionario->pessoa_enderecos)
- {
- foreach($funcionario->pessoa_enderecos as $endereco)
- {
- print $endereco->endereco_id.'<br/>Logradouro : '.$endereco->endereco->logradouro ;
- $endereco->id_endereco = $endereco->endereco_id;
- $endereco->txt_cep = substr($endereco->endereco->cep, 0, 5) . '-' . substr($endereco->endereco->cep, 5, 8);
- $endereco->logradouro = $endereco->endereco->logradouro;
- $endereco->bairro = $endereco->endereco->bairro;
- $endereco->cidade = $endereco->endereco->cidade;
- $endereco->uf = $endereco->endereco->uf;
- $endereco->compl = $endereco->endereco->complemento;
- $this->enderecoList->addDetail($endereco);
- }
- }
- else
- {
- $this->onClear($param);
- }
- $obj = $funcionario->get_dependente();
- if ($obj)
- {
- foreach ($obj as $dependente)
- {
- $dependente->nome_dependente = $dependente->nome;
- $dependente->nascimento_dependente = $dependente->data_nascimento;
- $dependente->grau_parentesco_dependente = $dependente->grau_parentesco_id;
- $this->dependenteList->addDetail($dependente);
- }
- }
- else
- {
- $this->onClear($param); //ao adicionar este aqui todos os outros duplicam
- }
- //preenche o formulario com os dados do funcionário
- $this->form->setData($funcionario);
- TTransaction::close();
- }
- }
- catch (Exception $e)
- {
- new TMessage('error', $e->getMessage());
- //desfaz operações
- TTransaction::rollback();
- }
- }
- ?>
Tente isolar o problema. Os dados estão vindo do banco e não estão sendo exibidos ou nem estão vindo do banco?
Nataniel,
Então os dados são retornados, porém não é exibido no formulário.
No trecho do cógigo em questão dei um print, e esta retornando os dados
print $endereco->endereco_id.'<br/>Logradouro : '.$endereco->endereco->logradouro ;
linha 234.
Fica difícil simular sem ter a estrutura completa. Gere um zip do projeto contendo pelo menos o banco em sqlite e os models e controls envolvidos que fica mais fácil pra galera ajudar.
Nataniel,
Não entendi,os model envolvidos estão acima,
segue o print da tela
https://imgur.com/a/rC2bz
Trecho onEdit
Tente adicionar um valor fixo a um ou mais campos. Se o valor aparecer, provavelmente deve ser algum problema nos relacionamentos:
Nataniel,
O que está me intrigando é que os dados está sendo retornados, como pode observar no link da imagem que postei .