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 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(
... ...