示例#1
0
 /**
  * Retorna os orgãoes e seus respectivos filhos.
  * o serviço necessita de um parametros:
  * pOrgao -> CO_ORGAO -> id do orgão -> obtido pelo serviço ConsultaOrgao
  * @param int $id
  * @return array
  */
 public function getWsConsultaOrgaoFilhos($objPai)
 {
     if (isset($objPai->co_orgao) && $objPai->co_orgao) {
         $wsFilhos = $this->_wsConsultaOrgao->consultaFilhos(array('pCo_Orgao_Pai' => $objPai->co_orgao));
         if (isset($wsFilhos->consultaFilhosResult) && !empty($wsFilhos->consultaFilhosResult)) {
             $arrRs = $wsFilhos->consultaFilhosResult;
             $arrFilhos = explode('^', $arrRs);
             $siorg = $this;
             array_walk($arrFilhos, function ($value, $key) use(&$objPai, $siorg) {
                 $match = array();
                 $string = Siorg::trataCaracteres($value);
                 $regex = '/[0-9]{0,6}/';
                 preg_match($regex, $string, $match);
                 $value = $match[0];
                 if (isset($value) && !empty($value)) {
                     $obj = $siorg->getWsConsultaOrgao($value);
                     $objPai->filhos["{$value}"] = $siorg->getWsConsultaOrgaoFilhos($obj);
                 }
             });
         }
     }
     return $objPai;
 }
示例#2
0
<?php

include "./include.db.php";
include "./Siorg.php";
include "./ConfigSiorg.php";
$siorg = new Siorg();
$db = new DB();
$dados = $db->obterDados('sgdoc.tb_pessoa_siorg', 'co_orgao::int', '(sg_uf is null or ch_email_internet is null)', 'co_orgao');
//$dados[0]['CO_ORGAO'] = 123335;
foreach ($dados as $k => $unidade) {
    $enderecoContato = $siorg->consultarEnderecoContato($unidade['CO_ORGAO']);
    $uf = $mail = null;
    if ($enderecoContato['sucesso']) {
        $uf = isset($enderecoContato['registros']['endereco']['uf']) ? $enderecoContato['registros']['endereco']['uf'] : '';
        $email = isset($enderecoContato['registros']['contato']['email']) ? $enderecoContato['registros']['contato']['email'] : '';
        echo "{$unidade['CO_ORGAO']}: {$uf} - {$email}\n";
        $out = $db->atualizarDados('sgdoc.tb_pessoa_siorg', "co_orgao::int = {$unidade['CO_ORGAO']}", "sg_uf = '{$uf}', ch_email_internet = '{$email}'");
        echo "Número de registros alterados: {$out['count']}\n";
    }
}