From f9b81ba2bf6adcc752d9f25366f5f3d7446e8927 Mon Sep 17 00:00:00 2001 From: Starlone Passos Date: Fri, 29 Jun 2018 00:06:39 -0300 Subject: [PATCH] Indicador 27 - Enviando apenas a quantidade de acessos de usuarios dos dias ainda não enviados --- rn/MdEstatisticasAgendamentoRN.php | 28 +++++++++++++++++++++++++--- rn/MdEstatisticasColetarRN.php | 9 ++++----- rn/MdEstatisticasEnviarRN.php | 57 ++++++++++++++++++++++++++++----------------------------- 3 files changed, 57 insertions(+), 37 deletions(-) diff --git a/rn/MdEstatisticasAgendamentoRN.php b/rn/MdEstatisticasAgendamentoRN.php index 7b2a8b4..579bf71 100644 --- a/rn/MdEstatisticasAgendamentoRN.php +++ b/rn/MdEstatisticasAgendamentoRN.php @@ -15,10 +15,32 @@ class MdEstatisticasAgendamentoRN extends InfraRN { InfraDebug::getInstance()->setBolEcho(false); InfraDebug::getInstance()->limpar(); - $indicadores = (new MdEstatisticasColetarRN())-> coletarIndicadores(); - (new MdEstatisticasEnviarRN())-> enviarIndicadores($indicadores); + try { + $coletor = new MdEstatisticasColetarRN(); + $indicadores = $coletor->coletarIndicadores(); + InfraDebug::getInstance()->gravar('JSON: ' . json_encode($indicadores), InfraLog::$INFORMACAO); - LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug(),InfraLog::$INFORMACAO); + $enviar = new MdEstatisticasEnviarRN(); + + $saida = $enviar->enviarIndicadores($indicadores); + InfraDebug::getInstance()->gravar('Retorno: ' . json_encode($saida), InfraLog::$INFORMACAO); + + $id = $saida['id']; + + $data = $enviar->obterUltimoAcesso(); + InfraDebug::getInstance()->gravar('Data: ' . $data, InfraLog::$INFORMACAO); + + $acessos = $coletor->obterAcessosUsuarios($data); + $enviar->enviarAcessos($acessos, $id); + + LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug(),InfraLog::$INFORMACAO); + + } catch(Exception $e) { + InfraDebug::getInstance()->setBolLigado(false); + InfraDebug::getInstance()->setBolDebugInfra(false); + InfraDebug::getInstance()->setBolEcho(false); + throw new InfraException('Erro processando estatísticas do sistema.',$e); + } } } diff --git a/rn/MdEstatisticasColetarRN.php b/rn/MdEstatisticasColetarRN.php index 94bbd06..9e493fd 100644 --- a/rn/MdEstatisticasColetarRN.php +++ b/rn/MdEstatisticasColetarRN.php @@ -48,8 +48,7 @@ class MdEstatisticasColetarRN extends InfraRN { 'tamanhoFilesystem' => $this->obterTamanhoFileSystem(), 'anexosTamanhos' => $this->obterTamanhoDocumentosExternos(), 'extensoes' => $this->obterQuantidadeDocumentosExternosPorExtensao(), - 'velocidades' => $this->obterVelocidadePorCidade(), - 'acessosUsuarios' => $this->obterAcessosUsuarios() + 'velocidades' => $this->obterVelocidadePorCidade() ); return $indicadores; @@ -452,11 +451,11 @@ class MdEstatisticasColetarRN extends InfraRN { $sgbd = $this->obterTipoSGBD(); $query = ''; if ($sgbd == 'MySql') { - $query = "select count(*) as quantidade, date(dth_acesso) as data from infra_navegador where dth_acesso >= '" . $ultimadata . "' group by date(dth_acesso)"; + $query = "select count(*) as quantidade, date(dth_acesso) as data from infra_navegador where date(dth_acesso) > " . $ultimadata . " group by date(dth_acesso)"; } elseif ($sgbd == 'SqlServer') { - $query = "select count(*) as quantidade, CONVERT(date, dth_acesso) as data from infra_navegador where dth_acesso >= '" . $ultimadata . "' group by CONVERT(date, dth_acesso)"; + $query = "select count(*) as quantidade, CONVERT(date, dth_acesso) as data from infra_navegador where dth_acesso >= " . $ultimadata . " group by CONVERT(date, dth_acesso)"; } elseif ($sgbd == 'Oracle') { - $query = "select count(*) as quantidade, to_char(dth_acesso,'YYYY-MM-DD') AS data from infra_navegador where dth_acesso >= date '" . $ultimadata . "' group by to_char(dth_acesso,'YYYY-MM-DD')"; + $query = "select count(*) as quantidade, to_char(dth_acesso,'YYYY-MM-DD') AS data from infra_navegador where dth_acesso >= date " . $ultimadata . " group by to_char(dth_acesso,'YYYY-MM-DD')"; } $rs = array(); diff --git a/rn/MdEstatisticasEnviarRN.php b/rn/MdEstatisticasEnviarRN.php index 95b654c..52e710c 100644 --- a/rn/MdEstatisticasEnviarRN.php +++ b/rn/MdEstatisticasEnviarRN.php @@ -6,6 +6,10 @@ class MdEstatisticasEnviarRN extends InfraRN { public function __construct(){ parent::__construct(); + + $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); + $this->url = $objConfiguracaoSEI->getValor('MdEstatisticas','url', false, 'http://estatisticas.planejamento.gov.br'); + $this->orgaoSigla = $objConfiguracaoSEI->getValor('MdEstatisticas','sigla', false, ''); } protected function inicializarObjInfraIBanco(){ @@ -13,48 +17,43 @@ class MdEstatisticasEnviarRN extends InfraRN { } public function enviarIndicadores($indicadores) { + return $this->doPost($this->url, $indicadores); + } - try { - - $json = json_encode($indicadores); - InfraDebug::getInstance()->gravar('JSON: ' . $json, InfraLog::$INFORMACAO); - - $objConfiguracaoSEI = ConfiguracaoSEI::getInstance(); - $url = $objConfiguracaoSEI->getValor('MdEstatisticas','url', false, 'http://estatisticas.planejamento.gov.br'); - $orgaoSigla = $objConfiguracaoSEI->getValor('MdEstatisticas','sigla', false, ''); - - $output = $this->doPost($url, $json); - $id = $output['id']; - InfraDebug::getInstance()->gravar('Output: ' . json_encode($output), InfraLog::$INFORMACAO); - InfraDebug::getInstance()->gravar('iD: ' . $id, InfraLog::$INFORMACAO); - - $data = $this->doGet($url . '/ultimoacesso?sigla=' . $orgaoSigla); - $data = date($data); - InfraDebug::getInstance()->gravar('Data: ' . $data, InfraLog::$INFORMACAO); - - return true; + public function obterUltimoAcesso() { + $data = $this->doGet($this->url . '/ultimoacesso?sigla=' . $this->orgaoSigla, false); + return date($data); + } - } catch(Exception $e) { - InfraDebug::getInstance()->setBolLigado(false); - InfraDebug::getInstance()->setBolDebugInfra(false); - InfraDebug::getInstance()->setBolEcho(false); - throw new InfraException('Erro processando estatísticas do sistema.',$e); - } + public function enviarAcessos($acessos, $id) { + $url = $this->url . '/acessos'; + InfraDebug::getInstance()->gravar('URL: ' . $url, InfraLog::$INFORMACAO); + $obj = array( + id => $id, + acessosUsuarios => $acessos + ); + InfraDebug::getInstance()->gravar('URL: ' . json_encode($obj), InfraLog::$INFORMACAO); + return $this->doPost($url, $obj, false); } - private function doPost($url, $json) { + private function doPost($url, $json, $isjson=true) { + $data = json_encode($json); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); - curl_setopt($ch, CURLOPT_POSTFIELDS, $json); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $output = curl_exec($ch); curl_close($ch); - return json_decode($output, true); + + if ($isjson) { + return json_decode($output, true); + } + return $output; } - private function doGet($url, $isjson=false) { + private function doGet($url, $isjson=true) { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); -- libgit2 0.21.2