Commit 69909bbe2c43aad2b88eb458dc186772a2c1ec6a

Authored by Starlone Passos
1 parent b3f75861
Exists in master

Coletando navegadores por mes

rn/MdEstatisticasAgendamentoRN.php
@@ -21,7 +21,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN @@ -21,7 +21,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN
21 21
22 $this->gravarLog('Autenticar no WebService'); 22 $this->gravarLog('Autenticar no WebService');
23 if (!$enviar->autenticar()) { 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 $this->gravarLog('Autenticado. Coletando indicadores'); 27 $this->gravarLog('Autenticado. Coletando indicadores');
@@ -41,7 +41,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN @@ -41,7 +41,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN
41 41
42 $this->gravarLog('Indicadores recebidos. Coletar indicadores do tipo lista'); 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 $data = $enviar->obterUltimoAcesso(); 45 $data = $enviar->obterUltimoAcesso();
46 $this->gravarLog('Ultima data das quantidades de acessos: ' . $data . '. Coletar quantidade de acessos'); 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,13 +54,16 @@ class MdEstatisticasAgendamentoRN extends InfraRN
54 $this->gravarLog('Coletado. Enviar: '); 54 $this->gravarLog('Coletado. Enviar: ');
55 $enviar->enviarVelocidades($velocidades, $id); 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 $sistemasOperacionaisUsuarios = $coletor->obterSistemasOperacionaisUsuarios(); 58 $sistemasOperacionaisUsuarios = $coletor->obterSistemasOperacionaisUsuarios();
59 $this->gravarLog('Coletado. Enviar: '); 59 $this->gravarLog('Coletado. Enviar: ');
60 $enviar->enviarSistemasUsuarios($sistemasOperacionaisUsuarios, $id); 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 $this->gravarLog('Coletado. Enviar: '); 67 $this->gravarLog('Coletado. Enviar: ');
65 $enviar->enviarNavegadores($navegadores, $id); 68 $enviar->enviarNavegadores($navegadores, $id);
66 69
@@ -90,7 +93,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN @@ -90,7 +93,7 @@ class MdEstatisticasAgendamentoRN extends InfraRN
90 InfraDebug::getInstance()->setBolLigado(false); 93 InfraDebug::getInstance()->setBolLigado(false);
91 InfraDebug::getInstance()->setBolDebugInfra(false); 94 InfraDebug::getInstance()->setBolDebugInfra(false);
92 InfraDebug::getInstance()->setBolEcho(false); 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,17 +491,39 @@ class MdEstatisticasColetarRN extends InfraRN
491 return $sistemas; 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 $lista = array(); 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 return $lista; 528 return $lista;
507 } 529 }
rn/MdEstatisticasEnviarRN.php
@@ -34,6 +34,11 @@ class MdEstatisticasEnviarRN extends InfraRN @@ -34,6 +34,11 @@ class MdEstatisticasEnviarRN extends InfraRN
34 return date($data); 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 public function enviarAcessos($acessos, $id) { 42 public function enviarAcessos($acessos, $id) {
38 $url = $this->url . '/acessos'; 43 $url = $this->url . '/acessos';
39 $obj = array( 44 $obj = array(