Commit 69909bbe2c43aad2b88eb458dc186772a2c1ec6a
1 parent
b3f75861
Exists in
master
Coletando navegadores por mes
Showing
3 changed files
with
46 additions
and
16 deletions
Show diff stats
rn/MdEstatisticasAgendamentoRN.php
| ... | ... | @@ -21,7 +21,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN |
| 21 | 21 | |
| 22 | 22 | $this->gravarLog('Autenticar no WebService'); |
| 23 | 23 | if (!$enviar->autenticar()) { |
| 24 | - throw new InfraException('Problemas com a autenticação.'); | |
| 24 | + throw new InfraException('Problemas com a autenticação.'); | |
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | $this->gravarLog('Autenticado. Coletando indicadores'); |
| ... | ... | @@ -41,7 +41,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN |
| 41 | 41 | |
| 42 | 42 | $this->gravarLog('Indicadores recebidos. Coletar indicadores do tipo lista'); |
| 43 | 43 | |
| 44 | - $this->gravarLog('Obter a data do último envio das quantidades de acessos '); | |
| 44 | + $this->gravarLog('Obter a data do último envio das quantidades de acessos '); | |
| 45 | 45 | $data = $enviar->obterUltimoAcesso(); |
| 46 | 46 | $this->gravarLog('Ultima data das quantidades de acessos: ' . $data . '. Coletar quantidade de acessos'); |
| 47 | 47 | |
| ... | ... | @@ -54,13 +54,16 @@ class MdEstatisticasAgendamentoRN extends InfraRN |
| 54 | 54 | $this->gravarLog('Coletado. Enviar: '); |
| 55 | 55 | $enviar->enviarVelocidades($velocidades, $id); |
| 56 | 56 | |
| 57 | - $this->gravarLog('Enviado. Coletar os sistemas operacionais dos usuários: '); | |
| 57 | + $this->gravarLog('Enviado. Coletar os sistemas operacionais dos usuários: '); | |
| 58 | 58 | $sistemasOperacionaisUsuarios = $coletor->obterSistemasOperacionaisUsuarios(); |
| 59 | 59 | $this->gravarLog('Coletado. Enviar: '); |
| 60 | 60 | $enviar->enviarSistemasUsuarios($sistemasOperacionaisUsuarios, $id); |
| 61 | 61 | |
| 62 | - $this->gravarLog('Enviado. Coletar os navegadores: '); | |
| 63 | - $navegadores = $coletor->obterNavegadores(); | |
| 62 | + $this->gravarLog('Enviado. Obter a data do último envio das quantidades de navegadores '); | |
| 63 | + $data = $enviar->obterUltimoNavegador(); | |
| 64 | + $this->gravarLog('Ultima data das quantidades de navegadores: ' . $data . '. Coletar quantidade de navegadores'); | |
| 65 | + | |
| 66 | + $navegadores = $coletor->obterNavegadores($data); | |
| 64 | 67 | $this->gravarLog('Coletado. Enviar: '); |
| 65 | 68 | $enviar->enviarNavegadores($navegadores, $id); |
| 66 | 69 | |
| ... | ... | @@ -90,7 +93,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN |
| 90 | 93 | InfraDebug::getInstance()->setBolLigado(false); |
| 91 | 94 | InfraDebug::getInstance()->setBolDebugInfra(false); |
| 92 | 95 | InfraDebug::getInstance()->setBolEcho(false); |
| 93 | - throw new InfraException('Erro processando estatÃsticas do sistema.', $e); | |
| 96 | + throw new InfraException('Erro processando estatísticas do sistema.', $e); | |
| 94 | 97 | } |
| 95 | 98 | |
| 96 | 99 | } | ... | ... |
rn/MdEstatisticasColetarRN.php
| ... | ... | @@ -491,17 +491,39 @@ class MdEstatisticasColetarRN extends InfraRN |
| 491 | 491 | return $sistemas; |
| 492 | 492 | } |
| 493 | 493 | |
| 494 | - public function obterNavegadores() { | |
| 495 | - $query = "select count(*) as quantidade, identificacao as nome, versao from infra_navegador group by identificacao,versao"; | |
| 496 | - $rs = BancoSEI::getInstance()->consultarSql($query); | |
| 494 | + public function obterNavegadores($ultimadata = null) { | |
| 495 | + if ($ultimadata == null) { | |
| 496 | + $ultimadata = "1900-01-01"; | |
| 497 | + } | |
| 498 | + $current_month = date("Y-m-01"); | |
| 499 | + $sgbd = $this->obterTipoSGBD(); | |
| 500 | + $query = ''; | |
| 501 | + if ($sgbd == 'MySql') { | |
| 502 | + $query = "SELECT year(dth_acesso) as ano, month(dth_acesso) as mes, identificacao as nome, versao, count(*) as quantidade from sei.infra_navegador where date(dth_acesso) > '%s' and date(dth_acesso) < '%s' group by 1, 2, 3, 4 order by 1,2,3,4"; | |
| 503 | + // $query = "SELECT year(dth_acesso) as ano, month(dth_acesso) as mes, recurso, count(*) as quantidade FROM sei.infra_auditoria where date(dth_acesso) > '%s' and date(dth_acesso) < '%s' group by 1, 2, 3 order by 1, 2, 3"; | |
| 504 | + } elseif ($sgbd == 'SqlServer') { | |
| 505 | + $query = "SELECT year(dth_acesso) as ano, month(dth_acesso) as mes, identificacao as nome, versao, count(*) as quantidade from infra_navegador where dth_acesso > '%s' and dth_acesso < '%s' group by year(dth_acesso) as ano, month(dth_acesso) as mes, identificacao as nome, versao order by 1,2,3,4"; | |
| 506 | + //$query = "SELECT year(dth_acesso) as ano, month(dth_acesso) as mes, recurso, count(*) as quantidade FROM infra_auditoria where dth_acesso > '%s' and dth_acesso < '%s' group by year(dth_acesso), month(dth_acesso), recurso order by 1, 2, 3"; | |
| 507 | + } elseif ($sgbd == 'Oracle'){ | |
| 508 | + $query = "SELECT to_char(dth_acesso, 'YYYY') AS ano, to_char(dth_acesso, 'MM') AS mes, identificacao as nome, versao, count(*) as quantidade from sei.infra_navegador WHERE dth_acesso > date '%s' AND dth_acesso < date '%s' group by to_char(dth_acesso, 'YYYY') AS ano, to_char(dth_acesso, 'MM') AS mes, identificacao as nome, versao order by to_char(dth_acesso, 'YYYY') AS ano, to_char(dth_acesso, 'MM') AS mes, identificacao as nome, versao"; | |
| 509 | + // $query = "SELECT to_char(dth_acesso, 'YYYY') AS ano, to_char(dth_acesso, 'MM') AS mes, recurso, count(*) as quantidade FROM sei.infra_auditoria WHERE dth_acesso > date '%s' AND dth_acesso < date '%s' GROUP BY to_char(dth_acesso, 'YYYY'), to_char(dth_acesso, 'MM'), recurso"; | |
| 510 | + } | |
| 497 | 511 | $lista = array(); |
| 498 | - foreach ($rs as $r) { | |
| 499 | - $result = array( | |
| 500 | - 'nome' => utf8_encode($r['nome']), | |
| 501 | - 'quantidade' => $r['quantidade'], | |
| 502 | - 'versao' => $r['versao'] | |
| 503 | - ); | |
| 504 | - array_push($lista, $result); | |
| 512 | + if ($query) { | |
| 513 | + $query = sprintf($query, $ultimadata, $current_month); | |
| 514 | + echo $query; | |
| 515 | + $rs = BancoSEI::getInstance()->consultarSql($query); | |
| 516 | + foreach ($rs as $r) { | |
| 517 | + $result = array( | |
| 518 | + 'nome' => utf8_encode($r['nome']), | |
| 519 | + 'quantidade' => $r['quantidade'], | |
| 520 | + 'versao' => $r['versao'], | |
| 521 | + 'ano' => $r['ano'], | |
| 522 | + 'mes' => $r['mes'], | |
| 523 | + ); | |
| 524 | + array_push($lista, $result); | |
| 525 | + } | |
| 526 | + | |
| 505 | 527 | } |
| 506 | 528 | return $lista; |
| 507 | 529 | } | ... | ... |
rn/MdEstatisticasEnviarRN.php
| ... | ... | @@ -34,6 +34,11 @@ class MdEstatisticasEnviarRN extends InfraRN |
| 34 | 34 | return date($data); |
| 35 | 35 | } |
| 36 | 36 | |
| 37 | + public function obterUltimoNavegador() { | |
| 38 | + $data = $this->doGet($this->url . '/navegadores/ultimo?sigla=' . $this->orgaoSigla, false); | |
| 39 | + return date($data); | |
| 40 | + } | |
| 41 | + | |
| 37 | 42 | public function enviarAcessos($acessos, $id) { |
| 38 | 43 | $url = $this->url . '/acessos'; |
| 39 | 44 | $obj = array( | ... | ... |